| ... | @@ -148,8 +148,11 @@ const Owner = union(enum) { | ... | @@ -148,8 +148,11 @@ const Owner = union(enum) { |
| 148 | } | 148 | } |
| 149 | }; | 149 | }; |
| 150 | | 150 | |
| 151 | const MaskKind = enum(u1) { sign, all }; | 151 | const MaskInfo = packed struct { |
| 152 | const MaskInfo = packed struct { kind: MaskKind, inverted: bool = false, scalar: Memory.Size }; | 152 | kind: enum(u1) { sign, all }, |
| | 153 | inverted: bool = false, |
| | 154 | scalar: Memory.Size, |
| | 155 | }; |
| 153 | | 156 | |
| 154 | pub const MCValue = union(enum) { | 157 | pub const MCValue = union(enum) { |
| 155 | /// No runtime bits. `void` types, empty structs, u0, enums with 1 tag, etc. | 158 | /// No runtime bits. `void` types, empty structs, u0, enums with 1 tag, etc. |
| ... | @@ -2386,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2386,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2386 | } | 2389 | } |
| 2387 | | 2390 | |
| 2388 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | 2391 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2389 | @setEvalBranchQuota(20_200); | 2392 | @setEvalBranchQuota(28_600); |
| 2390 | const pt = cg.pt; | 2393 | const pt = cg.pt; |
| 2391 | const zcu = pt.zcu; | 2394 | const zcu = pt.zcu; |
| 2392 | const ip = &zcu.intern_pool; | 2395 | const ip = &zcu.intern_pool; |
| ... | @@ -2424,8 +2427,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2424,8 +2427,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2424 | // zig fmt: off | 2427 | // zig fmt: off |
| 2425 | .select => try cg.airSelect(inst), | 2428 | .select => try cg.airSelect(inst), |
| 2426 | .shuffle => try cg.airShuffle(inst), | 2429 | .shuffle => try cg.airShuffle(inst), |
| 2427 | .reduce => try cg.airReduce(inst), | | |
| 2428 | .reduce_optimized => try cg.airReduce(inst), | | |
| 2429 | // zig fmt: on | 2430 | // zig fmt: on |
| 2430 | | 2431 | |
| 2431 | .arg => if (cg.debug_output != .none) { | 2432 | .arg => if (cg.debug_output != .none) { |
| ... | @@ -4326,10 +4327,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -4326,10 +4327,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4326 | else => unreachable, | 4327 | else => unreachable, |
| 4327 | .add, .add_optimized => {}, | 4328 | .add, .add_optimized => {}, |
| 4328 | .add_wrap => res[0].wrapInt(cg) catch |err| switch (err) { | 4329 | .add_wrap => res[0].wrapInt(cg) catch |err| switch (err) { |
| 4329 | error.SelectFailed => return cg.fail("failed to select wrap {} {} {}", .{ | 4330 | error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{ |
| | 4331 | @tagName(air_tag), |
| 4330 | cg.typeOf(bin_op.lhs).fmt(pt), | 4332 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 4331 | ops[0].tracking(cg), | 4333 | res[0].tracking(cg), |
| 4332 | ops[1].tracking(cg), | | |
| 4333 | }), | 4334 | }), |
| 4334 | else => |e| return e, | 4335 | else => |e| return e, |
| 4335 | }, | 4336 | }, |
| ... | @@ -14775,10 +14776,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -14775,10 +14776,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14775 | else => unreachable, | 14776 | else => unreachable, |
| 14776 | .sub, .sub_optimized => {}, | 14777 | .sub, .sub_optimized => {}, |
| 14777 | .sub_wrap => res[0].wrapInt(cg) catch |err| switch (err) { | 14778 | .sub_wrap => res[0].wrapInt(cg) catch |err| switch (err) { |
| 14778 | error.SelectFailed => return cg.fail("failed to select wrap {} {} {}", .{ | 14779 | error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{ |
| | 14780 | @tagName(air_tag), |
| 14779 | cg.typeOf(bin_op.lhs).fmt(pt), | 14781 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 14780 | ops[0].tracking(cg), | 14782 | res[0].tracking(cg), |
| 14781 | ops[1].tracking(cg), | | |
| 14782 | }), | 14783 | }), |
| 14783 | else => |e| return e, | 14784 | else => |e| return e, |
| 14784 | }, | 14785 | }, |
| ... | @@ -26977,10 +26978,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -26977,10 +26978,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26977 | else => |e| return e, | 26978 | else => |e| return e, |
| 26978 | }; | 26979 | }; |
| 26979 | res[0].wrapInt(cg) catch |err| switch (err) { | 26980 | res[0].wrapInt(cg) catch |err| switch (err) { |
| 26980 | error.SelectFailed => return cg.fail("failed to select wrap {} {} {}", .{ | 26981 | error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{ |
| | 26982 | @tagName(air_tag), |
| 26981 | cg.typeOf(bin_op.lhs).fmt(pt), | 26983 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 26982 | ops[0].tracking(cg), | 26984 | res[0].tracking(cg), |
| 26983 | ops[1].tracking(cg), | | |
| 26984 | }), | 26985 | }), |
| 26985 | else => |e| return e, | 26986 | else => |e| return e, |
| 26986 | }; | 26987 | }; |
| ... | @@ -58662,11 +58663,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -58662,11 +58663,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 58662 | switch (air_tag) { | 58663 | switch (air_tag) { |
| 58663 | else => unreachable, | 58664 | else => unreachable, |
| 58664 | .shl => res[0].wrapInt(cg) catch |err| switch (err) { | 58665 | .shl => res[0].wrapInt(cg) catch |err| switch (err) { |
| 58665 | error.SelectFailed => return cg.fail("failed to select wrap {} {} {} {}", .{ | 58666 | error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{ |
| | 58667 | @tagName(air_tag), |
| 58666 | cg.typeOf(bin_op.lhs).fmt(pt), | 58668 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 58667 | cg.typeOf(bin_op.rhs).fmt(pt), | 58669 | res[0].tracking(cg), |
| 58668 | ops[0].tracking(cg), | | |
| 58669 | ops[1].tracking(cg), | | |
| 58670 | }), | 58670 | }), |
| 58671 | else => |e| return e, | 58671 | else => |e| return e, |
| 58672 | }, | 58672 | }, |
| ... | @@ -58839,10 +58839,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -58839,10 +58839,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 58839 | else => |e| return e, | 58839 | else => |e| return e, |
| 58840 | }, | 58840 | }, |
| 58841 | } | 58841 | } |
| 58842 | if (ops[1].index != res[0].index) { | 58842 | if (ops[1].index != res[0].index) try ops[1].die(cg); |
| 58843 | try ops[1].die(cg); | 58843 | ops[1] = res[0]; |
| 58844 | ops[1] = res[0]; | | |
| 58845 | } else cg.temp_type[@intFromEnum(res[0].unwrap(cg).temp)] = .i32; | | |
| 58846 | cg.select(&res, &.{lhs_ty}, &ops, comptime &.{ .{ | 58844 | cg.select(&res, &.{lhs_ty}, &ops, comptime &.{ .{ |
| 58847 | .required_features = .{ .cmov, null, null, null }, | 58845 | .required_features = .{ .cmov, null, null, null }, |
| 58848 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .exact_signed_int = 32 }, .any }, | 58846 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .exact_signed_int = 32 }, .any }, |
| ... | @@ -63335,20 +63333,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -63335,20 +63333,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 63335 | .bitcast => try cg.airBitCast(inst), | 63333 | .bitcast => try cg.airBitCast(inst), |
| 63336 | .block => { | 63334 | .block => { |
| 63337 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 63335 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 63338 | const extra = cg.air.extraData(Air.Block, ty_pl.payload); | 63336 | const block = cg.air.extraData(Air.Block, ty_pl.payload); |
| 63339 | if (cg.debug_output != .none) try cg.asmPseudo(.pseudo_dbg_enter_block_none); | 63337 | if (cg.debug_output != .none) try cg.asmPseudo(.pseudo_dbg_enter_block_none); |
| 63340 | try cg.lowerBlock(inst, @ptrCast(cg.air.extra[extra.end..][0..extra.data.body_len])); | 63338 | try cg.lowerBlock(inst, @ptrCast(cg.air.extra[block.end..][0..block.data.body_len])); |
| 63341 | if (cg.debug_output != .none) try cg.asmPseudo(.pseudo_dbg_leave_block_none); | 63339 | if (cg.debug_output != .none) try cg.asmPseudo(.pseudo_dbg_leave_block_none); |
| 63342 | }, | 63340 | }, |
| 63343 | .loop => if (use_old) try cg.airLoop(inst) else { | 63341 | .loop => if (use_old) try cg.airLoop(inst) else { |
| 63344 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 63342 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 63345 | const extra = cg.air.extraData(Air.Block, ty_pl.payload); | 63343 | const block = cg.air.extraData(Air.Block, ty_pl.payload); |
| 63346 | try cg.loops.putNoClobber(cg.gpa, inst, .{ | 63344 | try cg.loops.putNoClobber(cg.gpa, inst, .{ |
| 63347 | .state = try cg.saveState(), | 63345 | .state = try cg.saveState(), |
| 63348 | .target = @intCast(cg.mir_instructions.len), | 63346 | .target = @intCast(cg.mir_instructions.len), |
| 63349 | }); | 63347 | }); |
| 63350 | defer assert(cg.loops.remove(inst)); | 63348 | defer assert(cg.loops.remove(inst)); |
| 63351 | try cg.genBodyBlock(@ptrCast(cg.air.extra[extra.end..][0..extra.data.body_len])); | 63349 | try cg.genBodyBlock(@ptrCast(cg.air.extra[block.end..][0..block.data.body_len])); |
| 63352 | }, | 63350 | }, |
| 63353 | .repeat => if (use_old) try cg.airRepeat(inst) else { | 63351 | .repeat => if (use_old) try cg.airRepeat(inst) else { |
| 63354 | const repeat = air_datas[@intFromEnum(inst)].repeat; | 63352 | const repeat = air_datas[@intFromEnum(inst)].repeat; |
| ... | @@ -67796,7 +67794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67796,7 +67794,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67796 | .clobbers = .{ .eflags = true }, | 67794 | .clobbers = .{ .eflags = true }, |
| 67797 | .each = .{ .once = &.{ | 67795 | .each = .{ .once = &.{ |
| 67798 | .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ }, | 67796 | .{ ._, ._, .xor, .dst0d, .dst0d, ._, ._ }, |
| 67799 | .{ ._, ._, .movbe, .dst0w, .src0w, ._, ._ }, | 67797 | .{ ._, ._be, .mov, .dst0w, .src0w, ._, ._ }, |
| 67800 | } }, | 67798 | } }, |
| 67801 | }, .{ | 67799 | }, .{ |
| 67802 | .src_constraints = .{ .{ .exact_int = 16 }, .any, .any }, | 67800 | .src_constraints = .{ .{ .exact_int = 16 }, .any, .any }, |
| ... | @@ -67816,7 +67814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67816,7 +67814,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67816 | }, | 67814 | }, |
| 67817 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67815 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67818 | .each = .{ .once = &.{ | 67816 | .each = .{ .once = &.{ |
| 67819 | .{ ._, ._, .movbe, .dst0d, .src0d, ._, ._ }, | 67817 | .{ ._, ._be, .mov, .dst0d, .src0d, ._, ._ }, |
| 67820 | } }, | 67818 | } }, |
| 67821 | }, .{ | 67819 | }, .{ |
| 67822 | .src_constraints = .{ .{ .exact_int = 32 }, .any, .any }, | 67820 | .src_constraints = .{ .{ .exact_int = 32 }, .any, .any }, |
| ... | @@ -67825,7 +67823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67825,7 +67823,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67825 | }, | 67823 | }, |
| 67826 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67824 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67827 | .each = .{ .once = &.{ | 67825 | .each = .{ .once = &.{ |
| 67828 | .{ ._, ._, .bswap, .dst0d, ._, ._, ._ }, | 67826 | .{ ._, .b_, .swap, .dst0d, ._, ._, ._ }, |
| 67829 | } }, | 67827 | } }, |
| 67830 | }, .{ | 67828 | }, .{ |
| 67831 | .required_features = .{ .movbe, null, null, null }, | 67829 | .required_features = .{ .movbe, null, null, null }, |
| ... | @@ -67836,7 +67834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67836,7 +67834,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67836 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67834 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67837 | .clobbers = .{ .eflags = true }, | 67835 | .clobbers = .{ .eflags = true }, |
| 67838 | .each = .{ .once = &.{ | 67836 | .each = .{ .once = &.{ |
| 67839 | .{ ._, ._, .movbe, .dst0d, .src0d, ._, ._ }, | 67837 | .{ ._, ._be, .mov, .dst0d, .src0d, ._, ._ }, |
| 67840 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, | 67838 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| 67841 | } }, | 67839 | } }, |
| 67842 | }, .{ | 67840 | }, .{ |
| ... | @@ -67847,7 +67845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67847,7 +67845,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67847 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67845 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67848 | .clobbers = .{ .eflags = true }, | 67846 | .clobbers = .{ .eflags = true }, |
| 67849 | .each = .{ .once = &.{ | 67847 | .each = .{ .once = &.{ |
| 67850 | .{ ._, ._, .bswap, .dst0d, ._, ._, ._ }, | 67848 | .{ ._, .b_, .swap, .dst0d, ._, ._, ._ }, |
| 67851 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, | 67849 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| 67852 | } }, | 67850 | } }, |
| 67853 | }, .{ | 67851 | }, .{ |
| ... | @@ -67859,7 +67857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67859,7 +67857,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67859 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67857 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67860 | .clobbers = .{ .eflags = true }, | 67858 | .clobbers = .{ .eflags = true }, |
| 67861 | .each = .{ .once = &.{ | 67859 | .each = .{ .once = &.{ |
| 67862 | .{ ._, ._, .movbe, .dst0d, .src0d, ._, ._ }, | 67860 | .{ ._, ._be, .mov, .dst0d, .src0d, ._, ._ }, |
| 67863 | .{ ._, ._r, .sh, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, | 67861 | .{ ._, ._r, .sh, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| 67864 | } }, | 67862 | } }, |
| 67865 | }, .{ | 67863 | }, .{ |
| ... | @@ -67870,7 +67868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67870,7 +67868,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67870 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67868 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67871 | .clobbers = .{ .eflags = true }, | 67869 | .clobbers = .{ .eflags = true }, |
| 67872 | .each = .{ .once = &.{ | 67870 | .each = .{ .once = &.{ |
| 67873 | .{ ._, ._, .bswap, .dst0d, ._, ._, ._ }, | 67871 | .{ ._, .b_, .swap, .dst0d, ._, ._, ._ }, |
| 67874 | .{ ._, ._r, .sh, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, | 67872 | .{ ._, ._r, .sh, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| 67875 | } }, | 67873 | } }, |
| 67876 | }, .{ | 67874 | }, .{ |
| ... | @@ -67881,7 +67879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67881,7 +67879,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67881 | }, | 67879 | }, |
| 67882 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67880 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67883 | .each = .{ .once = &.{ | 67881 | .each = .{ .once = &.{ |
| 67884 | .{ ._, ._, .movbe, .dst0q, .src0q, ._, ._ }, | 67882 | .{ ._, ._be, .mov, .dst0q, .src0q, ._, ._ }, |
| 67885 | } }, | 67883 | } }, |
| 67886 | }, .{ | 67884 | }, .{ |
| 67887 | .src_constraints = .{ .{ .exact_int = 64 }, .any, .any }, | 67885 | .src_constraints = .{ .{ .exact_int = 64 }, .any, .any }, |
| ... | @@ -67890,7 +67888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67890,7 +67888,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67890 | }, | 67888 | }, |
| 67891 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67889 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67892 | .each = .{ .once = &.{ | 67890 | .each = .{ .once = &.{ |
| 67893 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 67891 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 67894 | } }, | 67892 | } }, |
| 67895 | }, .{ | 67893 | }, .{ |
| 67896 | .required_features = .{ .movbe, null, null, null }, | 67894 | .required_features = .{ .movbe, null, null, null }, |
| ... | @@ -67901,7 +67899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67901,7 +67899,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67901 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67899 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67902 | .clobbers = .{ .eflags = true }, | 67900 | .clobbers = .{ .eflags = true }, |
| 67903 | .each = .{ .once = &.{ | 67901 | .each = .{ .once = &.{ |
| 67904 | .{ ._, ._, .movbe, .dst0q, .src0q, ._, ._ }, | 67902 | .{ ._, ._be, .mov, .dst0q, .src0q, ._, ._ }, |
| 67905 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, | 67903 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| 67906 | } }, | 67904 | } }, |
| 67907 | }, .{ | 67905 | }, .{ |
| ... | @@ -67912,7 +67910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67912,7 +67910,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67912 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67910 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67913 | .clobbers = .{ .eflags = true }, | 67911 | .clobbers = .{ .eflags = true }, |
| 67914 | .each = .{ .once = &.{ | 67912 | .each = .{ .once = &.{ |
| 67915 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 67913 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 67916 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, | 67914 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| 67917 | } }, | 67915 | } }, |
| 67918 | }, .{ | 67916 | }, .{ |
| ... | @@ -67924,7 +67922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67924,7 +67922,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67924 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 67922 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 67925 | .clobbers = .{ .eflags = true }, | 67923 | .clobbers = .{ .eflags = true }, |
| 67926 | .each = .{ .once = &.{ | 67924 | .each = .{ .once = &.{ |
| 67927 | .{ ._, ._, .movbe, .dst0q, .src0q, ._, ._ }, | 67925 | .{ ._, ._be, .mov, .dst0q, .src0q, ._, ._ }, |
| 67928 | .{ ._, ._r, .sh, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, | 67926 | .{ ._, ._r, .sh, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| 67929 | } }, | 67927 | } }, |
| 67930 | }, .{ | 67928 | }, .{ |
| ... | @@ -67935,7 +67933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67935,7 +67933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67935 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 67933 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 67936 | .clobbers = .{ .eflags = true }, | 67934 | .clobbers = .{ .eflags = true }, |
| 67937 | .each = .{ .once = &.{ | 67935 | .each = .{ .once = &.{ |
| 67938 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 67936 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 67939 | .{ ._, ._r, .sh, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, | 67937 | .{ ._, ._r, .sh, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| 67940 | } }, | 67938 | } }, |
| 67941 | }, .{ | 67939 | }, .{ |
| ... | @@ -67963,7 +67961,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67963,7 +67961,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67963 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, | 67961 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 67964 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 67962 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 67965 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 67963 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 67966 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 67964 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 67967 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 67965 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 67968 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 67966 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 67969 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 67967 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -67993,7 +67991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -67993,7 +67991,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 67993 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, | 67991 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 67994 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 67992 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 67995 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 67993 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 67996 | .{ ._, ._, .bswap, .tmp2q, ._, ._, ._ }, | 67994 | .{ ._, .b_, .swap, .tmp2q, ._, ._, ._ }, |
| 67997 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 67995 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 67998 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 67996 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 67999 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 67997 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -68027,7 +68025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68027,7 +68025,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68027 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68025 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68028 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68026 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68029 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 68027 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 68030 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 68028 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 68031 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 68029 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 68032 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 68030 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 68033 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 68031 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -68060,7 +68058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68060,7 +68058,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68060 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68058 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68061 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68059 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68062 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 68060 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 68063 | .{ ._, ._, .bswap, .tmp2q, ._, ._, ._ }, | 68061 | .{ ._, .b_, .swap, .tmp2q, ._, ._, ._ }, |
| 68064 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 68062 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 68065 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 68063 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 68066 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 68064 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -68092,7 +68090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68092,7 +68090,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68092 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68090 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68093 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ }, | 68091 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ }, |
| 68094 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 68092 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 68095 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 68093 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 68096 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 68094 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 68097 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 68095 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 68098 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 68096 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -68123,7 +68121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68123,7 +68121,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68123 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68121 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68124 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ }, | 68122 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .si(0), ._, ._ }, |
| 68125 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, | 68123 | .{ .@"0:", ._, .mov, .tmp2q, .lea(.tmp1q), ._, ._ }, |
| 68126 | .{ ._, ._, .bswap, .tmp2q, ._, ._, ._ }, | 68124 | .{ ._, .b_, .swap, .tmp2q, ._, ._, ._ }, |
| 68127 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, | 68125 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp2q, ._, ._ }, |
| 68128 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 68126 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 68129 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 68127 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -68156,7 +68154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68156,7 +68154,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68156 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, | 68154 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, |
| 68157 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68155 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68158 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68156 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68159 | .{ .@"0:", ._, .movbe, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68157 | .{ .@"0:", ._be, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68160 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68158 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68161 | .{ ._, ._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), ._ }, |
| 68162 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68160 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68193,7 +68191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68193,7 +68191,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68193 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68191 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68194 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68192 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68195 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68193 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68196 | .{ ._, ._, .bswap, .tmp3q, ._, ._, ._ }, | 68194 | .{ ._, .b_, .swap, .tmp3q, ._, ._, ._ }, |
| 68197 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68195 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68198 | .{ ._, ._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), ._ }, |
| 68199 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68197 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68228,7 +68226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68228,7 +68226,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68228 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68226 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68229 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, | 68227 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 68230 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68228 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68231 | .{ .@"0:", ._, .movbe, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68229 | .{ .@"0:", ._be, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68232 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68230 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68233 | .{ ._, ._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), ._ }, |
| 68234 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68232 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68264,7 +68262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68264,7 +68262,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68264 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, | 68262 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 68265 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, | 68263 | .{ ._, ._, .mov, .memad(.dst0q, .add_size, -8), .tmp2q, ._, ._ }, |
| 68266 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68264 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68267 | .{ ._, ._, .bswap, .tmp3q, ._, ._, ._ }, | 68265 | .{ ._, .b_, .swap, .tmp3q, ._, ._, ._ }, |
| 68268 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68266 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68269 | .{ ._, ._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), ._ }, |
| 68270 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68268 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68299,7 +68297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68299,7 +68297,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68299 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68297 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68300 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, | 68298 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, |
| 68301 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68299 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68302 | .{ .@"0:", ._, .movbe, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68300 | .{ .@"0:", ._be, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68303 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68301 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68304 | .{ ._, ._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), ._ }, |
| 68305 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68303 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68335,7 +68333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68335,7 +68333,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68335 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, | 68333 | .{ ._, ._, .movsx, .tmp2q, .mem(.src0b), ._, ._ }, |
| 68336 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, | 68334 | .{ ._, ._r, .sa, .tmp2q, .ui(63), ._, ._ }, |
| 68337 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68335 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68338 | .{ ._, ._, .bswap, .tmp3q, ._, ._, ._ }, | 68336 | .{ ._, .b_, .swap, .tmp3q, ._, ._, ._ }, |
| 68339 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68337 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68340 | .{ ._, ._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), ._ }, |
| 68341 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68339 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68369,7 +68367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68369,7 +68367,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68369 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, | 68367 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| 68370 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68368 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68371 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, | 68369 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 68372 | .{ .@"0:", ._, .movbe, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68370 | .{ .@"0:", ._be, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68373 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68371 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68374 | .{ ._, ._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), ._ }, |
| 68375 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68373 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68404,7 +68402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68404,7 +68402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68404 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | 68402 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, |
| 68405 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, | 68403 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| 68406 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, | 68404 | .{ .@"0:", ._, .mov, .tmp3q, .lea(.tmp1q), ._, ._ }, |
| 68407 | .{ ._, ._, .bswap, .tmp3q, ._, ._, ._ }, | 68405 | .{ ._, .b_, .swap, .tmp3q, ._, ._, ._ }, |
| 68408 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, | 68406 | .{ ._, ._, .mov, .tmp4q, .tmp3q, ._, ._ }, |
| 68409 | .{ ._, ._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), ._ }, |
| 68410 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, | 68408 | .{ ._, ._, .mov, .tmp2q, .tmp4q, ._, ._ }, |
| ... | @@ -68443,7 +68441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68443,7 +68441,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68443 | .{ .src = .{ .to_sse, .none, .none } }, | 68441 | .{ .src = .{ .to_sse, .none, .none } }, |
| 68444 | }, | 68442 | }, |
| 68445 | .extra_temps = .{ | 68443 | .extra_temps = .{ |
| 68446 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 68444 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 68447 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 68445 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 68448 | .unused, | 68446 | .unused, |
| 68449 | .unused, | 68447 | .unused, |
| ... | @@ -68467,7 +68465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68467,7 +68465,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68467 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 68465 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 68468 | }, | 68466 | }, |
| 68469 | .extra_temps = .{ | 68467 | .extra_temps = .{ |
| 68470 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 68468 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 68471 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 68469 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 68472 | .unused, | 68470 | .unused, |
| 68473 | .unused, | 68471 | .unused, |
| ... | @@ -68491,7 +68489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68491,7 +68489,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68491 | .{ .src = .{ .to_sse, .none, .none } }, | 68489 | .{ .src = .{ .to_sse, .none, .none } }, |
| 68492 | }, | 68490 | }, |
| 68493 | .extra_temps = .{ | 68491 | .extra_temps = .{ |
| 68494 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68492 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68495 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 68493 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 68496 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68494 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68497 | .unused, | 68495 | .unused, |
| ... | @@ -68519,7 +68517,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68519,7 +68517,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68519 | .{ .src = .{ .to_sse, .none, .none } }, | 68517 | .{ .src = .{ .to_sse, .none, .none } }, |
| 68520 | }, | 68518 | }, |
| 68521 | .extra_temps = .{ | 68519 | .extra_temps = .{ |
| 68522 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68520 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68523 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 68521 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 68524 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68522 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68525 | .unused, | 68523 | .unused, |
| ... | @@ -68548,7 +68546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68548,7 +68546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68548 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 68546 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 68549 | }, | 68547 | }, |
| 68550 | .extra_temps = .{ | 68548 | .extra_temps = .{ |
| 68551 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68549 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68552 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68550 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68553 | .unused, | 68551 | .unused, |
| 68554 | .unused, | 68552 | .unused, |
| ... | @@ -68577,7 +68575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68577,7 +68575,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68577 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 68575 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 68578 | }, | 68576 | }, |
| 68579 | .extra_temps = .{ | 68577 | .extra_temps = .{ |
| 68580 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68578 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68581 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68579 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68582 | .unused, | 68580 | .unused, |
| 68583 | .unused, | 68581 | .unused, |
| ... | @@ -68644,7 +68642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68644,7 +68642,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68644 | .{ .src = .{ .to_sse, .none, .none } }, | 68642 | .{ .src = .{ .to_sse, .none, .none } }, |
| 68645 | }, | 68643 | }, |
| 68646 | .extra_temps = .{ | 68644 | .extra_temps = .{ |
| 68647 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 68645 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 68648 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 68646 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 68649 | .unused, | 68647 | .unused, |
| 68650 | .unused, | 68648 | .unused, |
| ... | @@ -68670,7 +68668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68670,7 +68668,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68670 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 68668 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 68671 | }, | 68669 | }, |
| 68672 | .extra_temps = .{ | 68670 | .extra_temps = .{ |
| 68673 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 68671 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 68674 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 68672 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 68675 | .unused, | 68673 | .unused, |
| 68676 | .unused, | 68674 | .unused, |
| ... | @@ -68696,7 +68694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68696,7 +68694,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68696 | .{ .src = .{ .to_sse, .none, .none } }, | 68694 | .{ .src = .{ .to_sse, .none, .none } }, |
| 68697 | }, | 68695 | }, |
| 68698 | .extra_temps = .{ | 68696 | .extra_temps = .{ |
| 68699 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68697 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68700 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 68698 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 68701 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68699 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68702 | .unused, | 68700 | .unused, |
| ... | @@ -68726,7 +68724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68726,7 +68724,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68726 | .{ .src = .{ .to_sse, .none, .none } }, | 68724 | .{ .src = .{ .to_sse, .none, .none } }, |
| 68727 | }, | 68725 | }, |
| 68728 | .extra_temps = .{ | 68726 | .extra_temps = .{ |
| 68729 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68727 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68730 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 68728 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 68731 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68729 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68732 | .unused, | 68730 | .unused, |
| ... | @@ -68757,7 +68755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68757,7 +68755,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68757 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 68755 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 68758 | }, | 68756 | }, |
| 68759 | .extra_temps = .{ | 68757 | .extra_temps = .{ |
| 68760 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68758 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68761 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68759 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68762 | .unused, | 68760 | .unused, |
| 68763 | .unused, | 68761 | .unused, |
| ... | @@ -68788,7 +68786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68788,7 +68786,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68788 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 68786 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 68789 | }, | 68787 | }, |
| 68790 | .extra_temps = .{ | 68788 | .extra_temps = .{ |
| 68791 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68789 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68792 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68790 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68793 | .unused, | 68791 | .unused, |
| 68794 | .unused, | 68792 | .unused, |
| ... | @@ -68858,7 +68856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68858,7 +68856,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68858 | .{ .src = .{ .to_sse, .none, .none } }, | 68856 | .{ .src = .{ .to_sse, .none, .none } }, |
| 68859 | }, | 68857 | }, |
| 68860 | .extra_temps = .{ | 68858 | .extra_temps = .{ |
| 68861 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 68859 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 68862 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 68860 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 68863 | .unused, | 68861 | .unused, |
| 68864 | .unused, | 68862 | .unused, |
| ... | @@ -68884,7 +68882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68884,7 +68882,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68884 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 68882 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 68885 | }, | 68883 | }, |
| 68886 | .extra_temps = .{ | 68884 | .extra_temps = .{ |
| 68887 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 68885 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 68888 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 68886 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 68889 | .unused, | 68887 | .unused, |
| 68890 | .unused, | 68888 | .unused, |
| ... | @@ -68910,7 +68908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68910,7 +68908,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68910 | .{ .src = .{ .to_sse, .none, .none } }, | 68908 | .{ .src = .{ .to_sse, .none, .none } }, |
| 68911 | }, | 68909 | }, |
| 68912 | .extra_temps = .{ | 68910 | .extra_temps = .{ |
| 68913 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68911 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68914 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 68912 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 68915 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68913 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68916 | .unused, | 68914 | .unused, |
| ... | @@ -68940,7 +68938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68940,7 +68938,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68940 | .{ .src = .{ .to_sse, .none, .none } }, | 68938 | .{ .src = .{ .to_sse, .none, .none } }, |
| 68941 | }, | 68939 | }, |
| 68942 | .extra_temps = .{ | 68940 | .extra_temps = .{ |
| 68943 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68941 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68944 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 68942 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 68945 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68943 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68946 | .unused, | 68944 | .unused, |
| ... | @@ -68971,7 +68969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -68971,7 +68969,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 68971 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 68969 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 68972 | }, | 68970 | }, |
| 68973 | .extra_temps = .{ | 68971 | .extra_temps = .{ |
| 68974 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 68972 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 68975 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 68973 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 68976 | .unused, | 68974 | .unused, |
| 68977 | .unused, | 68975 | .unused, |
| ... | @@ -69002,7 +69000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69002,7 +69000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69002 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69000 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69003 | }, | 69001 | }, |
| 69004 | .extra_temps = .{ | 69002 | .extra_temps = .{ |
| 69005 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 69003 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 69006 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 69004 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 69007 | .unused, | 69005 | .unused, |
| 69008 | .unused, | 69006 | .unused, |
| ... | @@ -69072,7 +69070,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69072,7 +69070,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69072 | .{ .src = .{ .to_sse, .none, .none } }, | 69070 | .{ .src = .{ .to_sse, .none, .none } }, |
| 69073 | }, | 69071 | }, |
| 69074 | .extra_temps = .{ | 69072 | .extra_temps = .{ |
| 69075 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69073 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69076 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 69074 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 69077 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69075 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69078 | .unused, | 69076 | .unused, |
| ... | @@ -69098,7 +69096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69098,7 +69096,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69098 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69096 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69099 | }, | 69097 | }, |
| 69100 | .extra_temps = .{ | 69098 | .extra_temps = .{ |
| 69101 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69099 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69102 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 69100 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 69103 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69101 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69104 | .unused, | 69102 | .unused, |
| ... | @@ -69124,7 +69122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69124,7 +69122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69124 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69122 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69125 | }, | 69123 | }, |
| 69126 | .extra_temps = .{ | 69124 | .extra_temps = .{ |
| 69127 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69125 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69128 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69126 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69129 | .unused, | 69127 | .unused, |
| 69130 | .unused, | 69128 | .unused, |
| ... | @@ -69151,7 +69149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69151,7 +69149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69151 | }, | 69149 | }, |
| 69152 | .extra_temps = .{ | 69150 | .extra_temps = .{ |
| 69153 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 69151 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 69154 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 69152 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 69155 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 69153 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 69156 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 69154 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 69157 | .unused, | 69155 | .unused, |
| ... | @@ -69180,7 +69178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69180,7 +69178,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69180 | }, | 69178 | }, |
| 69181 | .extra_temps = .{ | 69179 | .extra_temps = .{ |
| 69182 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 69180 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 69183 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 69181 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 69184 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 69182 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 69185 | .unused, | 69183 | .unused, |
| 69186 | .unused, | 69184 | .unused, |
| ... | @@ -69249,7 +69247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69249,7 +69247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69249 | .{ .src = .{ .to_sse, .none, .none } }, | 69247 | .{ .src = .{ .to_sse, .none, .none } }, |
| 69250 | }, | 69248 | }, |
| 69251 | .extra_temps = .{ | 69249 | .extra_temps = .{ |
| 69252 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69250 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69253 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 69251 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 69254 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69252 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69255 | .unused, | 69253 | .unused, |
| ... | @@ -69276,7 +69274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69276,7 +69274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69276 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69274 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69277 | }, | 69275 | }, |
| 69278 | .extra_temps = .{ | 69276 | .extra_temps = .{ |
| 69279 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69277 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69280 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 69278 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 69281 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69279 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69282 | .unused, | 69280 | .unused, |
| ... | @@ -69303,7 +69301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69303,7 +69301,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69303 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69301 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69304 | }, | 69302 | }, |
| 69305 | .extra_temps = .{ | 69303 | .extra_temps = .{ |
| 69306 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69304 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69307 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69305 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69308 | .unused, | 69306 | .unused, |
| 69309 | .unused, | 69307 | .unused, |
| ... | @@ -69331,7 +69329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69331,7 +69329,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69331 | }, | 69329 | }, |
| 69332 | .extra_temps = .{ | 69330 | .extra_temps = .{ |
| 69333 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 69331 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 69334 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 69332 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 69335 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 69333 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 69336 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 69334 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 69337 | .unused, | 69335 | .unused, |
| ... | @@ -69362,7 +69360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69362,7 +69360,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69362 | }, | 69360 | }, |
| 69363 | .extra_temps = .{ | 69361 | .extra_temps = .{ |
| 69364 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 69362 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 69365 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 69363 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 69366 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 69364 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 69367 | .unused, | 69365 | .unused, |
| 69368 | .unused, | 69366 | .unused, |
| ... | @@ -69434,7 +69432,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69434,7 +69432,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69434 | .{ .src = .{ .to_sse, .none, .none } }, | 69432 | .{ .src = .{ .to_sse, .none, .none } }, |
| 69435 | }, | 69433 | }, |
| 69436 | .extra_temps = .{ | 69434 | .extra_temps = .{ |
| 69437 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69435 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69438 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 69436 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 69439 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69437 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69440 | .unused, | 69438 | .unused, |
| ... | @@ -69461,7 +69459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69461,7 +69459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69461 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69459 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69462 | }, | 69460 | }, |
| 69463 | .extra_temps = .{ | 69461 | .extra_temps = .{ |
| 69464 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69462 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69465 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, | 69463 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word } } }, |
| 69466 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69464 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69467 | .unused, | 69465 | .unused, |
| ... | @@ -69488,7 +69486,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69488,7 +69486,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69488 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69486 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69489 | }, | 69487 | }, |
| 69490 | .extra_temps = .{ | 69488 | .extra_temps = .{ |
| 69491 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69489 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69492 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69490 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69493 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 69491 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 69494 | .unused, | 69492 | .unused, |
| ... | @@ -69517,7 +69515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69517,7 +69515,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69517 | }, | 69515 | }, |
| 69518 | .extra_temps = .{ | 69516 | .extra_temps = .{ |
| 69519 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 69517 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 69520 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 69518 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 69521 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 69519 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 69522 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 69520 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 69523 | .unused, | 69521 | .unused, |
| ... | @@ -69548,7 +69546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69548,7 +69546,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69548 | }, | 69546 | }, |
| 69549 | .extra_temps = .{ | 69547 | .extra_temps = .{ |
| 69550 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, | 69548 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .word, .smear = 8 } } }, |
| 69551 | .{ .type = .vector_16_u8, .kind = .reverse_bits_mem }, | 69549 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .reverse } }, |
| 69552 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 69550 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 69553 | .unused, | 69551 | .unused, |
| 69554 | .unused, | 69552 | .unused, |
| ... | @@ -69620,7 +69618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69620,7 +69618,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69620 | .{ .src = .{ .to_sse, .none, .none } }, | 69618 | .{ .src = .{ .to_sse, .none, .none } }, |
| 69621 | }, | 69619 | }, |
| 69622 | .extra_temps = .{ | 69620 | .extra_temps = .{ |
| 69623 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69621 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69624 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 69622 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 69625 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69623 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69626 | .unused, | 69624 | .unused, |
| ... | @@ -69646,7 +69644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69646,7 +69644,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69646 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69644 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69647 | }, | 69645 | }, |
| 69648 | .extra_temps = .{ | 69646 | .extra_temps = .{ |
| 69649 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69647 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69650 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 69648 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 69651 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69649 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69652 | .unused, | 69650 | .unused, |
| ... | @@ -69672,7 +69670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69672,7 +69670,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69672 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69670 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69673 | }, | 69671 | }, |
| 69674 | .extra_temps = .{ | 69672 | .extra_temps = .{ |
| 69675 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69673 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69676 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69674 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69677 | .unused, | 69675 | .unused, |
| 69678 | .unused, | 69676 | .unused, |
| ... | @@ -69700,7 +69698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69700,7 +69698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69700 | }, | 69698 | }, |
| 69701 | .extra_temps = .{ | 69699 | .extra_temps = .{ |
| 69702 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, | 69700 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, |
| 69703 | .{ .type = .vector_32_u8, .kind = .reverse_bits_mem }, | 69701 | .{ .type = .vector_32_u8, .kind = .{ .bits_mem = .reverse } }, |
| 69704 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 69702 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 69705 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 69703 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 69706 | .unused, | 69704 | .unused, |
| ... | @@ -69743,7 +69741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69743,7 +69741,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69743 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 69741 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 69744 | .clobbers = .{ .eflags = true }, | 69742 | .clobbers = .{ .eflags = true }, |
| 69745 | .each = .{ .once = &.{ | 69743 | .each = .{ .once = &.{ |
| 69746 | .{ ._, ._, .bswap, .src0d, ._, ._, ._ }, | 69744 | .{ ._, .b_, .swap, .src0d, ._, ._, ._ }, |
| 69747 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, | 69745 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| 69748 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, | 69746 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, |
| 69749 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, | 69747 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, |
| ... | @@ -69770,7 +69768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69770,7 +69768,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69770 | .{ .src = .{ .to_sse, .none, .none } }, | 69768 | .{ .src = .{ .to_sse, .none, .none } }, |
| 69771 | }, | 69769 | }, |
| 69772 | .extra_temps = .{ | 69770 | .extra_temps = .{ |
| 69773 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69771 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69774 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 69772 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 69775 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69773 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69776 | .unused, | 69774 | .unused, |
| ... | @@ -69797,7 +69795,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69797,7 +69795,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69797 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69795 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69798 | }, | 69796 | }, |
| 69799 | .extra_temps = .{ | 69797 | .extra_temps = .{ |
| 69800 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69798 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69801 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 69799 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 69802 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69800 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69803 | .unused, | 69801 | .unused, |
| ... | @@ -69824,7 +69822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69824,7 +69822,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69824 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69822 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69825 | }, | 69823 | }, |
| 69826 | .extra_temps = .{ | 69824 | .extra_temps = .{ |
| 69827 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69825 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69828 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69826 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69829 | .unused, | 69827 | .unused, |
| 69830 | .unused, | 69828 | .unused, |
| ... | @@ -69853,7 +69851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69853,7 +69851,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69853 | }, | 69851 | }, |
| 69854 | .extra_temps = .{ | 69852 | .extra_temps = .{ |
| 69855 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, | 69853 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, |
| 69856 | .{ .type = .vector_32_u8, .kind = .reverse_bits_mem }, | 69854 | .{ .type = .vector_32_u8, .kind = .{ .bits_mem = .reverse } }, |
| 69857 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 69855 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 69858 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 69856 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 69859 | .unused, | 69857 | .unused, |
| ... | @@ -69898,7 +69896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69898,7 +69896,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69898 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 69896 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 69899 | .clobbers = .{ .eflags = true }, | 69897 | .clobbers = .{ .eflags = true }, |
| 69900 | .each = .{ .once = &.{ | 69898 | .each = .{ .once = &.{ |
| 69901 | .{ ._, ._, .bswap, .src0d, ._, ._, ._ }, | 69899 | .{ ._, .b_, .swap, .src0d, ._, ._, ._ }, |
| 69902 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, | 69900 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| 69903 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, | 69901 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, |
| 69904 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, | 69902 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, |
| ... | @@ -69926,7 +69924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69926,7 +69924,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69926 | .{ .src = .{ .to_sse, .none, .none } }, | 69924 | .{ .src = .{ .to_sse, .none, .none } }, |
| 69927 | }, | 69925 | }, |
| 69928 | .extra_temps = .{ | 69926 | .extra_temps = .{ |
| 69929 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69927 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69930 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 69928 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 69931 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69929 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69932 | .unused, | 69930 | .unused, |
| ... | @@ -69953,7 +69951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69953,7 +69951,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69953 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69951 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69954 | }, | 69952 | }, |
| 69955 | .extra_temps = .{ | 69953 | .extra_temps = .{ |
| 69956 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69954 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69957 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, | 69955 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword } } }, |
| 69958 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69956 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69959 | .unused, | 69957 | .unused, |
| ... | @@ -69980,7 +69978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -69980,7 +69978,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 69980 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 69978 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 69981 | }, | 69979 | }, |
| 69982 | .extra_temps = .{ | 69980 | .extra_temps = .{ |
| 69983 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 69981 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 69984 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 69982 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 69985 | .unused, | 69983 | .unused, |
| 69986 | .unused, | 69984 | .unused, |
| ... | @@ -70009,7 +70007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70009,7 +70007,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70009 | }, | 70007 | }, |
| 70010 | .extra_temps = .{ | 70008 | .extra_temps = .{ |
| 70011 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, | 70009 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .dword, .smear = 8 } } }, |
| 70012 | .{ .type = .vector_32_u8, .kind = .reverse_bits_mem }, | 70010 | .{ .type = .vector_32_u8, .kind = .{ .bits_mem = .reverse } }, |
| 70013 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 70011 | .{ .type = .vector_32_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 70014 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 70012 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 70015 | .unused, | 70013 | .unused, |
| ... | @@ -70054,7 +70052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70054,7 +70052,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70054 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 70052 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 70055 | .clobbers = .{ .eflags = true }, | 70053 | .clobbers = .{ .eflags = true }, |
| 70056 | .each = .{ .once = &.{ | 70054 | .each = .{ .once = &.{ |
| 70057 | .{ ._, ._, .bswap, .src0d, ._, ._, ._ }, | 70055 | .{ ._, .b_, .swap, .src0d, ._, ._, ._ }, |
| 70058 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, | 70056 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| 70059 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, | 70057 | .{ ._, ._r, .sh, .src0d, .ui(4), ._, ._ }, |
| 70060 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, | 70058 | .{ ._, ._l, .sh, .tmp0d, .ui(4), ._, ._ }, |
| ... | @@ -70082,7 +70080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70082,7 +70080,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70082 | .{ .src = .{ .to_sse, .none, .none } }, | 70080 | .{ .src = .{ .to_sse, .none, .none } }, |
| 70083 | }, | 70081 | }, |
| 70084 | .extra_temps = .{ | 70082 | .extra_temps = .{ |
| 70085 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70083 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70086 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, | 70084 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, |
| 70087 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70085 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70088 | .unused, | 70086 | .unused, |
| ... | @@ -70108,7 +70106,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70108,7 +70106,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70108 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 70106 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 70109 | }, | 70107 | }, |
| 70110 | .extra_temps = .{ | 70108 | .extra_temps = .{ |
| 70111 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70109 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70112 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, | 70110 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, |
| 70113 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70111 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70114 | .unused, | 70112 | .unused, |
| ... | @@ -70134,7 +70132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70134,7 +70132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70134 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 70132 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 70135 | }, | 70133 | }, |
| 70136 | .extra_temps = .{ | 70134 | .extra_temps = .{ |
| 70137 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70135 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70138 | .unused, | 70136 | .unused, |
| 70139 | .unused, | 70137 | .unused, |
| 70140 | .unused, | 70138 | .unused, |
| ... | @@ -70151,7 +70149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70151,7 +70149,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70151 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, | 70149 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, |
| 70152 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, | 70150 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, |
| 70153 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, | 70151 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, |
| 70154 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 70152 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 70155 | } }, | 70153 | } }, |
| 70156 | }, .{ | 70154 | }, .{ |
| 70157 | .required_features = .{ .@"64bit", null, null, null }, | 70155 | .required_features = .{ .@"64bit", null, null, null }, |
| ... | @@ -70175,7 +70173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70175,7 +70173,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70175 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 70173 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 70176 | .clobbers = .{ .eflags = true }, | 70174 | .clobbers = .{ .eflags = true }, |
| 70177 | .each = .{ .once = &.{ | 70175 | .each = .{ .once = &.{ |
| 70178 | .{ ._, ._, .bswap, .src0q, ._, ._, ._ }, | 70176 | .{ ._, .b_, .swap, .src0q, ._, ._, ._ }, |
| 70179 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, | 70177 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| 70180 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 70178 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 70181 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, | 70179 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| ... | @@ -70205,7 +70203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70205,7 +70203,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70205 | .{ .src = .{ .to_sse, .none, .none } }, | 70203 | .{ .src = .{ .to_sse, .none, .none } }, |
| 70206 | }, | 70204 | }, |
| 70207 | .extra_temps = .{ | 70205 | .extra_temps = .{ |
| 70208 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70206 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70209 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 70207 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| 70210 | .unused, | 70208 | .unused, |
| 70211 | .unused, | 70209 | .unused, |
| ... | @@ -70223,7 +70221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70223,7 +70221,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70223 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, | 70221 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, |
| 70224 | .{ ._, .v_b, .gf2p8affineq, .tmp1x, .src0x, .lea(.dst0x), .ui(0) }, | 70222 | .{ ._, .v_b, .gf2p8affineq, .tmp1x, .src0x, .lea(.dst0x), .ui(0) }, |
| 70225 | .{ ._, .v_q, .mov, .dst0q, .tmp1x, ._, ._ }, | 70223 | .{ ._, .v_q, .mov, .dst0q, .tmp1x, ._, ._ }, |
| 70226 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 70224 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 70227 | .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, | 70225 | .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, |
| 70228 | } }, | 70226 | } }, |
| 70229 | }, .{ | 70227 | }, .{ |
| ... | @@ -70233,7 +70231,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70233,7 +70231,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70233 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 70231 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 70234 | }, | 70232 | }, |
| 70235 | .extra_temps = .{ | 70233 | .extra_temps = .{ |
| 70236 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70234 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70237 | .unused, | 70235 | .unused, |
| 70238 | .unused, | 70236 | .unused, |
| 70239 | .unused, | 70237 | .unused, |
| ... | @@ -70251,7 +70249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70251,7 +70249,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70251 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, | 70249 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, |
| 70252 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, | 70250 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, |
| 70253 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, | 70251 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, |
| 70254 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 70252 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 70255 | .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, | 70253 | .{ ._, ._r, .sa, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, |
| 70256 | } }, | 70254 | } }, |
| 70257 | }, .{ | 70255 | }, .{ |
| ... | @@ -70276,7 +70274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70276,7 +70274,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70276 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 70274 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 70277 | .clobbers = .{ .eflags = true }, | 70275 | .clobbers = .{ .eflags = true }, |
| 70278 | .each = .{ .once = &.{ | 70276 | .each = .{ .once = &.{ |
| 70279 | .{ ._, ._, .bswap, .src0q, ._, ._, ._ }, | 70277 | .{ ._, .b_, .swap, .src0q, ._, ._, ._ }, |
| 70280 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, | 70278 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| 70281 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 70279 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 70282 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, | 70280 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| ... | @@ -70307,7 +70305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70307,7 +70305,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70307 | .{ .src = .{ .to_sse, .none, .none } }, | 70305 | .{ .src = .{ .to_sse, .none, .none } }, |
| 70308 | }, | 70306 | }, |
| 70309 | .extra_temps = .{ | 70307 | .extra_temps = .{ |
| 70310 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70308 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70311 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, | 70309 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, |
| 70312 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70310 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70313 | .unused, | 70311 | .unused, |
| ... | @@ -70334,7 +70332,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70334,7 +70332,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70334 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 70332 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 70335 | }, | 70333 | }, |
| 70336 | .extra_temps = .{ | 70334 | .extra_temps = .{ |
| 70337 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70335 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70338 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, | 70336 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .qword } } }, |
| 70339 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70337 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70340 | .unused, | 70338 | .unused, |
| ... | @@ -70361,7 +70359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70361,7 +70359,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70361 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 70359 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 70362 | }, | 70360 | }, |
| 70363 | .extra_temps = .{ | 70361 | .extra_temps = .{ |
| 70364 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70362 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70365 | .unused, | 70363 | .unused, |
| 70366 | .unused, | 70364 | .unused, |
| 70367 | .unused, | 70365 | .unused, |
| ... | @@ -70379,7 +70377,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70379,7 +70377,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70379 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, | 70377 | .{ ._, ._, .lea, .dst0p, .mem(.tmp0), ._, ._ }, |
| 70380 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, | 70378 | .{ ._, ._b, .gf2p8affineq, .src0x, .lea(.dst0x), .ui(0), ._ }, |
| 70381 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, | 70379 | .{ ._, ._q, .mov, .dst0q, .src0x, ._, ._ }, |
| 70382 | .{ ._, ._, .bswap, .dst0q, ._, ._, ._ }, | 70380 | .{ ._, .b_, .swap, .dst0q, ._, ._, ._ }, |
| 70383 | .{ ._, ._r, .sh, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, | 70381 | .{ ._, ._r, .sh, .dst0q, .uia(64, .dst0, .sub_bit_size), ._, ._ }, |
| 70384 | } }, | 70382 | } }, |
| 70385 | }, .{ | 70383 | }, .{ |
| ... | @@ -70404,7 +70402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70404,7 +70402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70404 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 70402 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 70405 | .clobbers = .{ .eflags = true }, | 70403 | .clobbers = .{ .eflags = true }, |
| 70406 | .each = .{ .once = &.{ | 70404 | .each = .{ .once = &.{ |
| 70407 | .{ ._, ._, .bswap, .src0q, ._, ._, ._ }, | 70405 | .{ ._, .b_, .swap, .src0q, ._, ._, ._ }, |
| 70408 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, | 70406 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| 70409 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 70407 | .{ ._, ._, .mov, .tmp1q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 70410 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, | 70408 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| ... | @@ -70435,7 +70433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70435,7 +70433,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70435 | .{ .src = .{ .to_sse, .none, .none } }, | 70433 | .{ .src = .{ .to_sse, .none, .none } }, |
| 70436 | }, | 70434 | }, |
| 70437 | .extra_temps = .{ | 70435 | .extra_temps = .{ |
| 70438 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70436 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70439 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 70437 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 70440 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70438 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70441 | .unused, | 70439 | .unused, |
| ... | @@ -70461,7 +70459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70461,7 +70459,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70461 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 70459 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 70462 | }, | 70460 | }, |
| 70463 | .extra_temps = .{ | 70461 | .extra_temps = .{ |
| 70464 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70462 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70465 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 70463 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 70466 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70464 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70467 | .unused, | 70465 | .unused, |
| ... | @@ -70487,7 +70485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70487,7 +70485,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70487 | .{ .src = .{ .to_sse, .none, .none } }, | 70485 | .{ .src = .{ .to_sse, .none, .none } }, |
| 70488 | }, | 70486 | }, |
| 70489 | .extra_temps = .{ | 70487 | .extra_temps = .{ |
| 70490 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70488 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70491 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 70489 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 70492 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70490 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70493 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 70491 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| ... | @@ -70520,7 +70518,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70520,7 +70518,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70520 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 70518 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 70521 | }, | 70519 | }, |
| 70522 | .extra_temps = .{ | 70520 | .extra_temps = .{ |
| 70523 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70521 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70524 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 70522 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 70525 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70523 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70526 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 70524 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -70553,7 +70551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70553,7 +70551,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70553 | .{ .src = .{ .to_sse, .none, .none } }, | 70551 | .{ .src = .{ .to_sse, .none, .none } }, |
| 70554 | }, | 70552 | }, |
| 70555 | .extra_temps = .{ | 70553 | .extra_temps = .{ |
| 70556 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70554 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70557 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 70555 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 70558 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70556 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70559 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, | 70557 | .{ .type = .vector_16_u8, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .sse } } }, |
| ... | @@ -70586,7 +70584,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70586,7 +70584,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70586 | .{ .src = .{ .to_mut_sse, .none, .none } }, | 70584 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 70587 | }, | 70585 | }, |
| 70588 | .extra_temps = .{ | 70586 | .extra_temps = .{ |
| 70589 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70587 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70590 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 70588 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 70591 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70589 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70592 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 70590 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -70619,7 +70617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70619,7 +70617,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70619 | .{ .src = .{ .to_sse, .none, .none } }, | 70617 | .{ .src = .{ .to_sse, .none, .none } }, |
| 70620 | }, | 70618 | }, |
| 70621 | .extra_temps = .{ | 70619 | .extra_temps = .{ |
| 70622 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, | 70620 | .{ .type = .vector_32_u8, .kind = .{ .bits_mem = .forward } }, |
| 70623 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | 70621 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, |
| 70624 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70622 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70625 | .unused, | 70623 | .unused, |
| ... | @@ -70646,11 +70644,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70646,11 +70644,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70646 | .{ .src = .{ .to_sse, .none, .none } }, | 70644 | .{ .src = .{ .to_sse, .none, .none } }, |
| 70647 | }, | 70645 | }, |
| 70648 | .extra_temps = .{ | 70646 | .extra_temps = .{ |
| 70649 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, | 70647 | .{ .type = .vector_32_u8, .kind = .{ .bits_mem = .forward } }, |
| 70650 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | 70648 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 70651 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70649 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70652 | .unused, | 70650 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 70653 | .unused, | 70651 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 70654 | .unused, | 70652 | .unused, |
| 70655 | .unused, | 70653 | .unused, |
| 70656 | .unused, | 70654 | .unused, |
| ... | @@ -70662,9 +70660,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70662,9 +70660,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70662 | .each = .{ .once = &.{ | 70660 | .each = .{ .once = &.{ |
| 70663 | .{ ._, ._, .lea, .tmp2p, .mem(.tmp0), ._, ._ }, | 70661 | .{ ._, ._, .lea, .tmp2p, .mem(.tmp0), ._, ._ }, |
| 70664 | .{ ._, .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), ._ }, |
| 70665 | .{ ._, ._, .lea, .tmp2p, .mem(.tmp1), ._, ._ }, | 70664 | .{ ._, ._, .lea, .tmp2p, .mem(.tmp1), ._, ._ }, |
| 70666 | .{ ._, .vp_b, .shuf, .dst0y, .dst0y, .lea(.tmp2y), ._ }, | 70665 | .{ ._, .v_dqa, .mov, .tmp4x, .lea(.tmp2x), ._, ._ }, |
| 70667 | .{ ._, .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) }, |
| 70668 | } }, | 70669 | } }, |
| 70669 | }, .{ | 70670 | }, .{ |
| 70670 | .required_features = .{ .avx2, .gfni, null, null }, | 70671 | .required_features = .{ .avx2, .gfni, null, null }, |
| ... | @@ -70675,7 +70676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70675,7 +70676,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70675 | .extra_temps = .{ | 70676 | .extra_temps = .{ |
| 70676 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70677 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70677 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 70678 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 70678 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, | 70679 | .{ .type = .vector_32_u8, .kind = .{ .bits_mem = .forward } }, |
| 70679 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | 70680 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, |
| 70680 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 70681 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 70681 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | 70682 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -70702,42 +70703,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70702,42 +70703,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70702 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, | 70703 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 70703 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 70704 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| 70704 | } }, | 70705 | } }, |
| 70705 | }, .{ | | |
| 70706 | .required_features = .{ .avx, .gfni, null, null }, | | |
| 70707 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .yword, .is = 256 } }, .any, .any }, | | |
| 70708 | .patterns = &.{ | | |
| 70709 | .{ .src = .{ .to_mem, .none, .none } }, | | |
| 70710 | }, | | |
| 70711 | .extra_temps = .{ | | |
| 70712 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | | |
| 70713 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | | |
| 70714 | .{ .type = .vector_32_u8, .kind = .forward_bits_mem }, | | |
| 70715 | .{ .type = .vector_32_u8, .kind = .{ .pshufb_bswap_mem = .{ .repeat = 2, .size = .xword } } }, | | |
| 70716 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | | |
| 70717 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | | |
| 70718 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, | | |
| 70719 | .unused, | | |
| 70720 | .unused, | | |
| 70721 | .unused, | | |
| 70722 | .unused, | | |
| 70723 | }, | | |
| 70724 | .dst_temps = .{ .mem, .unused }, | | |
| 70725 | .clobbers = .{ .eflags = true }, | | |
| 70726 | .each = .{ .once = &.{ | | |
| 70727 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, | | |
| 70728 | .{ ._, .v_dqa, .mov, .tmp4y, .lea(.tmp0y), ._, ._ }, | | |
| 70729 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, | | |
| 70730 | .{ ._, .v_dqa, .mov, .tmp5y, .lea(.tmp0y), ._, ._ }, | | |
| 70731 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .dst0, .add_size), ._, ._ }, | | |
| 70732 | .{ ._, ._, .lea, .tmp1p, .mem(.src0), ._, ._ }, | | |
| 70733 | .{ .@"0:", .v_pd, .perm, .tmp6y, .lea(.tmp1y), .ui(0b01_00_11_10), ._ }, | | |
| 70734 | .{ ._, .v_b, .gf2p8affineq, .tmp6y, .tmp6y, .tmp4y, .ui(0) }, | | |
| 70735 | .{ ._, .vp_b, .shuf, .tmp6y, .tmp6y, .tmp5y, ._ }, | | |
| 70736 | .{ ._, .v_dqu, .mov, .memi(.dst0y, .tmp0), .tmp6y, ._, ._ }, | | |
| 70737 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 32), ._, ._ }, | | |
| 70738 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, | | |
| 70739 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | | |
| 70740 | } }, | | |
| 70741 | }, .{ | 70706 | }, .{ |
| 70742 | .required_features = .{ .avx, .gfni, null, null }, | 70707 | .required_features = .{ .avx, .gfni, null, null }, |
| 70743 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, | 70708 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| ... | @@ -70747,7 +70712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70747,7 +70712,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70747 | .extra_temps = .{ | 70712 | .extra_temps = .{ |
| 70748 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 70713 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 70749 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 70714 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 70750 | .{ .type = .vector_16_u8, .kind = .forward_bits_mem }, | 70715 | .{ .type = .vector_16_u8, .kind = .{ .bits_mem = .forward } }, |
| 70751 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, | 70716 | .{ .type = .vector_16_u8, .kind = .{ .pshufb_bswap_mem = .{ .size = .xword } } }, |
| 70752 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 70717 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 70753 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, | 70718 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| ... | @@ -70820,7 +70785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70820,7 +70785,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70820 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 70785 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 70821 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 70786 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 70822 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 70787 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 70823 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 70788 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 70824 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 70789 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 70825 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 70790 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 70826 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 70791 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -70871,7 +70836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70871,7 +70836,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70871 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 70836 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 70872 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 70837 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 70873 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 70838 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 70874 | .{ ._, ._, .bswap, .tmp5q, ._, ._, ._ }, | 70839 | .{ ._, .b_, .swap, .tmp5q, ._, ._, ._ }, |
| 70875 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 70840 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 70876 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 70841 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 70877 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 70842 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -70927,7 +70892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70927,7 +70892,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70927 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 70892 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 70928 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 70893 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 70929 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 70894 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 70930 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 70895 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 70931 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 70896 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 70932 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 70897 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 70933 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 70898 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -70982,7 +70947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -70982,7 +70947,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 70982 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 70947 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 70983 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 70948 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 70984 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 70949 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 70985 | .{ ._, ._, .bswap, .tmp5q, ._, ._, ._ }, | 70950 | .{ ._, .b_, .swap, .tmp5q, ._, ._, ._ }, |
| 70986 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 70951 | .{ ._, ._, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 70987 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 70952 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 70988 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 70953 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| ... | @@ -71035,7 +71000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71035,7 +71000,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71035 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, | 71000 | .{ ._, ._l, .sh, .tmp6q, .ui(1), ._, ._ }, |
| 71036 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, | 71001 | .{ ._, ._, .@"and", .tmp5q, .tmp4q, ._, ._ }, |
| 71037 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, | 71002 | .{ ._, ._, .@"or", .tmp5q, .tmp6q, ._, ._ }, |
| 71038 | .{ ._, ._, .movbe, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, | 71003 | .{ ._, ._be, .mov, .memi(.dst0q, .tmp0), .tmp5q, ._, ._ }, |
| 71039 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, | 71004 | .{ ._, ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| 71040 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, | 71005 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 71041 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, | 71006 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| ... | @@ -71069,7 +71034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71069,7 +71034,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71069 | .{ ._, ._, .mov, .tmp3q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71034 | .{ ._, ._, .mov, .tmp3q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71070 | .{ ._, ._, .mov, .tmp4q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71035 | .{ ._, ._, .mov, .tmp4q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71071 | .{ .@"0:", ._, .mov, .tmp5q, .lea(.tmp1q), ._, ._ }, | 71036 | .{ .@"0:", ._, .mov, .tmp5q, .lea(.tmp1q), ._, ._ }, |
| 71072 | .{ ._, ._, .bswap, .tmp5q, ._, ._, ._ }, | 71037 | .{ ._, .b_, .swap, .tmp5q, ._, ._, ._ }, |
| 71073 | .{ ._, ._, .mov, .tmp6q, .tmp5q, ._, ._ }, | 71038 | .{ ._, ._, .mov, .tmp6q, .tmp5q, ._, ._ }, |
| 71074 | .{ ._, ._, .@"and", .tmp6q, .tmp2q, ._, ._ }, | 71039 | .{ ._, ._, .@"and", .tmp6q, .tmp2q, ._, ._ }, |
| 71075 | .{ ._, ._r, .sh, .tmp5q, .ui(4), ._, ._ }, | 71040 | .{ ._, ._r, .sh, .tmp5q, .ui(4), ._, ._ }, |
| ... | @@ -71124,7 +71089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71124,7 +71089,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71124 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 71089 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 71125 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71090 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71126 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71091 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71127 | .{ .@"0:", ._, .movbe, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71092 | .{ .@"0:", ._be, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71128 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71093 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71129 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71094 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71130 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71095 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71183,7 +71148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71183,7 +71148,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71183 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71148 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71184 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71149 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71185 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71150 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71186 | .{ ._, ._, .bswap, .tmp6q, ._, ._, ._ }, | 71151 | .{ ._, .b_, .swap, .tmp6q, ._, ._, ._ }, |
| 71187 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71152 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71188 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71153 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71189 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71154 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71239,7 +71204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71239,7 +71204,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71239 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 71204 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 71240 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71205 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71241 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71206 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71242 | .{ .@"0:", ._, .movbe, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71207 | .{ .@"0:", ._be, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71243 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71208 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71244 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71209 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71245 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71210 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71296,7 +71261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71296,7 +71261,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71296 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71261 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71297 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71262 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71298 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71263 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71299 | .{ ._, ._, .bswap, .tmp6q, ._, ._, ._ }, | 71264 | .{ ._, .b_, .swap, .tmp6q, ._, ._, ._ }, |
| 71300 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71265 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71301 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71266 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71302 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71267 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71353,7 +71318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71353,7 +71318,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71353 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 71318 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 71354 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71319 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71355 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71320 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71356 | .{ .@"0:", ._, .movbe, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71321 | .{ .@"0:", ._be, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71357 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71322 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71358 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71323 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71359 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71324 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71411,7 +71376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71411,7 +71376,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71411 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71376 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71412 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71377 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71413 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71378 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71414 | .{ ._, ._, .bswap, .tmp6q, ._, ._, ._ }, | 71379 | .{ ._, .b_, .swap, .tmp6q, ._, ._, ._ }, |
| 71415 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71380 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71416 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71381 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71417 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71382 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71466,7 +71431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71466,7 +71431,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71466 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, | 71431 | .{ ._, ._, .mov, .tmp3q, .uia(0b00001111000011110000111100001111, .none, .repeat), ._, ._ }, |
| 71467 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71432 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71468 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71433 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71469 | .{ .@"0:", ._, .movbe, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71434 | .{ .@"0:", ._be, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71470 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71435 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71471 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71436 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71472 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71437 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -71522,7 +71487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -71522,7 +71487,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 71522 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, | 71487 | .{ ._, ._, .mov, .tmp4q, .uia(0b00110011001100110011001100110011, .none, .repeat), ._, ._ }, |
| 71523 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, | 71488 | .{ ._, ._, .mov, .tmp5q, .uia(0b01010101010101010101010101010101, .none, .repeat), ._, ._ }, |
| 71524 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, | 71489 | .{ .@"0:", ._, .mov, .tmp6q, .lea(.tmp1q), ._, ._ }, |
| 71525 | .{ ._, ._, .bswap, .tmp6q, ._, ._, ._ }, | 71490 | .{ ._, .b_, .swap, .tmp6q, ._, ._, ._ }, |
| 71526 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, | 71491 | .{ ._, ._, .mov, .tmp7q, .tmp6q, ._, ._ }, |
| 71527 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, | 71492 | .{ ._, ._, .@"and", .tmp7q, .tmp3q, ._, ._ }, |
| 71528 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, | 71493 | .{ ._, ._r, .sh, .tmp6q, .ui(4), ._, ._ }, |
| ... | @@ -77295,15 +77260,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -77295,15 +77260,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 77295 | }, | 77260 | }, |
| 77296 | .cmp_vector, .cmp_vector_optimized => |air_tag| if (use_old) try cg.airCmpVector(inst) else fallback: { | 77261 | .cmp_vector, .cmp_vector_optimized => |air_tag| if (use_old) try cg.airCmpVector(inst) else fallback: { |
| 77297 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 77262 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 77298 | const extra = cg.air.extraData(Air.VectorCmp, ty_pl.payload).data; | 77263 | const vector_cmp = cg.air.extraData(Air.VectorCmp, ty_pl.payload).data; |
| 77299 | switch (extra.compareOperator()) { | 77264 | switch (vector_cmp.compareOperator()) { |
| 77300 | .eq, .neq => {}, | 77265 | .eq, .neq => {}, |
| 77301 | .lt, .lte, .gte, .gt => if (cg.floatBits(cg.typeOf(extra.lhs).childType(zcu)) == null) | 77266 | .lt, .lte, .gte, .gt => if (cg.floatBits(cg.typeOf(vector_cmp.lhs).childType(zcu)) == null) |
| 77302 | break :fallback try cg.airCmpVector(inst), | 77267 | break :fallback try cg.airCmpVector(inst), |
| 77303 | } | 77268 | } |
| 77304 | var ops = try cg.tempsFromOperands(inst, .{ extra.lhs, extra.rhs }); | 77269 | var ops = try cg.tempsFromOperands(inst, .{ vector_cmp.lhs, vector_cmp.rhs }); |
| 77305 | var res: [1]Temp = undefined; | 77270 | var res: [1]Temp = undefined; |
| 77306 | (err: switch (extra.compareOperator()) { | 77271 | (err: switch (vector_cmp.compareOperator()) { |
| 77307 | .lt, .lte, .gte, .gt => |cmp_op| { | 77272 | .lt, .lte, .gte, .gt => |cmp_op| { |
| 77308 | switch (cmp_op) { | 77273 | switch (cmp_op) { |
| 77309 | else => unreachable, | 77274 | else => unreachable, |
| ... | @@ -84350,14 +84315,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84350,14 +84315,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84350 | }) catch |err| switch (err) { | 84315 | }) catch |err| switch (err) { |
| 84351 | error.SelectFailed => return cg.fail("failed to select {s} {s} {} {} {}", .{ | 84316 | error.SelectFailed => return cg.fail("failed to select {s} {s} {} {} {}", .{ |
| 84352 | @tagName(air_tag), | 84317 | @tagName(air_tag), |
| 84353 | @tagName(extra.compareOperator()), | 84318 | @tagName(vector_cmp.compareOperator()), |
| 84354 | cg.typeOf(extra.lhs).fmt(pt), | 84319 | cg.typeOf(vector_cmp.lhs).fmt(pt), |
| 84355 | ops[0].tracking(cg), | 84320 | ops[0].tracking(cg), |
| 84356 | ops[1].tracking(cg), | 84321 | ops[1].tracking(cg), |
| 84357 | }), | 84322 | }), |
| 84358 | else => |e| return e, | 84323 | else => |e| return e, |
| 84359 | }; | 84324 | }; |
| 84360 | try res[0].finish(inst, &.{ extra.lhs, extra.rhs }, &ops, cg); | 84325 | try res[0].finish(inst, &.{ vector_cmp.lhs, vector_cmp.rhs }, &ops, cg); |
| 84361 | }, | 84326 | }, |
| 84362 | .cond_br => try cg.airCondBr(inst), | 84327 | .cond_br => try cg.airCondBr(inst), |
| 84363 | .switch_br => try cg.airSwitchBr(inst), | 84328 | .switch_br => try cg.airSwitchBr(inst), |
| ... | @@ -84386,16 +84351,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -84386,16 +84351,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 84386 | }, | 84351 | }, |
| 84387 | .dbg_inline_block => { | 84352 | .dbg_inline_block => { |
| 84388 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 84353 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 84389 | const extra = cg.air.extraData(Air.DbgInlineBlock, ty_pl.payload); | 84354 | const dbg_inline_block = cg.air.extraData(Air.DbgInlineBlock, ty_pl.payload); |
| 84390 | const old_inline_func = cg.inline_func; | 84355 | const old_inline_func = cg.inline_func; |
| 84391 | defer cg.inline_func = old_inline_func; | 84356 | defer cg.inline_func = old_inline_func; |
| 84392 | cg.inline_func = extra.data.func; | 84357 | cg.inline_func = dbg_inline_block.data.func; |
| 84393 | if (cg.debug_output != .none) _ = try cg.addInst(.{ | 84358 | if (cg.debug_output != .none) _ = try cg.addInst(.{ |
| 84394 | .tag = .pseudo, | 84359 | .tag = .pseudo, |
| 84395 | .ops = .pseudo_dbg_enter_inline_func, | 84360 | .ops = .pseudo_dbg_enter_inline_func, |
| 84396 | .data = .{ .func = extra.data.func }, | 84361 | .data = .{ .func = dbg_inline_block.data.func }, |
| 84397 | }); | 84362 | }); |
| 84398 | try cg.lowerBlock(inst, @ptrCast(cg.air.extra[extra.end..][0..extra.data.body_len])); | 84363 | try cg.lowerBlock(inst, @ptrCast(cg.air.extra[dbg_inline_block.end..][0..dbg_inline_block.data.body_len])); |
| 84399 | if (cg.debug_output != .none) _ = try cg.addInst(.{ | 84364 | if (cg.debug_output != .none) _ = try cg.addInst(.{ |
| 84400 | .tag = .pseudo, | 84365 | .tag = .pseudo, |
| 84401 | .ops = .pseudo_dbg_leave_inline_func, | 84366 | .ops = .pseudo_dbg_leave_inline_func, |
| ... | @@ -97931,14 +97896,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -97931,14 +97896,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 97931 | }, | 97896 | }, |
| 97932 | .struct_field_ptr => if (use_old) try cg.airStructFieldPtr(inst) else { | 97897 | .struct_field_ptr => if (use_old) try cg.airStructFieldPtr(inst) else { |
| 97933 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 97898 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 97934 | const extra = cg.air.extraData(Air.StructField, ty_pl.payload).data; | 97899 | const struct_field = cg.air.extraData(Air.StructField, ty_pl.payload).data; |
| 97935 | var ops = try cg.tempsFromOperands(inst, .{extra.struct_operand}); | 97900 | var ops = try cg.tempsFromOperands(inst, .{struct_field.struct_operand}); |
| 97936 | try ops[0].toOffset(cg.fieldOffset( | 97901 | try ops[0].toOffset(cg.fieldOffset( |
| 97937 | cg.typeOf(extra.struct_operand), | 97902 | cg.typeOf(struct_field.struct_operand), |
| 97938 | ty_pl.ty.toType(), | 97903 | ty_pl.ty.toType(), |
| 97939 | extra.field_index, | 97904 | struct_field.field_index, |
| 97940 | ), cg); | 97905 | ), cg); |
| 97941 | try ops[0].finish(inst, &.{extra.struct_operand}, &ops, cg); | 97906 | try ops[0].finish(inst, &.{struct_field.struct_operand}, &ops, cg); |
| 97942 | }, | 97907 | }, |
| 97943 | .struct_field_ptr_index_0, | 97908 | .struct_field_ptr_index_0, |
| 97944 | .struct_field_ptr_index_1, | 97909 | .struct_field_ptr_index_1, |
| ... | @@ -97968,19 +97933,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -97968,19 +97933,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 97968 | }, | 97933 | }, |
| 97969 | .struct_field_val => if (use_old) try cg.airStructFieldVal(inst) else fallback: { | 97934 | .struct_field_val => if (use_old) try cg.airStructFieldVal(inst) else fallback: { |
| 97970 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 97935 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 97971 | const extra = cg.air.extraData(Air.StructField, ty_pl.payload).data; | 97936 | const struct_field = cg.air.extraData(Air.StructField, ty_pl.payload).data; |
| 97972 | const agg_ty = cg.typeOf(extra.struct_operand); | 97937 | const agg_ty = cg.typeOf(struct_field.struct_operand); |
| 97973 | const field_ty = ty_pl.ty.toType(); | 97938 | const field_ty = ty_pl.ty.toType(); |
| 97974 | const field_off: u31 = switch (agg_ty.containerLayout(zcu)) { | 97939 | const field_off: u31 = switch (agg_ty.containerLayout(zcu)) { |
| 97975 | .auto, .@"extern" => @intCast(agg_ty.structFieldOffset(extra.field_index, zcu)), | 97940 | .auto, .@"extern" => @intCast(agg_ty.structFieldOffset(struct_field.field_index, zcu)), |
| 97976 | .@"packed" => break :fallback try cg.airStructFieldVal(inst), | 97941 | .@"packed" => break :fallback try cg.airStructFieldVal(inst), |
| 97977 | }; | 97942 | }; |
| 97978 | var ops = try cg.tempsFromOperands(inst, .{extra.struct_operand}); | 97943 | var ops = try cg.tempsFromOperands(inst, .{struct_field.struct_operand}); |
| 97979 | var res = if (!hack_around_sema_opv_bugs or field_ty.hasRuntimeBitsIgnoreComptime(zcu)) | 97944 | var res = if (!hack_around_sema_opv_bugs or field_ty.hasRuntimeBitsIgnoreComptime(zcu)) |
| 97980 | try ops[0].read(field_ty, .{ .disp = field_off }, cg) | 97945 | try ops[0].read(field_ty, .{ .disp = field_off }, cg) |
| 97981 | else | 97946 | else |
| 97982 | try cg.tempInit(field_ty, .none); | 97947 | try cg.tempInit(field_ty, .none); |
| 97983 | try res.finish(inst, &.{extra.struct_operand}, &ops, cg); | 97948 | try res.finish(inst, &.{struct_field.struct_operand}, &ops, cg); |
| 97984 | }, | 97949 | }, |
| 97985 | .set_union_tag => if (use_old) try cg.airSetUnionTag(inst) else { | 97950 | .set_union_tag => if (use_old) try cg.airSetUnionTag(inst) else { |
| 97986 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; | 97951 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| ... | @@ -98881,9 +98846,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -98881,9 +98846,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 98881 | .unused, | 98846 | .unused, |
| 98882 | }, | 98847 | }, |
| 98883 | .dst_temps = .{ .mem, .unused }, | 98848 | .dst_temps = .{ .mem, .unused }, |
| | 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, ._, ._ }, |
| ... | @@ -99135,6 +99101,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99135,6 +99101,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99135 | .unused, | 99101 | .unused, |
| 99136 | }, | 99102 | }, |
| 99137 | .dst_temps = .{ .mem, .unused }, | 99103 | .dst_temps = .{ .mem, .unused }, |
| | 99104 | .clobbers = .{ .eflags = true }, |
| 99138 | .each = .{ .once = &.{ | 99105 | .each = .{ .once = &.{ |
| 99139 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 99106 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99140 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 99107 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -99165,6 +99132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99165,6 +99132,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99165 | .unused, | 99132 | .unused, |
| 99166 | }, | 99133 | }, |
| 99167 | .dst_temps = .{ .mem, .unused }, | 99134 | .dst_temps = .{ .mem, .unused }, |
| | 99135 | .clobbers = .{ .eflags = true }, |
| 99168 | .each = .{ .once = &.{ | 99136 | .each = .{ .once = &.{ |
| 99169 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 99137 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99170 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 99138 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -99292,6 +99260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99292,6 +99260,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99292 | .unused, | 99260 | .unused, |
| 99293 | }, | 99261 | }, |
| 99294 | .dst_temps = .{ .mem, .unused }, | 99262 | .dst_temps = .{ .mem, .unused }, |
| | 99263 | .clobbers = .{ .eflags = true }, |
| 99295 | .each = .{ .once = &.{ | 99264 | .each = .{ .once = &.{ |
| 99296 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 99265 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99297 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, | 99266 | .{ .@"0:", .v_ps, .cvtph2, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -99321,6 +99290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99321,6 +99290,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99321 | .unused, | 99290 | .unused, |
| 99322 | }, | 99291 | }, |
| 99323 | .dst_temps = .{ .mem, .unused }, | 99292 | .dst_temps = .{ .mem, .unused }, |
| | 99293 | .clobbers = .{ .eflags = true }, |
| 99324 | .each = .{ .once = &.{ | 99294 | .each = .{ .once = &.{ |
| 99325 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 99295 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99326 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 99296 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| ... | @@ -99546,6 +99516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -99546,6 +99516,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 99546 | .unused, | 99516 | .unused, |
| 99547 | }, | 99517 | }, |
| 99548 | .dst_temps = .{ .mem, .unused }, | 99518 | .dst_temps = .{ .mem, .unused }, |
| | 99519 | .clobbers = .{ .eflags = true }, |
| 99549 | .each = .{ .once = &.{ | 99520 | .each = .{ .once = &.{ |
| 99550 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 99521 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 99551 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, | 99522 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| ... | @@ -100556,6 +100527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100556,6 +100527,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100556 | .unused, | 100527 | .unused, |
| 100557 | }, | 100528 | }, |
| 100558 | .dst_temps = .{ .mem, .unused }, | 100529 | .dst_temps = .{ .mem, .unused }, |
| | 100530 | .clobbers = .{ .eflags = true }, |
| 100559 | .each = .{ .once = &.{ | 100531 | .each = .{ .once = &.{ |
| 100560 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 100532 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 100561 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 100533 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -100587,6 +100559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100587,6 +100559,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100587 | .unused, | 100559 | .unused, |
| 100588 | }, | 100560 | }, |
| 100589 | .dst_temps = .{ .mem, .unused }, | 100561 | .dst_temps = .{ .mem, .unused }, |
| | 100562 | .clobbers = .{ .eflags = true }, |
| 100590 | .each = .{ .once = &.{ | 100563 | .each = .{ .once = &.{ |
| 100591 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 100564 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 100592 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, | 100565 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| ... | @@ -100618,6 +100591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100618,6 +100591,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100618 | .unused, | 100591 | .unused, |
| 100619 | }, | 100592 | }, |
| 100620 | .dst_temps = .{ .mem, .unused }, | 100593 | .dst_temps = .{ .mem, .unused }, |
| | 100594 | .clobbers = .{ .eflags = true }, |
| 100621 | .each = .{ .once = &.{ | 100595 | .each = .{ .once = &.{ |
| 100622 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 100596 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100623 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 100597 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -100646,6 +100620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100646,6 +100620,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100646 | .unused, | 100620 | .unused, |
| 100647 | }, | 100621 | }, |
| 100648 | .dst_temps = .{ .mem, .unused }, | 100622 | .dst_temps = .{ .mem, .unused }, |
| | 100623 | .clobbers = .{ .eflags = true }, |
| 100649 | .each = .{ .once = &.{ | 100624 | .each = .{ .once = &.{ |
| 100650 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 100625 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100651 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, | 100626 | .{ .@"0:", ._, .cvttss2si, .tmp1d, .memsia(.src0d, .@"4", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -100850,6 +100825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100850,6 +100825,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100850 | .unused, | 100825 | .unused, |
| 100851 | }, | 100826 | }, |
| 100852 | .dst_temps = .{ .mem, .unused }, | 100827 | .dst_temps = .{ .mem, .unused }, |
| | 100828 | .clobbers = .{ .eflags = true }, |
| 100853 | .each = .{ .once = &.{ | 100829 | .each = .{ .once = &.{ |
| 100854 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 100830 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100855 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 100831 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -100879,6 +100855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100879,6 +100855,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100879 | .unused, | 100855 | .unused, |
| 100880 | }, | 100856 | }, |
| 100881 | .dst_temps = .{ .mem, .unused }, | 100857 | .dst_temps = .{ .mem, .unused }, |
| | 100858 | .clobbers = .{ .eflags = true }, |
| 100882 | .each = .{ .once = &.{ | 100859 | .each = .{ .once = &.{ |
| 100883 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 100860 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100884 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 100861 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -100908,6 +100885,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100908,6 +100885,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100908 | .unused, | 100885 | .unused, |
| 100909 | }, | 100886 | }, |
| 100910 | .dst_temps = .{ .mem, .unused }, | 100887 | .dst_temps = .{ .mem, .unused }, |
| | 100888 | .clobbers = .{ .eflags = true }, |
| 100911 | .each = .{ .once = &.{ | 100889 | .each = .{ .once = &.{ |
| 100912 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 100890 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100913 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 100891 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -100937,6 +100915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -100937,6 +100915,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 100937 | .unused, | 100915 | .unused, |
| 100938 | }, | 100916 | }, |
| 100939 | .dst_temps = .{ .mem, .unused }, | 100917 | .dst_temps = .{ .mem, .unused }, |
| | 100918 | .clobbers = .{ .eflags = true }, |
| 100940 | .each = .{ .once = &.{ | 100919 | .each = .{ .once = &.{ |
| 100941 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 100920 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 100942 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, | 100921 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memsia(.src0x, .@"2", .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -101052,6 +101031,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101052,6 +101031,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101052 | .unused, | 101031 | .unused, |
| 101053 | }, | 101032 | }, |
| 101054 | .dst_temps = .{ .mem, .unused }, | 101033 | .dst_temps = .{ .mem, .unused }, |
| | 101034 | .clobbers = .{ .eflags = true }, |
| 101055 | .each = .{ .once = &.{ | 101035 | .each = .{ .once = &.{ |
| 101056 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 101036 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 101057 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 101037 | .{ .@"0:", .v_, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -101080,6 +101060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101080,6 +101060,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101080 | .unused, | 101060 | .unused, |
| 101081 | }, | 101061 | }, |
| 101082 | .dst_temps = .{ .mem, .unused }, | 101062 | .dst_temps = .{ .mem, .unused }, |
| | 101063 | .clobbers = .{ .eflags = true }, |
| 101083 | .each = .{ .once = &.{ | 101064 | .each = .{ .once = &.{ |
| 101084 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 101065 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 101085 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, | 101066 | .{ .@"0:", ._, .cvttps2dq, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -101232,6 +101213,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101232,6 +101213,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101232 | .unused, | 101213 | .unused, |
| 101233 | }, | 101214 | }, |
| 101234 | .dst_temps = .{ .mem, .unused }, | 101215 | .dst_temps = .{ .mem, .unused }, |
| | 101216 | .clobbers = .{ .eflags = true }, |
| 101235 | .each = .{ .once = &.{ | 101217 | .each = .{ .once = &.{ |
| 101236 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 101218 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 101237 | .{ .@"0:", .v_, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 101219 | .{ .@"0:", .v_, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -101260,6 +101242,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101260,6 +101242,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101260 | .unused, | 101242 | .unused, |
| 101261 | }, | 101243 | }, |
| 101262 | .dst_temps = .{ .mem, .unused }, | 101244 | .dst_temps = .{ .mem, .unused }, |
| | 101245 | .clobbers = .{ .eflags = true }, |
| 101263 | .each = .{ .once = &.{ | 101246 | .each = .{ .once = &.{ |
| 101264 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 101247 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| 101265 | .{ .@"0:", ._, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, | 101248 | .{ .@"0:", ._, .cvttss2si, .tmp1q, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -101688,6 +101671,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101688,6 +101671,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101688 | }, | 101671 | }, |
| 101689 | .extra_temps = .{ | 101672 | .extra_temps = .{ |
| 101690 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 101673 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 101674 | .{ .type = .u16, .kind = .mem }, |
| 101691 | .{ .type = .i16, .kind = .mem }, | 101675 | .{ .type = .i16, .kind = .mem }, |
| 101692 | .unused, | 101676 | .unused, |
| 101693 | .unused, | 101677 | .unused, |
| ... | @@ -101697,13 +101681,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101697,13 +101681,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101697 | .unused, | 101681 | .unused, |
| 101698 | .unused, | 101682 | .unused, |
| 101699 | .unused, | 101683 | .unused, |
| 101700 | .unused, | | |
| 101701 | }, | 101684 | }, |
| 101702 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 101685 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 101703 | .each = .{ .once = &.{ | 101686 | .each = .{ .once = &.{ |
| 101704 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, | 101687 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101705 | .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ }, | 101688 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 101706 | .{ ._, ._, .movsx, .dst0d, .tmp1b, ._, ._ }, | 101689 | .{ ._, ._, .movzx, .dst0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 101690 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 101691 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 101692 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .dst0b, ._, ._ }, |
| | 101693 | .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ }, |
| | 101694 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 101695 | .{ ._, ._, .movsx, .dst0d, .tmp2b, ._, ._ }, |
| 101707 | } }, | 101696 | } }, |
| 101708 | }, .{ | 101697 | }, .{ |
| 101709 | .required_features = .{ .x87, null, null, null }, | 101698 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -101714,6 +101703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101714,6 +101703,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101714 | }, | 101703 | }, |
| 101715 | .extra_temps = .{ | 101704 | .extra_temps = .{ |
| 101716 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 101705 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 101706 | .{ .type = .u16, .kind = .mem }, |
| 101717 | .{ .type = .i16, .kind = .mem }, | 101707 | .{ .type = .i16, .kind = .mem }, |
| 101718 | .unused, | 101708 | .unused, |
| 101719 | .unused, | 101709 | .unused, |
| ... | @@ -101723,13 +101713,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101723,13 +101713,18 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101723 | .unused, | 101713 | .unused, |
| 101724 | .unused, | 101714 | .unused, |
| 101725 | .unused, | 101715 | .unused, |
| 101726 | .unused, | | |
| 101727 | }, | 101716 | }, |
| 101728 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 101717 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 101729 | .each = .{ .once = &.{ | 101718 | .each = .{ .once = &.{ |
| 101730 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, | 101719 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101731 | .{ ._, .fi_p, .stt, .tmp1w, ._, ._, ._ }, | 101720 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| 101732 | .{ ._, ._, .movzx, .dst0d, .tmp1b, ._, ._ }, | 101721 | .{ ._, ._, .movzx, .dst0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 101722 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 101723 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 101724 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .dst0b, ._, ._ }, |
| | 101725 | .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ }, |
| | 101726 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 101727 | .{ ._, ._, .movzx, .dst0d, .tmp2b, ._, ._ }, |
| 101733 | } }, | 101728 | } }, |
| 101734 | }, .{ | 101729 | }, .{ |
| 101735 | .required_features = .{ .x87, null, null, null }, | 101730 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -101740,8 +101735,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101740,8 +101735,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101740 | }, | 101735 | }, |
| 101741 | .extra_temps = .{ | 101736 | .extra_temps = .{ |
| 101742 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 101737 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 101743 | .unused, | 101738 | .{ .type = .u16, .kind = .mem }, |
| 101744 | .unused, | 101739 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 101745 | .unused, | 101740 | .unused, |
| 101746 | .unused, | 101741 | .unused, |
| 101747 | .unused, | 101742 | .unused, |
| ... | @@ -101754,7 +101749,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101754,7 +101749,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101754 | .dst_temps = .{ .mem, .unused }, | 101749 | .dst_temps = .{ .mem, .unused }, |
| 101755 | .each = .{ .once = &.{ | 101750 | .each = .{ .once = &.{ |
| 101756 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, | 101751 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101757 | .{ ._, .fi_p, .stt, .dst0w, ._, ._, ._ }, | 101752 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 101753 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 101754 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 101755 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 101756 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 101757 | .{ ._, .fi_p, .st, .dst0w, ._, ._, ._ }, |
| | 101758 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101758 | } }, | 101759 | } }, |
| 101759 | }, .{ | 101760 | }, .{ |
| 101760 | .required_features = .{ .x87, null, null, null }, | 101761 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -101765,8 +101766,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101765,8 +101766,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101765 | }, | 101766 | }, |
| 101766 | .extra_temps = .{ | 101767 | .extra_temps = .{ |
| 101767 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 101768 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 101768 | .unused, | 101769 | .{ .type = .u16, .kind = .mem }, |
| 101769 | .unused, | 101770 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 101770 | .unused, | 101771 | .unused, |
| 101771 | .unused, | 101772 | .unused, |
| 101772 | .unused, | 101773 | .unused, |
| ... | @@ -101779,7 +101780,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101779,7 +101780,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101779 | .dst_temps = .{ .mem, .unused }, | 101780 | .dst_temps = .{ .mem, .unused }, |
| 101780 | .each = .{ .once = &.{ | 101781 | .each = .{ .once = &.{ |
| 101781 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, | 101782 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101782 | .{ ._, .fi_p, .stt, .dst0d, ._, ._, ._ }, | 101783 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 101784 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 101785 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 101786 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 101787 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 101788 | .{ ._, .fi_p, .st, .dst0d, ._, ._, ._ }, |
| | 101789 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101783 | } }, | 101790 | } }, |
| 101784 | }, .{ | 101791 | }, .{ |
| 101785 | .required_features = .{ .@"64bit", .avx, null, null }, | 101792 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -101814,8 +101821,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101814,8 +101821,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101814 | }, | 101821 | }, |
| 101815 | .extra_temps = .{ | 101822 | .extra_temps = .{ |
| 101816 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 101823 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 101817 | .unused, | 101824 | .{ .type = .u16, .kind = .mem }, |
| 101818 | .unused, | 101825 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 101819 | .unused, | 101826 | .unused, |
| 101820 | .unused, | 101827 | .unused, |
| 101821 | .unused, | 101828 | .unused, |
| ... | @@ -101828,7 +101835,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101828,7 +101835,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101828 | .dst_temps = .{ .mem, .unused }, | 101835 | .dst_temps = .{ .mem, .unused }, |
| 101829 | .each = .{ .once = &.{ | 101836 | .each = .{ .once = &.{ |
| 101830 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, | 101837 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101831 | .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ }, | 101838 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 101839 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 101840 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 101841 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 101842 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 101843 | .{ ._, .fi_p, .st, .dst0q, ._, ._, ._ }, |
| | 101844 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 101832 | } }, | 101845 | } }, |
| 101833 | }, .{ | 101846 | }, .{ |
| 101834 | .required_features = .{ .@"64bit", .avx, null, null }, | 101847 | .required_features = .{ .@"64bit", .avx, null, null }, |
| ... | @@ -101902,12 +101915,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101902,12 +101915,12 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101902 | .{ .src = .{ .to_mem, .none, .none } }, | 101915 | .{ .src = .{ .to_mem, .none, .none } }, |
| 101903 | }, | 101916 | }, |
| 101904 | .extra_temps = .{ | 101917 | .extra_temps = .{ |
| 101905 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, | | |
| 101906 | .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } }, | | |
| 101907 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, | | |
| 101908 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 101918 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 101919 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 101920 | .{ .type = .u16, .kind = .mem }, |
| | 101921 | .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } }, |
| 101909 | .{ .type = .i64, .kind = .mem }, | 101922 | .{ .type = .i64, .kind = .mem }, |
| 101910 | .unused, | 101923 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| 101911 | .unused, | 101924 | .unused, |
| 101912 | .unused, | 101925 | .unused, |
| 101913 | .unused, | 101926 | .unused, |
| ... | @@ -101918,16 +101931,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -101918,16 +101931,22 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 101918 | .clobbers = .{ .eflags = true }, | 101931 | .clobbers = .{ .eflags = true }, |
| 101919 | .each = .{ .once = &.{ | 101932 | .each = .{ .once = &.{ |
| 101920 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, | 101933 | .{ ._, .f_, .ld, .src0q, ._, ._, ._ }, |
| 101921 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 101934 | .{ ._, .f_, .ld, .tmp0t, ._, ._, ._ }, |
| 101922 | .{ ._, .f_, .ld, .tmp3t, ._, ._, ._ }, | 101935 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| 101923 | .{ ._, .fi_p, .stt, .tmp4q, ._, ._, ._ }, | 101936 | .{ ._, ._, .movzx, .dst0d, .memd(.tmp2b, 1), ._, ._ }, |
| 101924 | .{ ._, ._, .mov, .dst0q, .tmp4q, ._, ._ }, | 101937 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| 101925 | .{ ._, .f_, .sub, .lea(.tmp0d), ._, ._, ._ }, | 101938 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| 101926 | .{ ._, ._, .mov, .tmp0q, .dst0q, ._, ._ }, | 101939 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .dst0b, ._, ._ }, |
| 101927 | .{ ._, .fi_p, .stt, .tmp4q, ._, ._, ._ }, | 101940 | .{ ._, ._, .lea, .dst0q, .mem(.tmp3), ._, ._ }, |
| | 101941 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| | 101942 | .{ ._, .f_, .sub, .lea(.dst0d), ._, ._, ._ }, |
| | 101943 | .{ ._, ._, .mov, .tmp5q, .tmp4q, ._, ._ }, |
| | 101944 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| | 101945 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 101946 | .{ ._, ._, .mov, .dst0q, .tmp5q, ._, ._ }, |
| 101928 | .{ ._, ._r, .sa, .dst0q, .ui(63), ._, ._ }, | 101947 | .{ ._, ._r, .sa, .dst0q, .ui(63), ._, ._ }, |
| 101929 | .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ }, | 101948 | .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ }, |
| 101930 | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, | 101949 | .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ }, |
| 101931 | } }, | 101950 | } }, |
| 101932 | }, .{ | 101951 | }, .{ |
| 101933 | .required_features = .{ .@"64bit", .sse, null, null }, | 101952 | .required_features = .{ .@"64bit", .sse, null, null }, |
| ... | @@ -102249,10 +102268,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102249,10 +102268,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102249 | }, | 102268 | }, |
| 102250 | .extra_temps = .{ | 102269 | .extra_temps = .{ |
| 102251 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102270 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 102271 | .{ .type = .u16, .kind = .mem }, |
| | 102272 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 102252 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 102273 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102253 | .{ .type = .i16, .kind = .mem }, | 102274 | .{ .type = .i16, .kind = .mem }, |
| 102254 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | | |
| 102255 | .unused, | | |
| 102256 | .unused, | 102275 | .unused, |
| 102257 | .unused, | 102276 | .unused, |
| 102258 | .unused, | 102277 | .unused, |
| ... | @@ -102261,14 +102280,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102261,14 +102280,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102261 | .unused, | 102280 | .unused, |
| 102262 | }, | 102281 | }, |
| 102263 | .dst_temps = .{ .mem, .unused }, | 102282 | .dst_temps = .{ .mem, .unused }, |
| | 102283 | .clobbers = .{ .eflags = true }, |
| 102264 | .each = .{ .once = &.{ | 102284 | .each = .{ .once = &.{ |
| 102265 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 102285 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 102286 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 102287 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 102288 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 102289 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 102290 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 102266 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 102291 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102267 | .{ ._, .fi_p, .stt, .tmp2w, ._, ._, ._ }, | 102292 | .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ }, |
| 102268 | .{ ._, ._, .movzx, .tmp3d, .tmp2b, ._, ._ }, | 102293 | .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ }, |
| 102269 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 102294 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ }, |
| 102270 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, | 102295 | .{ ._, ._, .add, .tmp0p, .si(1), ._, ._ }, |
| 102271 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102296 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 102297 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102272 | } }, | 102298 | } }, |
| 102273 | }, .{ | 102299 | }, .{ |
| 102274 | .required_features = .{ .x87, null, null, null }, | 102300 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -102279,10 +102305,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102279,10 +102305,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102279 | }, | 102305 | }, |
| 102280 | .extra_temps = .{ | 102306 | .extra_temps = .{ |
| 102281 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102307 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 102308 | .{ .type = .u16, .kind = .mem }, |
| | 102309 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| 102282 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 102310 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102283 | .{ .type = .i16, .kind = .mem }, | 102311 | .{ .type = .i16, .kind = .mem }, |
| 102284 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | | |
| 102285 | .unused, | | |
| 102286 | .unused, | 102312 | .unused, |
| 102287 | .unused, | 102313 | .unused, |
| 102288 | .unused, | 102314 | .unused, |
| ... | @@ -102291,14 +102317,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102291,14 +102317,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102291 | .unused, | 102317 | .unused, |
| 102292 | }, | 102318 | }, |
| 102293 | .dst_temps = .{ .mem, .unused }, | 102319 | .dst_temps = .{ .mem, .unused }, |
| | 102320 | .clobbers = .{ .eflags = true }, |
| 102294 | .each = .{ .once = &.{ | 102321 | .each = .{ .once = &.{ |
| 102295 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 102322 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 102323 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 102324 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 102325 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 102326 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 102327 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 102296 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 102328 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102297 | .{ ._, .fi_p, .stt, .tmp2w, ._, ._, ._ }, | 102329 | .{ ._, .fi_p, .st, .tmp4w, ._, ._, ._ }, |
| 102298 | .{ ._, ._, .movzx, .tmp3d, .tmp2b, ._, ._ }, | 102330 | .{ ._, ._, .movzx, .tmp2d, .tmp4b, ._, ._ }, |
| 102299 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp3b, ._, ._ }, | 102331 | .{ ._, ._, .mov, .memia(.dst0b, .tmp0, .add_unaligned_size), .tmp2b, ._, ._ }, |
| 102300 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, | 102332 | .{ ._, ._c, .in, .tmp0p, ._, ._, ._ }, |
| 102301 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 102333 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 102334 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102302 | } }, | 102335 | } }, |
| 102303 | }, .{ | 102336 | }, .{ |
| 102304 | .required_features = .{ .avx, .slow_incdec, null, null }, | 102337 | .required_features = .{ .avx, .slow_incdec, null, null }, |
| ... | @@ -102724,6 +102757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102724,6 +102757,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102724 | }, | 102757 | }, |
| 102725 | .extra_temps = .{ | 102758 | .extra_temps = .{ |
| 102726 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102759 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 102760 | .{ .type = .u16, .kind = .mem }, |
| 102727 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 102761 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102728 | .unused, | 102762 | .unused, |
| 102729 | .unused, | 102763 | .unused, |
| ... | @@ -102733,15 +102767,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102733,15 +102767,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102733 | .unused, | 102767 | .unused, |
| 102734 | .unused, | 102768 | .unused, |
| 102735 | .unused, | 102769 | .unused, |
| 102736 | .unused, | | |
| 102737 | }, | 102770 | }, |
| 102738 | .dst_temps = .{ .mem, .unused }, | 102771 | .dst_temps = .{ .mem, .unused }, |
| | 102772 | .clobbers = .{ .eflags = true }, |
| 102739 | .each = .{ .once = &.{ | 102773 | .each = .{ .once = &.{ |
| | 102774 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 102775 | .{ ._, ._, .movzx, .tmp0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 102776 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 102777 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 102778 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| 102740 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 102779 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 102741 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 102780 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102742 | .{ ._, .fi_p, .stt, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 102781 | .{ ._, .fi_p, .st, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102743 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102782 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 102744 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102783 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 102784 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102745 | } }, | 102785 | } }, |
| 102746 | }, .{ | 102786 | }, .{ |
| 102747 | .required_features = .{ .x87, null, null, null }, | 102787 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -102752,10 +102792,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102752,10 +102792,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102752 | }, | 102792 | }, |
| 102753 | .extra_temps = .{ | 102793 | .extra_temps = .{ |
| 102754 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 102794 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 102795 | .{ .type = .u16, .kind = .mem }, |
| | 102796 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| 102755 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 102797 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102756 | .{ .type = .i32, .kind = .mem }, | 102798 | .{ .type = .i32, .kind = .mem }, |
| 102757 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, | | |
| 102758 | .unused, | | |
| 102759 | .unused, | 102799 | .unused, |
| 102760 | .unused, | 102800 | .unused, |
| 102761 | .unused, | 102801 | .unused, |
| ... | @@ -102764,14 +102804,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102764,14 +102804,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102764 | .unused, | 102804 | .unused, |
| 102765 | }, | 102805 | }, |
| 102766 | .dst_temps = .{ .mem, .unused }, | 102806 | .dst_temps = .{ .mem, .unused }, |
| | 102807 | .clobbers = .{ .eflags = true }, |
| 102767 | .each = .{ .once = &.{ | 102808 | .each = .{ .once = &.{ |
| 102768 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 102809 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 102810 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 102811 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 102812 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 102813 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 102814 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 102769 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 102815 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102770 | .{ ._, .fi_p, .stt, .tmp2d, ._, ._, ._ }, | 102816 | .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ }, |
| 102771 | .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ }, | 102817 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 102772 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp3w, ._, ._ }, | 102818 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ }, |
| 102773 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, | 102819 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 102774 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 102820 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 102821 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102775 | } }, | 102822 | } }, |
| 102776 | }, .{ | 102823 | }, .{ |
| 102777 | .required_features = .{ .avx, null, null, null }, | 102824 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -102970,6 +103017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102970,6 +103017,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102970 | }, | 103017 | }, |
| 102971 | .extra_temps = .{ | 103018 | .extra_temps = .{ |
| 102972 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103019 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 103020 | .{ .type = .u16, .kind = .mem }, |
| 102973 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 103021 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 102974 | .unused, | 103022 | .unused, |
| 102975 | .unused, | 103023 | .unused, |
| ... | @@ -102979,15 +103027,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102979,15 +103027,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102979 | .unused, | 103027 | .unused, |
| 102980 | .unused, | 103028 | .unused, |
| 102981 | .unused, | 103029 | .unused, |
| 102982 | .unused, | | |
| 102983 | }, | 103030 | }, |
| 102984 | .dst_temps = .{ .mem, .unused }, | 103031 | .dst_temps = .{ .mem, .unused }, |
| | 103032 | .clobbers = .{ .eflags = true }, |
| 102985 | .each = .{ .once = &.{ | 103033 | .each = .{ .once = &.{ |
| | 103034 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 103035 | .{ ._, ._, .movzx, .tmp0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 103036 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 103037 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 103038 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| 102986 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 103039 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 102987 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 103040 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102988 | .{ ._, .fi_p, .stt, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 103041 | .{ ._, .fi_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 102989 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 103042 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 102990 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103043 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 103044 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 102991 | } }, | 103045 | } }, |
| 102992 | }, .{ | 103046 | }, .{ |
| 102993 | .required_features = .{ .x87, null, null, null }, | 103047 | .required_features = .{ .x87, null, null, null }, |
| ... | @@ -102998,10 +103052,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -102998,10 +103052,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 102998 | }, | 103052 | }, |
| 102999 | .extra_temps = .{ | 103053 | .extra_temps = .{ |
| 103000 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103054 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 103055 | .{ .type = .u16, .kind = .mem }, |
| | 103056 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 103001 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 103057 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 103002 | .{ .type = .i64, .kind = .mem }, | 103058 | .{ .type = .i64, .kind = .mem }, |
| 103003 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | | |
| 103004 | .unused, | | |
| 103005 | .unused, | 103059 | .unused, |
| 103006 | .unused, | 103060 | .unused, |
| 103007 | .unused, | 103061 | .unused, |
| ... | @@ -103010,14 +103064,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103010,14 +103064,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103010 | .unused, | 103064 | .unused, |
| 103011 | }, | 103065 | }, |
| 103012 | .dst_temps = .{ .mem, .unused }, | 103066 | .dst_temps = .{ .mem, .unused }, |
| | 103067 | .clobbers = .{ .eflags = true }, |
| 103013 | .each = .{ .once = &.{ | 103068 | .each = .{ .once = &.{ |
| 103014 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, | 103069 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 103070 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 103071 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 103072 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 103073 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 103074 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| 103015 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, | 103075 | .{ .@"0:", .f_, .ld, .memsia(.src0q, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 103016 | .{ ._, .fi_p, .stt, .tmp2q, ._, ._, ._ }, | 103076 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| 103017 | .{ ._, ._, .mov, .tmp3d, .tmp2d, ._, ._ }, | 103077 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| 103018 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp3d, ._, ._ }, | 103078 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ }, |
| 103019 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, | 103079 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 103020 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103080 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 103081 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103021 | } }, | 103082 | } }, |
| 103022 | }, .{ | 103083 | }, .{ |
| 103023 | .required_features = .{ .avx, null, null, null }, | 103084 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -103274,6 +103335,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103274,6 +103335,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103274 | }, | 103335 | }, |
| 103275 | .extra_temps = .{ | 103336 | .extra_temps = .{ |
| 103276 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 103337 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 103338 | .{ .type = .u16, .kind = .mem }, |
| 103277 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 103339 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 103278 | .unused, | 103340 | .unused, |
| 103279 | .unused, | 103341 | .unused, |
| ... | @@ -103283,15 +103345,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103283,15 +103345,21 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103283 | .unused, | 103345 | .unused, |
| 103284 | .unused, | 103346 | .unused, |
| 103285 | .unused, | 103347 | .unused, |
| 103286 | .unused, | | |
| 103287 | }, | 103348 | }, |
| 103288 | .dst_temps = .{ .mem, .unused }, | 103349 | .dst_temps = .{ .mem, .unused }, |
| | 103350 | .clobbers = .{ .eflags = true }, |
| 103289 | .each = .{ .once = &.{ | 103351 | .each = .{ .once = &.{ |
| 103290 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, | 103352 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 103353 | .{ ._, ._, .movzx, .tmp0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 103354 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 103355 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 103356 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| | 103357 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| 103291 | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 103358 | .{ .@"0:", .f_, .ld, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 103292 | .{ ._, .fi_p, .stt, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, | 103359 | .{ ._, .fi_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 103293 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 103360 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 103294 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103361 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 103362 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| 103295 | } }, | 103363 | } }, |
| 103296 | }, .{ | 103364 | }, .{ |
| 103297 | .required_features = .{ .avx, null, null, null }, | 103365 | .required_features = .{ .avx, null, null, null }, |
| ... | @@ -103882,7 +103950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103882,7 +103950,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103882 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 103950 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 103883 | } }, | 103951 | } }, |
| 103884 | }, .{ | 103952 | }, .{ |
| 103885 | .required_features = .{ .x87, null, null, null }, | 103953 | .required_features = .{ .sse3, .x87, null, null }, |
| 103886 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 103954 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 103887 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, | 103955 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| 103888 | .patterns = &.{ | 103956 | .patterns = &.{ |
| ... | @@ -103890,7 +103958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103890,7 +103958,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103890 | .{ .src = .{ .to_x87, .none, .none } }, | 103958 | .{ .src = .{ .to_x87, .none, .none } }, |
| 103891 | }, | 103959 | }, |
| 103892 | .extra_temps = .{ | 103960 | .extra_temps = .{ |
| 103893 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 103961 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 103894 | .{ .type = .i16, .kind = .mem }, | 103962 | .{ .type = .i16, .kind = .mem }, |
| 103895 | .unused, | 103963 | .unused, |
| 103896 | .unused, | 103964 | .unused, |
| ... | @@ -103911,13 +103979,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103911,13 +103979,46 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103911 | }, .{ | 103979 | }, .{ |
| 103912 | .required_features = .{ .x87, null, null, null }, | 103980 | .required_features = .{ .x87, null, null, null }, |
| 103913 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 103981 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 103982 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 103983 | .patterns = &.{ |
| | 103984 | .{ .src = .{ .mem, .none, .none } }, |
| | 103985 | .{ .src = .{ .to_x87, .none, .none } }, |
| | 103986 | }, |
| | 103987 | .extra_temps = .{ |
| | 103988 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 103989 | .{ .type = .u16, .kind = .mem }, |
| | 103990 | .{ .type = .i16, .kind = .mem }, |
| | 103991 | .unused, |
| | 103992 | .unused, |
| | 103993 | .unused, |
| | 103994 | .unused, |
| | 103995 | .unused, |
| | 103996 | .unused, |
| | 103997 | .unused, |
| | 103998 | .unused, |
| | 103999 | }, |
| | 104000 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 104001 | .each = .{ .once = &.{ |
| | 104002 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 104003 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104004 | .{ ._, ._, .movzx, .dst0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104005 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104006 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104007 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .dst0b, ._, ._ }, |
| | 104008 | .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ }, |
| | 104009 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104010 | .{ ._, ._, .movsx, .dst0d, .tmp2b, ._, ._ }, |
| | 104011 | } }, |
| | 104012 | }, .{ |
| | 104013 | .required_features = .{ .sse3, .x87, null, null }, |
| | 104014 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 103914 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, | 104015 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| 103915 | .patterns = &.{ | 104016 | .patterns = &.{ |
| 103916 | .{ .src = .{ .mem, .none, .none } }, | 104017 | .{ .src = .{ .mem, .none, .none } }, |
| 103917 | .{ .src = .{ .to_x87, .none, .none } }, | 104018 | .{ .src = .{ .to_x87, .none, .none } }, |
| 103918 | }, | 104019 | }, |
| 103919 | .extra_temps = .{ | 104020 | .extra_temps = .{ |
| 103920 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, | 104021 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 103921 | .{ .type = .i16, .kind = .mem }, | 104022 | .{ .type = .i16, .kind = .mem }, |
| 103922 | .unused, | 104023 | .unused, |
| 103923 | .unused, | 104024 | .unused, |
| ... | @@ -103936,7 +104037,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103936,7 +104037,40 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103936 | .{ ._, ._, .movzx, .dst0d, .tmp1b, ._, ._ }, | 104037 | .{ ._, ._, .movzx, .dst0d, .tmp1b, ._, ._ }, |
| 103937 | } }, | 104038 | } }, |
| 103938 | }, .{ | 104039 | }, .{ |
| 103939 | .required_features = .{ .x87, .slow_incdec, null, null }, | 104040 | .required_features = .{ .x87, null, null, null }, |
| | 104041 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 104042 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 104043 | .patterns = &.{ |
| | 104044 | .{ .src = .{ .mem, .none, .none } }, |
| | 104045 | .{ .src = .{ .to_x87, .none, .none } }, |
| | 104046 | }, |
| | 104047 | .extra_temps = .{ |
| | 104048 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104049 | .{ .type = .u16, .kind = .mem }, |
| | 104050 | .{ .type = .i16, .kind = .mem }, |
| | 104051 | .unused, |
| | 104052 | .unused, |
| | 104053 | .unused, |
| | 104054 | .unused, |
| | 104055 | .unused, |
| | 104056 | .unused, |
| | 104057 | .unused, |
| | 104058 | .unused, |
| | 104059 | }, |
| | 104060 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 104061 | .each = .{ .once = &.{ |
| | 104062 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 104063 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104064 | .{ ._, ._, .movzx, .dst0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104065 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104066 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104067 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .dst0b, ._, ._ }, |
| | 104068 | .{ ._, .fi_p, .st, .tmp2w, ._, ._, ._ }, |
| | 104069 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104070 | .{ ._, ._, .movzx, .dst0d, .tmp2b, ._, ._ }, |
| | 104071 | } }, |
| | 104072 | }, .{ |
| | 104073 | .required_features = .{ .sse3, .x87, .slow_incdec, null }, |
| 103940 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104074 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 103941 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, | 104075 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 103942 | .patterns = &.{ | 104076 | .patterns = &.{ |
| ... | @@ -103947,7 +104081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103947,7 +104081,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103947 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104081 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 103948 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 104082 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 103949 | .{ .type = .i16, .kind = .mem }, | 104083 | .{ .type = .i16, .kind = .mem }, |
| 103950 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 104084 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 103951 | .unused, | 104085 | .unused, |
| 103952 | .unused, | 104086 | .unused, |
| 103953 | .unused, | 104087 | .unused, |
| ... | @@ -103969,7 +104103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103969,7 +104103,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103969 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104103 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 103970 | } }, | 104104 | } }, |
| 103971 | }, .{ | 104105 | }, .{ |
| 103972 | .required_features = .{ .x87, null, null, null }, | 104106 | .required_features = .{ .sse3, .x87, null, null }, |
| 103973 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104107 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 103974 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, | 104108 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 103975 | .patterns = &.{ | 104109 | .patterns = &.{ |
| ... | @@ -103980,7 +104114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103980,7 +104114,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103980 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 104114 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 103981 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 104115 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 103982 | .{ .type = .i16, .kind = .mem }, | 104116 | .{ .type = .i16, .kind = .mem }, |
| 103983 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, | 104117 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| 103984 | .unused, | 104118 | .unused, |
| 103985 | .unused, | 104119 | .unused, |
| 103986 | .unused, | 104120 | .unused, |
| ... | @@ -104004,6 +104138,84 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104004,6 +104138,84 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104004 | }, .{ | 104138 | }, .{ |
| 104005 | .required_features = .{ .x87, .slow_incdec, null, null }, | 104139 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| 104006 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104140 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 104141 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, |
| | 104142 | .patterns = &.{ |
| | 104143 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104144 | }, |
| | 104145 | .extra_temps = .{ |
| | 104146 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104147 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 104148 | .{ .type = .u16, .kind = .mem }, |
| | 104149 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 104150 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104151 | .{ .type = .i16, .kind = .mem }, |
| | 104152 | .unused, |
| | 104153 | .unused, |
| | 104154 | .unused, |
| | 104155 | .unused, |
| | 104156 | .unused, |
| | 104157 | }, |
| | 104158 | .dst_temps = .{ .mem, .unused }, |
| | 104159 | .clobbers = .{ .eflags = true }, |
| | 104160 | .each = .{ .once = &.{ |
| | 104161 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 104162 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 104163 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 104164 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 104165 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104166 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104167 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 104168 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| | 104169 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| | 104170 | .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ }, |
| | 104171 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, |
| | 104172 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, |
| | 104173 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, |
| | 104174 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 104175 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104176 | } }, |
| | 104177 | }, .{ |
| | 104178 | .required_features = .{ .x87, null, null, null }, |
| | 104179 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 104180 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any }, |
| | 104181 | .patterns = &.{ |
| | 104182 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104183 | }, |
| | 104184 | .extra_temps = .{ |
| | 104185 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104186 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 104187 | .{ .type = .u16, .kind = .mem }, |
| | 104188 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 104189 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104190 | .{ .type = .i16, .kind = .mem }, |
| | 104191 | .unused, |
| | 104192 | .unused, |
| | 104193 | .unused, |
| | 104194 | .unused, |
| | 104195 | .unused, |
| | 104196 | }, |
| | 104197 | .dst_temps = .{ .mem, .unused }, |
| | 104198 | .clobbers = .{ .eflags = true }, |
| | 104199 | .each = .{ .once = &.{ |
| | 104200 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 104201 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 104202 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 104203 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 104204 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104205 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104206 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 104207 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| | 104208 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| | 104209 | .{ ._, ._, .movsx, .tmp3d, .tmp5b, ._, ._ }, |
| | 104210 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, |
| | 104211 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, |
| | 104212 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, |
| | 104213 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 104214 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104215 | } }, |
| | 104216 | }, .{ |
| | 104217 | .required_features = .{ .sse3, .x87, .slow_incdec, null }, |
| | 104218 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104007 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, | 104219 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 104008 | .patterns = &.{ | 104220 | .patterns = &.{ |
| 104009 | .{ .src = .{ .to_mem, .none, .none } }, | 104221 | .{ .src = .{ .to_mem, .none, .none } }, |
| ... | @@ -104035,7 +104247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104035,7 +104247,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104035 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104247 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104036 | } }, | 104248 | } }, |
| 104037 | }, .{ | 104249 | }, .{ |
| 104038 | .required_features = .{ .x87, null, null, null }, | 104250 | .required_features = .{ .sse3, .x87, null, null }, |
| 104039 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104251 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104040 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, | 104252 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, |
| 104041 | .patterns = &.{ | 104253 | .patterns = &.{ |
| ... | @@ -104067,8 +104279,86 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104067,8 +104279,86 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104067 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, | 104279 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, |
| 104068 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, | 104280 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| 104069 | } }, | 104281 | } }, |
| | 104282 | }, .{ |
| | 104283 | .required_features = .{ .x87, .slow_incdec, null, null }, |
| | 104284 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 104285 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, |
| | 104286 | .patterns = &.{ |
| | 104287 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104288 | }, |
| | 104289 | .extra_temps = .{ |
| | 104290 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104291 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 104292 | .{ .type = .u16, .kind = .mem }, |
| | 104293 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 104294 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104295 | .{ .type = .i16, .kind = .mem }, |
| | 104296 | .unused, |
| | 104297 | .unused, |
| | 104298 | .unused, |
| | 104299 | .unused, |
| | 104300 | .unused, |
| | 104301 | }, |
| | 104302 | .dst_temps = .{ .mem, .unused }, |
| | 104303 | .clobbers = .{ .eflags = true }, |
| | 104304 | .each = .{ .once = &.{ |
| | 104305 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 104306 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 104307 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 104308 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 104309 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104310 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104311 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 104312 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| | 104313 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| | 104314 | .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ }, |
| | 104315 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, |
| | 104316 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, |
| | 104317 | .{ ._, ._, .add, .tmp1p, .si(1), ._, ._ }, |
| | 104318 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 104319 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104320 | } }, |
| 104070 | }, .{ | 104321 | }, .{ |
| 104071 | .required_features = .{ .x87, null, null, null }, | 104322 | .required_features = .{ .x87, null, null, null }, |
| | 104323 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 104324 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any }, |
| | 104325 | .patterns = &.{ |
| | 104326 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104327 | }, |
| | 104328 | .extra_temps = .{ |
| | 104329 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104330 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 104331 | .{ .type = .u16, .kind = .mem }, |
| | 104332 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 104333 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104334 | .{ .type = .i16, .kind = .mem }, |
| | 104335 | .unused, |
| | 104336 | .unused, |
| | 104337 | .unused, |
| | 104338 | .unused, |
| | 104339 | .unused, |
| | 104340 | }, |
| | 104341 | .dst_temps = .{ .mem, .unused }, |
| | 104342 | .clobbers = .{ .eflags = true }, |
| | 104343 | .each = .{ .once = &.{ |
| | 104344 | .{ ._, ._, .lea, .tmp0p, .mem(.src0), ._, ._ }, |
| | 104345 | .{ ._, ._, .mov, .tmp1p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 104346 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 104347 | .{ ._, ._, .movzx, .tmp3d, .memd(.tmp2b, 1), ._, ._ }, |
| | 104348 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104349 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104350 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .tmp3b, ._, ._ }, |
| | 104351 | .{ .@"0:", .f_, .ld, .lea(.tmp0t), ._, ._, ._ }, |
| | 104352 | .{ ._, .fi_p, .st, .tmp5w, ._, ._, ._ }, |
| | 104353 | .{ ._, ._, .movzx, .tmp3d, .tmp5b, ._, ._ }, |
| | 104354 | .{ ._, ._, .mov, .memia(.dst0b, .tmp1, .add_unaligned_size), .tmp3b, ._, ._ }, |
| | 104355 | .{ ._, ._, .lea, .tmp0p, .lead(.tmp0, 16), ._, ._ }, |
| | 104356 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, |
| | 104357 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 104358 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104359 | } }, |
| | 104360 | }, .{ |
| | 104361 | .required_features = .{ .sse3, .x87, null, null }, |
| 104072 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 104362 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104073 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any }, | 104363 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any }, |
| 104074 | .patterns = &.{ | 104364 | .patterns = &.{ |
| ... | @@ -104095,6 +104385,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104095,6 +104385,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104095 | } }, | 104385 | } }, |
| 104096 | }, .{ | 104386 | }, .{ |
| 104097 | .required_features = .{ .x87, null, null, null }, | 104387 | .required_features = .{ .x87, null, null, null }, |
| | 104388 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 104389 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .word }, .any }, |
| | 104390 | .patterns = &.{ |
| | 104391 | .{ .src = .{ .mem, .none, .none } }, |
| | 104392 | .{ .src = .{ .to_x87, .none, .none } }, |
| | 104393 | }, |
| | 104394 | .extra_temps = .{ |
| | 104395 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104396 | .{ .type = .u16, .kind = .mem }, |
| | 104397 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 104398 | .unused, |
| | 104399 | .unused, |
| | 104400 | .unused, |
| | 104401 | .unused, |
| | 104402 | .unused, |
| | 104403 | .unused, |
| | 104404 | .unused, |
| | 104405 | .unused, |
| | 104406 | }, |
| | 104407 | .dst_temps = .{ .mem, .unused }, |
| | 104408 | .each = .{ .once = &.{ |
| | 104409 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 104410 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104411 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104412 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104413 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104414 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 104415 | .{ ._, .fi_p, .st, .dst0w, ._, ._, ._ }, |
| | 104416 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104417 | } }, |
| | 104418 | }, .{ |
| | 104419 | .required_features = .{ .sse3, .x87, null, null }, |
| 104098 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104420 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104099 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any }, | 104421 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any }, |
| 104100 | .patterns = &.{ | 104422 | .patterns = &.{ |
| ... | @@ -104125,6 +104447,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104125,6 +104447,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104125 | }, .{ | 104447 | }, .{ |
| 104126 | .required_features = .{ .x87, null, null, null }, | 104448 | .required_features = .{ .x87, null, null, null }, |
| 104127 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104449 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 104450 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any }, |
| | 104451 | .patterns = &.{ |
| | 104452 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104453 | }, |
| | 104454 | .extra_temps = .{ |
| | 104455 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 104456 | .{ .type = .u16, .kind = .mem }, |
| | 104457 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104458 | .unused, |
| | 104459 | .unused, |
| | 104460 | .unused, |
| | 104461 | .unused, |
| | 104462 | .unused, |
| | 104463 | .unused, |
| | 104464 | .unused, |
| | 104465 | .unused, |
| | 104466 | }, |
| | 104467 | .dst_temps = .{ .mem, .unused }, |
| | 104468 | .clobbers = .{ .eflags = true }, |
| | 104469 | .each = .{ .once = &.{ |
| | 104470 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104471 | .{ ._, ._, .movzx, .tmp0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104472 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104473 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104474 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| | 104475 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 104476 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 104477 | .{ ._, .fi_p, .st, .memia(.dst0w, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 104478 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 104479 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 104480 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104481 | } }, |
| | 104482 | }, .{ |
| | 104483 | .required_features = .{ .sse3, .x87, null, null }, |
| | 104484 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104128 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any }, | 104485 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any }, |
| 104129 | .patterns = &.{ | 104486 | .patterns = &.{ |
| 104130 | .{ .src = .{ .to_mem, .none, .none } }, | 104487 | .{ .src = .{ .to_mem, .none, .none } }, |
| ... | @@ -104155,6 +104512,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104155,6 +104512,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104155 | } }, | 104512 | } }, |
| 104156 | }, .{ | 104513 | }, .{ |
| 104157 | .required_features = .{ .x87, null, null, null }, | 104514 | .required_features = .{ .x87, null, null, null }, |
| | 104515 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 104516 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any }, |
| | 104517 | .patterns = &.{ |
| | 104518 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104519 | }, |
| | 104520 | .extra_temps = .{ |
| | 104521 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 104522 | .{ .type = .u16, .kind = .mem }, |
| | 104523 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 104524 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104525 | .{ .type = .i32, .kind = .mem }, |
| | 104526 | .unused, |
| | 104527 | .unused, |
| | 104528 | .unused, |
| | 104529 | .unused, |
| | 104530 | .unused, |
| | 104531 | .unused, |
| | 104532 | }, |
| | 104533 | .dst_temps = .{ .mem, .unused }, |
| | 104534 | .clobbers = .{ .eflags = true }, |
| | 104535 | .each = .{ .once = &.{ |
| | 104536 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 104537 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104538 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104539 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104540 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104541 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 104542 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"8", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 104543 | .{ ._, .fi_p, .st, .tmp4d, ._, ._, ._ }, |
| | 104544 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| | 104545 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp2w, ._, ._ }, |
| | 104546 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 104547 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 104548 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104549 | } }, |
| | 104550 | }, .{ |
| | 104551 | .required_features = .{ .sse3, .x87, null, null }, |
| 104158 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 104552 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104159 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any }, | 104553 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any }, |
| 104160 | .patterns = &.{ | 104554 | .patterns = &.{ |
| ... | @@ -104181,6 +104575,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104181,6 +104575,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104181 | } }, | 104575 | } }, |
| 104182 | }, .{ | 104576 | }, .{ |
| 104183 | .required_features = .{ .x87, null, null, null }, | 104577 | .required_features = .{ .x87, null, null, null }, |
| | 104578 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 104579 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .dword }, .any }, |
| | 104580 | .patterns = &.{ |
| | 104581 | .{ .src = .{ .mem, .none, .none } }, |
| | 104582 | .{ .src = .{ .to_x87, .none, .none } }, |
| | 104583 | }, |
| | 104584 | .extra_temps = .{ |
| | 104585 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104586 | .{ .type = .u16, .kind = .mem }, |
| | 104587 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 104588 | .unused, |
| | 104589 | .unused, |
| | 104590 | .unused, |
| | 104591 | .unused, |
| | 104592 | .unused, |
| | 104593 | .unused, |
| | 104594 | .unused, |
| | 104595 | .unused, |
| | 104596 | }, |
| | 104597 | .dst_temps = .{ .mem, .unused }, |
| | 104598 | .each = .{ .once = &.{ |
| | 104599 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 104600 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104601 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104602 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104603 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104604 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 104605 | .{ ._, .fi_p, .st, .dst0d, ._, ._, ._ }, |
| | 104606 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104607 | } }, |
| | 104608 | }, .{ |
| | 104609 | .required_features = .{ .sse3, .x87, null, null }, |
| 104184 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104610 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104185 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any }, | 104611 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 104186 | .patterns = &.{ | 104612 | .patterns = &.{ |
| ... | @@ -104211,6 +104637,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104211,6 +104637,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104211 | }, .{ | 104637 | }, .{ |
| 104212 | .required_features = .{ .x87, null, null, null }, | 104638 | .required_features = .{ .x87, null, null, null }, |
| 104213 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104639 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 104640 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any }, |
| | 104641 | .patterns = &.{ |
| | 104642 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104643 | }, |
| | 104644 | .extra_temps = .{ |
| | 104645 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 104646 | .{ .type = .u16, .kind = .mem }, |
| | 104647 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104648 | .unused, |
| | 104649 | .unused, |
| | 104650 | .unused, |
| | 104651 | .unused, |
| | 104652 | .unused, |
| | 104653 | .unused, |
| | 104654 | .unused, |
| | 104655 | .unused, |
| | 104656 | }, |
| | 104657 | .dst_temps = .{ .mem, .unused }, |
| | 104658 | .clobbers = .{ .eflags = true }, |
| | 104659 | .each = .{ .once = &.{ |
| | 104660 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104661 | .{ ._, ._, .movzx, .tmp0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104662 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104663 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104664 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| | 104665 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 104666 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 104667 | .{ ._, .fi_p, .st, .memia(.dst0d, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 104668 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| | 104669 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 104670 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104671 | } }, |
| | 104672 | }, .{ |
| | 104673 | .required_features = .{ .sse3, .x87, null, null }, |
| | 104674 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104214 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, | 104675 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| 104215 | .patterns = &.{ | 104676 | .patterns = &.{ |
| 104216 | .{ .src = .{ .to_mem, .none, .none } }, | 104677 | .{ .src = .{ .to_mem, .none, .none } }, |
| ... | @@ -104241,6 +104702,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104241,6 +104702,43 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104241 | } }, | 104702 | } }, |
| 104242 | }, .{ | 104703 | }, .{ |
| 104243 | .required_features = .{ .x87, null, null, null }, | 104704 | .required_features = .{ .x87, null, null, null }, |
| | 104705 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 104706 | .dst_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any }, |
| | 104707 | .patterns = &.{ |
| | 104708 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104709 | }, |
| | 104710 | .extra_temps = .{ |
| | 104711 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 104712 | .{ .type = .u16, .kind = .mem }, |
| | 104713 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 104714 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104715 | .{ .type = .i64, .kind = .mem }, |
| | 104716 | .unused, |
| | 104717 | .unused, |
| | 104718 | .unused, |
| | 104719 | .unused, |
| | 104720 | .unused, |
| | 104721 | .unused, |
| | 104722 | }, |
| | 104723 | .dst_temps = .{ .mem, .unused }, |
| | 104724 | .clobbers = .{ .eflags = true }, |
| | 104725 | .each = .{ .once = &.{ |
| | 104726 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 104727 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104728 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104729 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104730 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104731 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 104732 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"4", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 104733 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| | 104734 | .{ ._, ._, .mov, .tmp2d, .tmp4d, ._, ._ }, |
| | 104735 | .{ ._, ._, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp2d, ._, ._ }, |
| | 104736 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| | 104737 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 104738 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104739 | } }, |
| | 104740 | }, .{ |
| | 104741 | .required_features = .{ .sse3, .x87, null, null }, |
| 104244 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 104742 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104245 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any }, | 104743 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any }, |
| 104246 | .patterns = &.{ | 104744 | .patterns = &.{ |
| ... | @@ -104266,7 +104764,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104266,7 +104764,39 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104266 | .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ }, | 104764 | .{ ._, .fi_p, .stt, .dst0q, ._, ._, ._ }, |
| 104267 | } }, | 104765 | } }, |
| 104268 | }, .{ | 104766 | }, .{ |
| 104269 | .required_features = .{ .@"64bit", .x87, null, null }, | 104767 | .required_features = .{ .x87, null, null, null }, |
| | 104768 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 104769 | .dst_constraints = .{ .{ .signed_or_exclusive_int = .qword }, .any }, |
| | 104770 | .patterns = &.{ |
| | 104771 | .{ .src = .{ .mem, .none, .none } }, |
| | 104772 | .{ .src = .{ .to_x87, .none, .none } }, |
| | 104773 | }, |
| | 104774 | .extra_temps = .{ |
| | 104775 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104776 | .{ .type = .u16, .kind = .mem }, |
| | 104777 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 104778 | .unused, |
| | 104779 | .unused, |
| | 104780 | .unused, |
| | 104781 | .unused, |
| | 104782 | .unused, |
| | 104783 | .unused, |
| | 104784 | .unused, |
| | 104785 | .unused, |
| | 104786 | }, |
| | 104787 | .dst_temps = .{ .mem, .unused }, |
| | 104788 | .each = .{ .once = &.{ |
| | 104789 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 104790 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104791 | .{ ._, ._, .movzx, .tmp2d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104792 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104793 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104794 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp2b, ._, ._ }, |
| | 104795 | .{ ._, .fi_p, .st, .dst0q, ._, ._, ._ }, |
| | 104796 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104797 | } }, |
| | 104798 | }, .{ |
| | 104799 | .required_features = .{ .@"64bit", .sse3, .x87, null }, |
| 104270 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, | 104800 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| 104271 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, | 104801 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, |
| 104272 | .patterns = &.{ | 104802 | .patterns = &.{ |
| ... | @@ -104302,7 +104832,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104302,7 +104832,49 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104302 | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, | 104832 | .{ ._, ._, .@"or", .dst0q, .tmp0q, ._, ._ }, |
| 104303 | } }, | 104833 | } }, |
| 104304 | }, .{ | 104834 | }, .{ |
| 104305 | .required_features = .{ .x87, null, null, null }, | 104835 | .required_features = .{ .@"64bit", .x87, null, null }, |
| | 104836 | .src_constraints = .{ .{ .float = .tbyte }, .any, .any }, |
| | 104837 | .dst_constraints = .{ .{ .exact_unsigned_int = 64 }, .any }, |
| | 104838 | .patterns = &.{ |
| | 104839 | .{ .src = .{ .mem, .none, .none } }, |
| | 104840 | .{ .src = .{ .to_x87, .none, .none } }, |
| | 104841 | }, |
| | 104842 | .extra_temps = .{ |
| | 104843 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104844 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 104845 | .{ .type = .u16, .kind = .mem }, |
| | 104846 | .{ .type = .f32, .kind = .{ .@"0x1p63_mem" = .{} } }, |
| | 104847 | .{ .type = .i64, .kind = .mem }, |
| | 104848 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| | 104849 | .unused, |
| | 104850 | .unused, |
| | 104851 | .unused, |
| | 104852 | .unused, |
| | 104853 | .unused, |
| | 104854 | }, |
| | 104855 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 104856 | .clobbers = .{ .eflags = true }, |
| | 104857 | .each = .{ .once = &.{ |
| | 104858 | .{ ._, .f_, .ld, .src0t, ._, ._, ._ }, |
| | 104859 | .{ ._, .f_, .ld, .tmp0t, ._, ._, ._ }, |
| | 104860 | .{ ._, .fn_cw, .st, .tmp2w, ._, ._, ._ }, |
| | 104861 | .{ ._, ._, .movzx, .dst0d, .memd(.tmp2b, 1), ._, ._ }, |
| | 104862 | .{ ._, ._, .@"or", .memd(.tmp2b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104863 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104864 | .{ ._, ._, .mov, .memd(.tmp2b, 1), .dst0b, ._, ._ }, |
| | 104865 | .{ ._, ._, .lea, .dst0q, .mem(.tmp3), ._, ._ }, |
| | 104866 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| | 104867 | .{ ._, .f_, .sub, .lea(.dst0d), ._, ._, ._ }, |
| | 104868 | .{ ._, ._, .mov, .tmp5q, .tmp4q, ._, ._ }, |
| | 104869 | .{ ._, .fi_p, .st, .tmp4q, ._, ._, ._ }, |
| | 104870 | .{ ._, .f_cw, .ld, .tmp2w, ._, ._, ._ }, |
| | 104871 | .{ ._, ._, .mov, .dst0q, .tmp5q, ._, ._ }, |
| | 104872 | .{ ._, ._r, .sa, .dst0q, .ui(63), ._, ._ }, |
| | 104873 | .{ ._, ._, .@"and", .dst0q, .tmp4q, ._, ._ }, |
| | 104874 | .{ ._, ._, .@"or", .dst0q, .tmp5q, ._, ._ }, |
| | 104875 | } }, |
| | 104876 | }, .{ |
| | 104877 | .required_features = .{ .sse3, .x87, null, null }, |
| 104306 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104878 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 104307 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any }, | 104879 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 104308 | .patterns = &.{ | 104880 | .patterns = &.{ |
| ... | @@ -104330,6 +104902,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104330,6 +104902,41 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104330 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, | 104902 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 104331 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, | 104903 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 104332 | } }, | 104904 | } }, |
| | 104905 | }, .{ |
| | 104906 | .required_features = .{ .x87, null, null, null }, |
| | 104907 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 104908 | .dst_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 104909 | .patterns = &.{ |
| | 104910 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 104911 | }, |
| | 104912 | .extra_temps = .{ |
| | 104913 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 104914 | .{ .type = .u16, .kind = .mem }, |
| | 104915 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 104916 | .unused, |
| | 104917 | .unused, |
| | 104918 | .unused, |
| | 104919 | .unused, |
| | 104920 | .unused, |
| | 104921 | .unused, |
| | 104922 | .unused, |
| | 104923 | .unused, |
| | 104924 | }, |
| | 104925 | .dst_temps = .{ .mem, .unused }, |
| | 104926 | .clobbers = .{ .eflags = true }, |
| | 104927 | .each = .{ .once = &.{ |
| | 104928 | .{ ._, .fn_cw, .st, .tmp1w, ._, ._, ._ }, |
| | 104929 | .{ ._, ._, .movzx, .tmp0d, .memd(.tmp1b, 1), ._, ._ }, |
| | 104930 | .{ ._, ._, .@"or", .memd(.tmp1b, 1), .ui(0b000_0_11_00), ._, ._ }, |
| | 104931 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104932 | .{ ._, ._, .mov, .memd(.tmp1b, 1), .tmp0b, ._, ._ }, |
| | 104933 | .{ ._, ._, .mov, .tmp0p, .sa(.dst0, .sub_unaligned_size), ._, ._ }, |
| | 104934 | .{ .@"0:", .f_, .ld, .memsia(.src0t, .@"2", .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 104935 | .{ ._, .fi_p, .st, .memia(.dst0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 104936 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 104937 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 104938 | .{ ._, .f_cw, .ld, .tmp1w, ._, ._, ._ }, |
| | 104939 | } }, |
| 104333 | }, .{ | 104940 | }, .{ |
| 104334 | .required_features = .{ .@"64bit", .avx, null, null }, | 104941 | .required_features = .{ .@"64bit", .avx, null, null }, |
| 104335 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, | 104942 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| ... | @@ -116829,7 +117436,40914 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -116829,7 +117436,40914 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116829 | }; | 117436 | }; |
| 116830 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); | 117437 | try res[0].finish(inst, &.{ty_op.operand}, &ops, cg); |
| 116831 | }, | 117438 | }, |
| 116832 | | 117439 | .reduce => |air_tag| if (use_old) try cg.airReduce(inst) else { |
| | 117440 | const nan = std.math.nan(f16); |
| | 117441 | const reduce = air_datas[@intFromEnum(inst)].reduce; |
| | 117442 | const res_ty = cg.typeOfIndex(inst); |
| | 117443 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); |
| | 117444 | var res: [1]Temp = undefined; |
| | 117445 | cg.select(&res, &.{res_ty}, &ops, switch (reduce.operation) { |
| | 117446 | .And, .Or, .Xor => switch (@as(Mir.Inst.Tag, switch (reduce.operation) { |
| | 117447 | else => unreachable, |
| | 117448 | .And => .@"and", |
| | 117449 | .Or => .@"or", |
| | 117450 | .Xor => .xor, |
| | 117451 | })) { |
| | 117452 | else => unreachable, |
| | 117453 | inline .@"and", .@"or", .xor => |mir_tag| comptime &switch (mir_tag) { |
| | 117454 | else => unreachable, |
| | 117455 | .@"and" => [_]Select.Case{ .{ |
| | 117456 | .required_features = .{ .avx, null, null, null }, |
| | 117457 | .dst_constraints = .{ .bool, .any }, |
| | 117458 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117459 | .patterns = &.{ |
| | 117460 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .xword, .is = .inverted } }, .none, .none } }, |
| | 117461 | }, |
| | 117462 | .dst_temps = .{ .{ .cc = .z }, .unused }, |
| | 117463 | .clobbers = .{ .eflags = true }, |
| | 117464 | .each = .{ .once = &.{ |
| | 117465 | .{ ._, .vp_, .@"test", .src0x, .src0x, ._, ._ }, |
| | 117466 | } }, |
| | 117467 | }, .{ |
| | 117468 | .required_features = .{ .sse4_1, null, null, null }, |
| | 117469 | .dst_constraints = .{ .bool, .any }, |
| | 117470 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117471 | .patterns = &.{ |
| | 117472 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .xword, .is = .inverted } }, .none, .none } }, |
| | 117473 | }, |
| | 117474 | .dst_temps = .{ .{ .cc = .z }, .unused }, |
| | 117475 | .clobbers = .{ .eflags = true }, |
| | 117476 | .each = .{ .once = &.{ |
| | 117477 | .{ ._, .p_, .@"test", .src0x, .src0x, ._, ._ }, |
| | 117478 | } }, |
| | 117479 | }, .{ |
| | 117480 | .required_features = .{ .avx, null, null, null }, |
| | 117481 | .dst_constraints = .{ .bool, .any }, |
| | 117482 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117483 | .patterns = &.{ |
| | 117484 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .xword } }, .none, .none } }, |
| | 117485 | }, |
| | 117486 | .extra_temps = .{ |
| | 117487 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 117488 | .unused, |
| | 117489 | .unused, |
| | 117490 | .unused, |
| | 117491 | .unused, |
| | 117492 | .unused, |
| | 117493 | .unused, |
| | 117494 | .unused, |
| | 117495 | .unused, |
| | 117496 | .unused, |
| | 117497 | .unused, |
| | 117498 | }, |
| | 117499 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .all = 1 } }, .unused }, |
| | 117500 | .clobbers = .{ .eflags = true }, |
| | 117501 | .each = .{ .once = &.{ |
| | 117502 | .{ ._, .vp_b, .cmpeq, .tmp0x, .tmp0x, .tmp0x, ._ }, |
| | 117503 | .{ ._, .vp_, .@"test", .src0x, .tmp0x, ._, ._ }, |
| | 117504 | } }, |
| | 117505 | }, .{ |
| | 117506 | .required_features = .{ .sse4_1, null, null, null }, |
| | 117507 | .dst_constraints = .{ .bool, .any }, |
| | 117508 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117509 | .patterns = &.{ |
| | 117510 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .xword } }, .none, .none } }, |
| | 117511 | }, |
| | 117512 | .extra_temps = .{ |
| | 117513 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 117514 | .unused, |
| | 117515 | .unused, |
| | 117516 | .unused, |
| | 117517 | .unused, |
| | 117518 | .unused, |
| | 117519 | .unused, |
| | 117520 | .unused, |
| | 117521 | .unused, |
| | 117522 | .unused, |
| | 117523 | .unused, |
| | 117524 | }, |
| | 117525 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .all = 1 } }, .unused }, |
| | 117526 | .clobbers = .{ .eflags = true }, |
| | 117527 | .each = .{ .once = &.{ |
| | 117528 | .{ ._, .p_b, .cmpeq, .tmp0x, .tmp0x, ._, ._ }, |
| | 117529 | .{ ._, .p_, .@"test", .src0x, .tmp0x, ._, ._ }, |
| | 117530 | } }, |
| | 117531 | }, .{ |
| | 117532 | .required_features = .{ .avx, null, null, null }, |
| | 117533 | .dst_constraints = .{ .bool, .any }, |
| | 117534 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117535 | .patterns = &.{ |
| | 117536 | .{ .src = .{ .{ .reg_mask = .{ .size = .xword } }, .none, .none } }, |
| | 117537 | }, |
| | 117538 | .extra_temps = .{ |
| | 117539 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 117540 | .{ .type = .vector_16_u8, .kind = .{ .ptest_mask_mem = .src0 } }, |
| | 117541 | .unused, |
| | 117542 | .unused, |
| | 117543 | .unused, |
| | 117544 | .unused, |
| | 117545 | .unused, |
| | 117546 | .unused, |
| | 117547 | .unused, |
| | 117548 | .unused, |
| | 117549 | .unused, |
| | 117550 | }, |
| | 117551 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .all = 1 } }, .unused }, |
| | 117552 | .clobbers = .{ .eflags = true }, |
| | 117553 | .each = .{ .once = &.{ |
| | 117554 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 117555 | .{ ._, .vp_, .@"test", .src0x, .lea(.tmp0x), ._, ._ }, |
| | 117556 | } }, |
| | 117557 | }, .{ |
| | 117558 | .required_features = .{ .sse4_1, null, null, null }, |
| | 117559 | .dst_constraints = .{ .bool, .any }, |
| | 117560 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117561 | .patterns = &.{ |
| | 117562 | .{ .src = .{ .{ .reg_mask = .{ .size = .xword } }, .none, .none } }, |
| | 117563 | }, |
| | 117564 | .extra_temps = .{ |
| | 117565 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 117566 | .{ .type = .vector_16_u8, .kind = .{ .ptest_mask_mem = .src0 } }, |
| | 117567 | .unused, |
| | 117568 | .unused, |
| | 117569 | .unused, |
| | 117570 | .unused, |
| | 117571 | .unused, |
| | 117572 | .unused, |
| | 117573 | .unused, |
| | 117574 | .unused, |
| | 117575 | .unused, |
| | 117576 | }, |
| | 117577 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .all = 1 } }, .unused }, |
| | 117578 | .clobbers = .{ .eflags = true }, |
| | 117579 | .each = .{ .once = &.{ |
| | 117580 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 117581 | .{ ._, .p_, .@"test", .src0x, .lea(.tmp0x), ._, ._ }, |
| | 117582 | } }, |
| | 117583 | }, .{ |
| | 117584 | .required_features = .{ .avx2, null, null, null }, |
| | 117585 | .dst_constraints = .{ .bool, .any }, |
| | 117586 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117587 | .patterns = &.{ |
| | 117588 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .yword, .is = .inverted } }, .none, .none } }, |
| | 117589 | }, |
| | 117590 | .dst_temps = .{ .{ .cc = .z }, .unused }, |
| | 117591 | .clobbers = .{ .eflags = true }, |
| | 117592 | .each = .{ .once = &.{ |
| | 117593 | .{ ._, .vp_, .@"test", .src0y, .src0y, ._, ._ }, |
| | 117594 | } }, |
| | 117595 | }, .{ |
| | 117596 | .required_features = .{ .avx, null, null, null }, |
| | 117597 | .dst_constraints = .{ .bool, .any }, |
| | 117598 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117599 | .patterns = &.{ |
| | 117600 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .yword, .is = .inverted } }, .none, .none } }, |
| | 117601 | }, |
| | 117602 | .dst_temps = .{ .{ .cc = .z }, .unused }, |
| | 117603 | .clobbers = .{ .eflags = true }, |
| | 117604 | .each = .{ .once = &.{ |
| | 117605 | .{ ._, .v_ps, .@"test", .src0y, .src0y, ._, ._ }, |
| | 117606 | } }, |
| | 117607 | }, .{ |
| | 117608 | .required_features = .{ .avx2, null, null, null }, |
| | 117609 | .dst_constraints = .{ .bool, .any }, |
| | 117610 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117611 | .patterns = &.{ |
| | 117612 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .yword } }, .none, .none } }, |
| | 117613 | }, |
| | 117614 | .extra_temps = .{ |
| | 117615 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 117616 | .unused, |
| | 117617 | .unused, |
| | 117618 | .unused, |
| | 117619 | .unused, |
| | 117620 | .unused, |
| | 117621 | .unused, |
| | 117622 | .unused, |
| | 117623 | .unused, |
| | 117624 | .unused, |
| | 117625 | .unused, |
| | 117626 | }, |
| | 117627 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .all = 1 } }, .unused }, |
| | 117628 | .clobbers = .{ .eflags = true }, |
| | 117629 | .each = .{ .once = &.{ |
| | 117630 | .{ ._, .vp_b, .cmpeq, .tmp0y, .tmp0y, .tmp0y, ._ }, |
| | 117631 | .{ ._, .vp_, .@"test", .src0y, .tmp0y, ._, ._ }, |
| | 117632 | } }, |
| | 117633 | }, .{ |
| | 117634 | .required_features = .{ .avx, null, null, null }, |
| | 117635 | .dst_constraints = .{ .bool, .any }, |
| | 117636 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117637 | .patterns = &.{ |
| | 117638 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .yword } }, .none, .none } }, |
| | 117639 | }, |
| | 117640 | .extra_temps = .{ |
| | 117641 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 117642 | .unused, |
| | 117643 | .unused, |
| | 117644 | .unused, |
| | 117645 | .unused, |
| | 117646 | .unused, |
| | 117647 | .unused, |
| | 117648 | .unused, |
| | 117649 | .unused, |
| | 117650 | .unused, |
| | 117651 | .unused, |
| | 117652 | }, |
| | 117653 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .all = 1 } }, .unused }, |
| | 117654 | .clobbers = .{ .eflags = true }, |
| | 117655 | .each = .{ .once = &.{ |
| | 117656 | .{ ._, .v_ps, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.true) }, |
| | 117657 | .{ ._, .v_ps, .@"test", .src0y, .tmp0y, ._, ._ }, |
| | 117658 | } }, |
| | 117659 | }, .{ |
| | 117660 | .required_features = .{ .avx, null, null, null }, |
| | 117661 | .dst_constraints = .{ .bool, .any }, |
| | 117662 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117663 | .patterns = &.{ |
| | 117664 | .{ .src = .{ .{ .reg_mask = .{ .size = .yword } }, .none, .none } }, |
| | 117665 | }, |
| | 117666 | .extra_temps = .{ |
| | 117667 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 117668 | .{ .type = .vector_32_u8, .kind = .{ .ptest_mask_mem = .src0 } }, |
| | 117669 | .unused, |
| | 117670 | .unused, |
| | 117671 | .unused, |
| | 117672 | .unused, |
| | 117673 | .unused, |
| | 117674 | .unused, |
| | 117675 | .unused, |
| | 117676 | .unused, |
| | 117677 | .unused, |
| | 117678 | }, |
| | 117679 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .all = 1 } }, .unused }, |
| | 117680 | .clobbers = .{ .eflags = true }, |
| | 117681 | .each = .{ .once = &.{ |
| | 117682 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 117683 | .{ ._, .vp_, .@"test", .src0y, .lea(.tmp0y), ._, ._ }, |
| | 117684 | } }, |
| | 117685 | }, .{ |
| | 117686 | .dst_constraints = .{ .bool, .any }, |
| | 117687 | .src_constraints = .{ .{ .exact_bool_vec = 8 }, .any, .any }, |
| | 117688 | .patterns = &.{ |
| | 117689 | .{ .src = .{ .mem, .none, .none } }, |
| | 117690 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 117691 | }, |
| | 117692 | .dst_temps = .{ .{ .cc = .e }, .unused }, |
| | 117693 | .clobbers = .{ .eflags = true }, |
| | 117694 | .each = .{ .once = &.{ |
| | 117695 | .{ ._, ._, .cmp, .src0b, .si(-1), ._, ._ }, |
| | 117696 | } }, |
| | 117697 | }, .{ |
| | 117698 | .dst_constraints = .{ .bool, .any }, |
| | 117699 | .src_constraints = .{ .{ .bool_vec = .byte }, .any, .any }, |
| | 117700 | .patterns = &.{ |
| | 117701 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 117702 | }, |
| | 117703 | .dst_temps = .{ .{ .cc = .z }, .unused }, |
| | 117704 | .clobbers = .{ .eflags = true }, |
| | 117705 | .each = .{ .once = &.{ |
| | 117706 | .{ ._, ._, .not, .src0b, ._, ._, ._ }, |
| | 117707 | .{ ._, ._, .@"test", .src0b, .ua(.src0, .add_umax), ._, ._ }, |
| | 117708 | } }, |
| | 117709 | }, .{ |
| | 117710 | .dst_constraints = .{ .bool, .any }, |
| | 117711 | .src_constraints = .{ .{ .exact_bool_vec = 16 }, .any, .any }, |
| | 117712 | .patterns = &.{ |
| | 117713 | .{ .src = .{ .mem, .none, .none } }, |
| | 117714 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 117715 | }, |
| | 117716 | .dst_temps = .{ .{ .cc = .e }, .unused }, |
| | 117717 | .clobbers = .{ .eflags = true }, |
| | 117718 | .each = .{ .once = &.{ |
| | 117719 | .{ ._, ._, .cmp, .src0w, .si(-1), ._, ._ }, |
| | 117720 | } }, |
| | 117721 | }, .{ |
| | 117722 | .dst_constraints = .{ .bool, .any }, |
| | 117723 | .src_constraints = .{ .{ .bool_vec = .word }, .any, .any }, |
| | 117724 | .patterns = &.{ |
| | 117725 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 117726 | }, |
| | 117727 | .dst_temps = .{ .{ .cc = .z }, .unused }, |
| | 117728 | .clobbers = .{ .eflags = true }, |
| | 117729 | .each = .{ .once = &.{ |
| | 117730 | .{ ._, ._, .not, .src0d, ._, ._, ._ }, |
| | 117731 | .{ ._, ._, .@"test", .src0d, .ua(.src0, .add_umax), ._, ._ }, |
| | 117732 | } }, |
| | 117733 | }, .{ |
| | 117734 | .dst_constraints = .{ .bool, .any }, |
| | 117735 | .src_constraints = .{ .{ .exact_bool_vec = 32 }, .any, .any }, |
| | 117736 | .patterns = &.{ |
| | 117737 | .{ .src = .{ .mem, .none, .none } }, |
| | 117738 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 117739 | }, |
| | 117740 | .dst_temps = .{ .{ .cc = .e }, .unused }, |
| | 117741 | .clobbers = .{ .eflags = true }, |
| | 117742 | .each = .{ .once = &.{ |
| | 117743 | .{ ._, ._, .cmp, .src0d, .si(-1), ._, ._ }, |
| | 117744 | } }, |
| | 117745 | }, .{ |
| | 117746 | .dst_constraints = .{ .bool, .any }, |
| | 117747 | .src_constraints = .{ .{ .bool_vec = .dword }, .any, .any }, |
| | 117748 | .patterns = &.{ |
| | 117749 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 117750 | }, |
| | 117751 | .dst_temps = .{ .{ .cc = .z }, .unused }, |
| | 117752 | .clobbers = .{ .eflags = true }, |
| | 117753 | .each = .{ .once = &.{ |
| | 117754 | .{ ._, ._, .not, .src0d, ._, ._, ._ }, |
| | 117755 | .{ ._, ._, .@"test", .src0d, .ua(.src0, .add_umax), ._, ._ }, |
| | 117756 | } }, |
| | 117757 | }, .{ |
| | 117758 | .required_features = .{ .@"64bit", null, null, null }, |
| | 117759 | .dst_constraints = .{ .bool, .any }, |
| | 117760 | .src_constraints = .{ .{ .exact_bool_vec = 64 }, .any, .any }, |
| | 117761 | .patterns = &.{ |
| | 117762 | .{ .src = .{ .mem, .none, .none } }, |
| | 117763 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 117764 | }, |
| | 117765 | .dst_temps = .{ .{ .cc = .e }, .unused }, |
| | 117766 | .clobbers = .{ .eflags = true }, |
| | 117767 | .each = .{ .once = &.{ |
| | 117768 | .{ ._, ._, .cmp, .src0q, .si(-1), ._, ._ }, |
| | 117769 | } }, |
| | 117770 | }, .{ |
| | 117771 | .required_features = .{ .@"64bit", null, null, null }, |
| | 117772 | .dst_constraints = .{ .bool, .any }, |
| | 117773 | .src_constraints = .{ .{ .bool_vec = .qword }, .any, .any }, |
| | 117774 | .patterns = &.{ |
| | 117775 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 117776 | }, |
| | 117777 | .extra_temps = .{ |
| | 117778 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 117779 | .unused, |
| | 117780 | .unused, |
| | 117781 | .unused, |
| | 117782 | .unused, |
| | 117783 | .unused, |
| | 117784 | .unused, |
| | 117785 | .unused, |
| | 117786 | .unused, |
| | 117787 | .unused, |
| | 117788 | .unused, |
| | 117789 | }, |
| | 117790 | .dst_temps = .{ .{ .cc = .z }, .unused }, |
| | 117791 | .clobbers = .{ .eflags = true }, |
| | 117792 | .each = .{ .once = &.{ |
| | 117793 | .{ ._, ._, .not, .src0q, ._, ._, ._ }, |
| | 117794 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 117795 | .{ ._, ._, .@"test", .src0q, .tmp0q, ._, ._ }, |
| | 117796 | } }, |
| | 117797 | }, .{ |
| | 117798 | .required_features = .{ .@"64bit", null, null, null }, |
| | 117799 | .dst_constraints = .{ .bool, .any }, |
| | 117800 | .src_constraints = .{ .{ .exact_remainder_bool_vec = .{ .of = .qword, .is = 64 } }, .any, .any }, |
| | 117801 | .patterns = &.{ |
| | 117802 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 117803 | }, |
| | 117804 | .extra_temps = .{ |
| | 117805 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 117806 | .unused, |
| | 117807 | .unused, |
| | 117808 | .unused, |
| | 117809 | .unused, |
| | 117810 | .unused, |
| | 117811 | .unused, |
| | 117812 | .unused, |
| | 117813 | .unused, |
| | 117814 | .unused, |
| | 117815 | .unused, |
| | 117816 | }, |
| | 117817 | .dst_temps = .{ .{ .cc = .nc }, .unused }, |
| | 117818 | .clobbers = .{ .eflags = true }, |
| | 117819 | .each = .{ .once = &.{ |
| | 117820 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_bit_size_div_8), ._, ._ }, |
| | 117821 | .{ .@"1:", ._, .cmp, .memi(.src0q, .tmp0), .si(-1), ._, ._ }, |
| | 117822 | .{ ._, ._ne, .j, .@"0f", ._, ._, ._ }, |
| | 117823 | .{ ._, ._, .add, .tmp0d, .si(-8), ._, ._ }, |
| | 117824 | .{ ._, ._b, .j, .@"1b", ._, ._, ._ }, |
| | 117825 | } }, |
| | 117826 | }, .{ |
| | 117827 | .required_features = .{ .@"64bit", null, null, null }, |
| | 117828 | .dst_constraints = .{ .bool, .any }, |
| | 117829 | .src_constraints = .{ .{ .remainder_bool_vec = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 117830 | .patterns = &.{ |
| | 117831 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 117832 | }, |
| | 117833 | .extra_temps = .{ |
| | 117834 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 117835 | .unused, |
| | 117836 | .unused, |
| | 117837 | .unused, |
| | 117838 | .unused, |
| | 117839 | .unused, |
| | 117840 | .unused, |
| | 117841 | .unused, |
| | 117842 | .unused, |
| | 117843 | .unused, |
| | 117844 | .unused, |
| | 117845 | }, |
| | 117846 | .dst_temps = .{ .{ .cc = .nc }, .unused }, |
| | 117847 | .clobbers = .{ .eflags = true }, |
| | 117848 | .each = .{ .once = &.{ |
| | 117849 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_2_smin), ._, ._ }, |
| | 117850 | .{ ._, ._, .@"or", .tmp0q, .mema(.src0q, .add_bit_size_div_8_down_8), ._, ._ }, |
| | 117851 | .{ ._, ._, .cmp, .tmp0q, .si(-1), ._, ._ }, |
| | 117852 | .{ ._, ._ne, .j, .@"0f", ._, ._, ._ }, |
| | 117853 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_bit_size_div_8_down_8), ._, ._ }, |
| | 117854 | .{ .@"1:", ._, .cmp, .memi(.src0q, .tmp0), .si(-1), ._, ._ }, |
| | 117855 | .{ ._, ._ne, .j, .@"0f", ._, ._, ._ }, |
| | 117856 | .{ ._, ._, .add, .tmp0d, .si(-8), ._, ._ }, |
| | 117857 | .{ ._, ._b, .j, .@"1b", ._, ._, ._ }, |
| | 117858 | } }, |
| | 117859 | } }, |
| | 117860 | .@"or" => [_]Select.Case{ .{ |
| | 117861 | .required_features = .{ .avx, null, null, null }, |
| | 117862 | .dst_constraints = .{ .bool, .any }, |
| | 117863 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117864 | .patterns = &.{ |
| | 117865 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .xword, .is = .uninverted } }, .none, .none } }, |
| | 117866 | }, |
| | 117867 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 117868 | .clobbers = .{ .eflags = true }, |
| | 117869 | .each = .{ .once = &.{ |
| | 117870 | .{ ._, .vp_, .@"test", .src0x, .src0x, ._, ._ }, |
| | 117871 | } }, |
| | 117872 | }, .{ |
| | 117873 | .required_features = .{ .sse4_1, null, null, null }, |
| | 117874 | .dst_constraints = .{ .bool, .any }, |
| | 117875 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117876 | .patterns = &.{ |
| | 117877 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .xword, .is = .uninverted } }, .none, .none } }, |
| | 117878 | }, |
| | 117879 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 117880 | .clobbers = .{ .eflags = true }, |
| | 117881 | .each = .{ .once = &.{ |
| | 117882 | .{ ._, .p_, .@"test", .src0x, .src0x, ._, ._ }, |
| | 117883 | } }, |
| | 117884 | }, .{ |
| | 117885 | .required_features = .{ .avx, null, null, null }, |
| | 117886 | .dst_constraints = .{ .bool, .any }, |
| | 117887 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117888 | .patterns = &.{ |
| | 117889 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .xword } }, .none, .none } }, |
| | 117890 | }, |
| | 117891 | .extra_temps = .{ |
| | 117892 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 117893 | .unused, |
| | 117894 | .unused, |
| | 117895 | .unused, |
| | 117896 | .unused, |
| | 117897 | .unused, |
| | 117898 | .unused, |
| | 117899 | .unused, |
| | 117900 | .unused, |
| | 117901 | .unused, |
| | 117902 | .unused, |
| | 117903 | }, |
| | 117904 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .not = true, .all = 0 } }, .unused }, |
| | 117905 | .clobbers = .{ .eflags = true }, |
| | 117906 | .each = .{ .once = &.{ |
| | 117907 | .{ ._, .vp_b, .cmpeq, .tmp0x, .tmp0x, .tmp0x, ._ }, |
| | 117908 | .{ ._, .vp_, .@"test", .src0x, .tmp0x, ._, ._ }, |
| | 117909 | } }, |
| | 117910 | }, .{ |
| | 117911 | .required_features = .{ .sse4_1, null, null, null }, |
| | 117912 | .dst_constraints = .{ .bool, .any }, |
| | 117913 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117914 | .patterns = &.{ |
| | 117915 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .xword } }, .none, .none } }, |
| | 117916 | }, |
| | 117917 | .extra_temps = .{ |
| | 117918 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 117919 | .unused, |
| | 117920 | .unused, |
| | 117921 | .unused, |
| | 117922 | .unused, |
| | 117923 | .unused, |
| | 117924 | .unused, |
| | 117925 | .unused, |
| | 117926 | .unused, |
| | 117927 | .unused, |
| | 117928 | .unused, |
| | 117929 | }, |
| | 117930 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .not = true, .all = 0 } }, .unused }, |
| | 117931 | .clobbers = .{ .eflags = true }, |
| | 117932 | .each = .{ .once = &.{ |
| | 117933 | .{ ._, .p_b, .cmpeq, .tmp0x, .tmp0x, ._, ._ }, |
| | 117934 | .{ ._, .p_, .@"test", .src0x, .tmp0x, ._, ._ }, |
| | 117935 | } }, |
| | 117936 | }, .{ |
| | 117937 | .required_features = .{ .avx, null, null, null }, |
| | 117938 | .dst_constraints = .{ .bool, .any }, |
| | 117939 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117940 | .patterns = &.{ |
| | 117941 | .{ .src = .{ .{ .reg_mask = .{ .size = .xword } }, .none, .none } }, |
| | 117942 | }, |
| | 117943 | .extra_temps = .{ |
| | 117944 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 117945 | .{ .type = .vector_16_u8, .kind = .{ .ptest_mask_mem = .src0 } }, |
| | 117946 | .unused, |
| | 117947 | .unused, |
| | 117948 | .unused, |
| | 117949 | .unused, |
| | 117950 | .unused, |
| | 117951 | .unused, |
| | 117952 | .unused, |
| | 117953 | .unused, |
| | 117954 | .unused, |
| | 117955 | }, |
| | 117956 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .not = true, .all = 0 } }, .unused }, |
| | 117957 | .clobbers = .{ .eflags = true }, |
| | 117958 | .each = .{ .once = &.{ |
| | 117959 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 117960 | .{ ._, .vp_, .@"test", .src0x, .lea(.tmp0x), ._, ._ }, |
| | 117961 | } }, |
| | 117962 | }, .{ |
| | 117963 | .required_features = .{ .sse4_1, null, null, null }, |
| | 117964 | .dst_constraints = .{ .bool, .any }, |
| | 117965 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117966 | .patterns = &.{ |
| | 117967 | .{ .src = .{ .{ .reg_mask = .{ .size = .xword } }, .none, .none } }, |
| | 117968 | }, |
| | 117969 | .extra_temps = .{ |
| | 117970 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 117971 | .{ .type = .vector_16_u8, .kind = .{ .ptest_mask_mem = .src0 } }, |
| | 117972 | .unused, |
| | 117973 | .unused, |
| | 117974 | .unused, |
| | 117975 | .unused, |
| | 117976 | .unused, |
| | 117977 | .unused, |
| | 117978 | .unused, |
| | 117979 | .unused, |
| | 117980 | .unused, |
| | 117981 | }, |
| | 117982 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .not = true, .all = 0 } }, .unused }, |
| | 117983 | .clobbers = .{ .eflags = true }, |
| | 117984 | .each = .{ .once = &.{ |
| | 117985 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 117986 | .{ ._, .p_, .@"test", .src0x, .lea(.tmp0x), ._, ._ }, |
| | 117987 | } }, |
| | 117988 | }, .{ |
| | 117989 | .required_features = .{ .avx2, null, null, null }, |
| | 117990 | .dst_constraints = .{ .bool, .any }, |
| | 117991 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 117992 | .patterns = &.{ |
| | 117993 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .yword, .is = .uninverted } }, .none, .none } }, |
| | 117994 | }, |
| | 117995 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 117996 | .clobbers = .{ .eflags = true }, |
| | 117997 | .each = .{ .once = &.{ |
| | 117998 | .{ ._, .vp_, .@"test", .src0y, .src0y, ._, ._ }, |
| | 117999 | } }, |
| | 118000 | }, .{ |
| | 118001 | .required_features = .{ .avx, null, null, null }, |
| | 118002 | .dst_constraints = .{ .bool, .any }, |
| | 118003 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 118004 | .patterns = &.{ |
| | 118005 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .yword, .is = .uninverted } }, .none, .none } }, |
| | 118006 | }, |
| | 118007 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118008 | .clobbers = .{ .eflags = true }, |
| | 118009 | .each = .{ .once = &.{ |
| | 118010 | .{ ._, .v_ps, .@"test", .src0y, .src0y, ._, ._ }, |
| | 118011 | } }, |
| | 118012 | }, .{ |
| | 118013 | .required_features = .{ .avx2, null, null, null }, |
| | 118014 | .dst_constraints = .{ .bool, .any }, |
| | 118015 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 118016 | .patterns = &.{ |
| | 118017 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .yword } }, .none, .none } }, |
| | 118018 | }, |
| | 118019 | .extra_temps = .{ |
| | 118020 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 118021 | .unused, |
| | 118022 | .unused, |
| | 118023 | .unused, |
| | 118024 | .unused, |
| | 118025 | .unused, |
| | 118026 | .unused, |
| | 118027 | .unused, |
| | 118028 | .unused, |
| | 118029 | .unused, |
| | 118030 | .unused, |
| | 118031 | }, |
| | 118032 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .not = true, .all = 0 } }, .unused }, |
| | 118033 | .clobbers = .{ .eflags = true }, |
| | 118034 | .each = .{ .once = &.{ |
| | 118035 | .{ ._, .vp_b, .cmpeq, .tmp0y, .tmp0y, .tmp0y, ._ }, |
| | 118036 | .{ ._, .vp_, .@"test", .src0y, .tmp0y, ._, ._ }, |
| | 118037 | } }, |
| | 118038 | }, .{ |
| | 118039 | .required_features = .{ .avx, null, null, null }, |
| | 118040 | .dst_constraints = .{ .bool, .any }, |
| | 118041 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 118042 | .patterns = &.{ |
| | 118043 | .{ .src = .{ .{ .all_reg_mask = .{ .size = .yword } }, .none, .none } }, |
| | 118044 | }, |
| | 118045 | .extra_temps = .{ |
| | 118046 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 118047 | .unused, |
| | 118048 | .unused, |
| | 118049 | .unused, |
| | 118050 | .unused, |
| | 118051 | .unused, |
| | 118052 | .unused, |
| | 118053 | .unused, |
| | 118054 | .unused, |
| | 118055 | .unused, |
| | 118056 | .unused, |
| | 118057 | }, |
| | 118058 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .not = true, .all = 0 } }, .unused }, |
| | 118059 | .clobbers = .{ .eflags = true }, |
| | 118060 | .each = .{ .once = &.{ |
| | 118061 | .{ ._, .v_ps, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.true) }, |
| | 118062 | .{ ._, .v_ps, .@"test", .src0y, .tmp0y, ._, ._ }, |
| | 118063 | } }, |
| | 118064 | }, .{ |
| | 118065 | .required_features = .{ .avx, null, null, null }, |
| | 118066 | .dst_constraints = .{ .bool, .any }, |
| | 118067 | .src_constraints = .{ .any_bool_vec, .any, .any }, |
| | 118068 | .patterns = &.{ |
| | 118069 | .{ .src = .{ .{ .reg_mask = .{ .size = .yword } }, .none, .none } }, |
| | 118070 | }, |
| | 118071 | .extra_temps = .{ |
| | 118072 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 118073 | .{ .type = .vector_32_u8, .kind = .{ .ptest_mask_mem = .src0 } }, |
| | 118074 | .unused, |
| | 118075 | .unused, |
| | 118076 | .unused, |
| | 118077 | .unused, |
| | 118078 | .unused, |
| | 118079 | .unused, |
| | 118080 | .unused, |
| | 118081 | .unused, |
| | 118082 | .unused, |
| | 118083 | }, |
| | 118084 | .dst_temps = .{ .{ .ptest_cc = .{ .ref = .src0, .not = true, .all = 0 } }, .unused }, |
| | 118085 | .clobbers = .{ .eflags = true }, |
| | 118086 | .each = .{ .once = &.{ |
| | 118087 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 118088 | .{ ._, .vp_, .@"test", .src0y, .lea(.tmp0y), ._, ._ }, |
| | 118089 | } }, |
| | 118090 | }, .{ |
| | 118091 | .dst_constraints = .{ .bool, .any }, |
| | 118092 | .src_constraints = .{ .{ .exact_bool_vec = 8 }, .any, .any }, |
| | 118093 | .patterns = &.{ |
| | 118094 | .{ .src = .{ .mem, .none, .none } }, |
| | 118095 | }, |
| | 118096 | .dst_temps = .{ .{ .cc = .ne }, .unused }, |
| | 118097 | .clobbers = .{ .eflags = true }, |
| | 118098 | .each = .{ .once = &.{ |
| | 118099 | .{ ._, ._, .cmp, .src0b, .si(0), ._, ._ }, |
| | 118100 | } }, |
| | 118101 | }, .{ |
| | 118102 | .dst_constraints = .{ .bool, .any }, |
| | 118103 | .src_constraints = .{ .{ .exact_bool_vec = 8 }, .any, .any }, |
| | 118104 | .patterns = &.{ |
| | 118105 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118106 | }, |
| | 118107 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118108 | .clobbers = .{ .eflags = true }, |
| | 118109 | .each = .{ .once = &.{ |
| | 118110 | .{ ._, ._, .@"test", .src0b, .src0b, ._, ._ }, |
| | 118111 | } }, |
| | 118112 | }, .{ |
| | 118113 | .dst_constraints = .{ .bool, .any }, |
| | 118114 | .src_constraints = .{ .{ .bool_vec = .byte }, .any, .any }, |
| | 118115 | .patterns = &.{ |
| | 118116 | .{ .src = .{ .mem, .none, .none } }, |
| | 118117 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118118 | }, |
| | 118119 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118120 | .clobbers = .{ .eflags = true }, |
| | 118121 | .each = .{ .once = &.{ |
| | 118122 | .{ ._, ._, .@"test", .src0b, .ua(.src0, .add_umax), ._, ._ }, |
| | 118123 | } }, |
| | 118124 | }, .{ |
| | 118125 | .dst_constraints = .{ .bool, .any }, |
| | 118126 | .src_constraints = .{ .{ .exact_bool_vec = 16 }, .any, .any }, |
| | 118127 | .patterns = &.{ |
| | 118128 | .{ .src = .{ .mem, .none, .none } }, |
| | 118129 | }, |
| | 118130 | .dst_temps = .{ .{ .cc = .ne }, .unused }, |
| | 118131 | .clobbers = .{ .eflags = true }, |
| | 118132 | .each = .{ .once = &.{ |
| | 118133 | .{ ._, ._, .cmp, .src0w, .si(0), ._, ._ }, |
| | 118134 | } }, |
| | 118135 | }, .{ |
| | 118136 | .dst_constraints = .{ .bool, .any }, |
| | 118137 | .src_constraints = .{ .{ .exact_bool_vec = 16 }, .any, .any }, |
| | 118138 | .patterns = &.{ |
| | 118139 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118140 | }, |
| | 118141 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118142 | .clobbers = .{ .eflags = true }, |
| | 118143 | .each = .{ .once = &.{ |
| | 118144 | .{ ._, ._, .@"test", .src0w, .src0w, ._, ._ }, |
| | 118145 | } }, |
| | 118146 | }, .{ |
| | 118147 | .dst_constraints = .{ .bool, .any }, |
| | 118148 | .src_constraints = .{ .{ .bool_vec = .word }, .any, .any }, |
| | 118149 | .patterns = &.{ |
| | 118150 | .{ .src = .{ .mem, .none, .none } }, |
| | 118151 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118152 | }, |
| | 118153 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118154 | .clobbers = .{ .eflags = true }, |
| | 118155 | .each = .{ .once = &.{ |
| | 118156 | .{ ._, ._, .@"test", .src0w, .ua(.src0, .add_umax), ._, ._ }, |
| | 118157 | } }, |
| | 118158 | }, .{ |
| | 118159 | .dst_constraints = .{ .bool, .any }, |
| | 118160 | .src_constraints = .{ .{ .exact_bool_vec = 32 }, .any, .any }, |
| | 118161 | .patterns = &.{ |
| | 118162 | .{ .src = .{ .mem, .none, .none } }, |
| | 118163 | }, |
| | 118164 | .dst_temps = .{ .{ .cc = .ne }, .unused }, |
| | 118165 | .clobbers = .{ .eflags = true }, |
| | 118166 | .each = .{ .once = &.{ |
| | 118167 | .{ ._, ._, .cmp, .src0d, .si(0), ._, ._ }, |
| | 118168 | } }, |
| | 118169 | }, .{ |
| | 118170 | .dst_constraints = .{ .bool, .any }, |
| | 118171 | .src_constraints = .{ .{ .exact_bool_vec = 32 }, .any, .any }, |
| | 118172 | .patterns = &.{ |
| | 118173 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118174 | }, |
| | 118175 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118176 | .clobbers = .{ .eflags = true }, |
| | 118177 | .each = .{ .once = &.{ |
| | 118178 | .{ ._, ._, .@"test", .src0d, .src0d, ._, ._ }, |
| | 118179 | } }, |
| | 118180 | }, .{ |
| | 118181 | .dst_constraints = .{ .bool, .any }, |
| | 118182 | .src_constraints = .{ .{ .bool_vec = .dword }, .any, .any }, |
| | 118183 | .patterns = &.{ |
| | 118184 | .{ .src = .{ .mem, .none, .none } }, |
| | 118185 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118186 | }, |
| | 118187 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118188 | .clobbers = .{ .eflags = true }, |
| | 118189 | .each = .{ .once = &.{ |
| | 118190 | .{ ._, ._, .@"test", .src0d, .ua(.src0, .add_umax), ._, ._ }, |
| | 118191 | } }, |
| | 118192 | }, .{ |
| | 118193 | .required_features = .{ .@"64bit", null, null, null }, |
| | 118194 | .dst_constraints = .{ .bool, .any }, |
| | 118195 | .src_constraints = .{ .{ .exact_bool_vec = 64 }, .any, .any }, |
| | 118196 | .patterns = &.{ |
| | 118197 | .{ .src = .{ .mem, .none, .none } }, |
| | 118198 | }, |
| | 118199 | .dst_temps = .{ .{ .cc = .ne }, .unused }, |
| | 118200 | .clobbers = .{ .eflags = true }, |
| | 118201 | .each = .{ .once = &.{ |
| | 118202 | .{ ._, ._, .cmp, .src0q, .si(0), ._, ._ }, |
| | 118203 | } }, |
| | 118204 | }, .{ |
| | 118205 | .required_features = .{ .@"64bit", null, null, null }, |
| | 118206 | .dst_constraints = .{ .bool, .any }, |
| | 118207 | .src_constraints = .{ .{ .exact_bool_vec = 64 }, .any, .any }, |
| | 118208 | .patterns = &.{ |
| | 118209 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118210 | }, |
| | 118211 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118212 | .clobbers = .{ .eflags = true }, |
| | 118213 | .each = .{ .once = &.{ |
| | 118214 | .{ ._, ._, .@"test", .src0q, .src0q, ._, ._ }, |
| | 118215 | } }, |
| | 118216 | }, .{ |
| | 118217 | .required_features = .{ .@"64bit", null, null, null }, |
| | 118218 | .dst_constraints = .{ .bool, .any }, |
| | 118219 | .src_constraints = .{ .{ .bool_vec = .qword }, .any, .any }, |
| | 118220 | .patterns = &.{ |
| | 118221 | .{ .src = .{ .mem, .none, .none } }, |
| | 118222 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118223 | }, |
| | 118224 | .extra_temps = .{ |
| | 118225 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118226 | .unused, |
| | 118227 | .unused, |
| | 118228 | .unused, |
| | 118229 | .unused, |
| | 118230 | .unused, |
| | 118231 | .unused, |
| | 118232 | .unused, |
| | 118233 | .unused, |
| | 118234 | .unused, |
| | 118235 | .unused, |
| | 118236 | }, |
| | 118237 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118238 | .clobbers = .{ .eflags = true }, |
| | 118239 | .each = .{ .once = &.{ |
| | 118240 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 118241 | .{ ._, ._, .@"test", .src0q, .tmp0q, ._, ._ }, |
| | 118242 | } }, |
| | 118243 | }, .{ |
| | 118244 | .required_features = .{ .@"64bit", null, null, null }, |
| | 118245 | .dst_constraints = .{ .bool, .any }, |
| | 118246 | .src_constraints = .{ .{ .exact_remainder_bool_vec = .{ .of = .qword, .is = 64 } }, .any, .any }, |
| | 118247 | .patterns = &.{ |
| | 118248 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 118249 | }, |
| | 118250 | .extra_temps = .{ |
| | 118251 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118252 | .unused, |
| | 118253 | .unused, |
| | 118254 | .unused, |
| | 118255 | .unused, |
| | 118256 | .unused, |
| | 118257 | .unused, |
| | 118258 | .unused, |
| | 118259 | .unused, |
| | 118260 | .unused, |
| | 118261 | .unused, |
| | 118262 | }, |
| | 118263 | .dst_temps = .{ .{ .cc = .nc }, .unused }, |
| | 118264 | .clobbers = .{ .eflags = true }, |
| | 118265 | .each = .{ .once = &.{ |
| | 118266 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_bit_size_div_8), ._, ._ }, |
| | 118267 | .{ .@"1:", ._, .cmp, .memi(.src0q, .tmp0), .si(0), ._, ._ }, |
| | 118268 | .{ ._, ._ne, .j, .@"0f", ._, ._, ._ }, |
| | 118269 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 118270 | .{ ._, ._nb, .j, .@"1b", ._, ._, ._ }, |
| | 118271 | } }, |
| | 118272 | }, .{ |
| | 118273 | .required_features = .{ .@"64bit", null, null, null }, |
| | 118274 | .dst_constraints = .{ .bool, .any }, |
| | 118275 | .src_constraints = .{ .{ .remainder_bool_vec = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 118276 | .patterns = &.{ |
| | 118277 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 118278 | }, |
| | 118279 | .extra_temps = .{ |
| | 118280 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118281 | .unused, |
| | 118282 | .unused, |
| | 118283 | .unused, |
| | 118284 | .unused, |
| | 118285 | .unused, |
| | 118286 | .unused, |
| | 118287 | .unused, |
| | 118288 | .unused, |
| | 118289 | .unused, |
| | 118290 | .unused, |
| | 118291 | }, |
| | 118292 | .dst_temps = .{ .{ .cc = .nc }, .unused }, |
| | 118293 | .clobbers = .{ .eflags = true }, |
| | 118294 | .each = .{ .once = &.{ |
| | 118295 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 118296 | .{ ._, ._, .@"test", .mema(.src0q, .add_bit_size_div_8_down_8), .tmp0q, ._, ._ }, |
| | 118297 | .{ ._, ._nz, .j, .@"0f", ._, ._, ._ }, |
| | 118298 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_bit_size_div_8_down_8), ._, ._ }, |
| | 118299 | .{ .@"1:", ._, .cmp, .memi(.src0q, .tmp0), .si(0), ._, ._ }, |
| | 118300 | .{ ._, ._ne, .j, .@"0f", ._, ._, ._ }, |
| | 118301 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 118302 | .{ ._, ._nb, .j, .@"1b", ._, ._, ._ }, |
| | 118303 | } }, |
| | 118304 | } }, |
| | 118305 | .xor => [_]Select.Case{ .{ |
| | 118306 | .dst_constraints = .{ .bool, .any }, |
| | 118307 | .src_constraints = .{ .{ .bool_vec = .byte }, .any, .any }, |
| | 118308 | .patterns = &.{ |
| | 118309 | .{ .src = .{ .mem, .none, .none } }, |
| | 118310 | }, |
| | 118311 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118312 | .clobbers = .{ .eflags = true }, |
| | 118313 | .each = .{ .once = &.{ |
| | 118314 | .{ ._, ._, .@"test", .src0b, .ua(.src0, .add_umax), ._, ._ }, |
| | 118315 | } }, |
| | 118316 | }, .{ |
| | 118317 | .dst_constraints = .{ .bool, .any }, |
| | 118318 | .src_constraints = .{ .{ .exact_bool_vec = 8 }, .any, .any }, |
| | 118319 | .patterns = &.{ |
| | 118320 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118321 | }, |
| | 118322 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118323 | .clobbers = .{ .eflags = true }, |
| | 118324 | .each = .{ .once = &.{ |
| | 118325 | .{ ._, ._, .@"test", .src0b, .src0b, ._, ._ }, |
| | 118326 | } }, |
| | 118327 | }, .{ |
| | 118328 | .dst_constraints = .{ .bool, .any }, |
| | 118329 | .src_constraints = .{ .{ .bool_vec = .byte }, .any, .any }, |
| | 118330 | .patterns = &.{ |
| | 118331 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118332 | }, |
| | 118333 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118334 | .clobbers = .{ .eflags = true }, |
| | 118335 | .each = .{ .once = &.{ |
| | 118336 | .{ ._, ._, .@"test", .src0b, .ua(.src0, .add_umax), ._, ._ }, |
| | 118337 | } }, |
| | 118338 | }, .{ |
| | 118339 | .required_features = .{ .popcnt, null, null, null }, |
| | 118340 | .dst_constraints = .{ .bool, .any }, |
| | 118341 | .src_constraints = .{ .{ .exact_bool_vec = 16 }, .any, .any }, |
| | 118342 | .patterns = &.{ |
| | 118343 | .{ .src = .{ .mem, .none, .none } }, |
| | 118344 | }, |
| | 118345 | .extra_temps = .{ |
| | 118346 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 118347 | .unused, |
| | 118348 | .unused, |
| | 118349 | .unused, |
| | 118350 | .unused, |
| | 118351 | .unused, |
| | 118352 | .unused, |
| | 118353 | .unused, |
| | 118354 | .unused, |
| | 118355 | .unused, |
| | 118356 | .unused, |
| | 118357 | }, |
| | 118358 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118359 | .clobbers = .{ .eflags = true }, |
| | 118360 | .each = .{ .once = &.{ |
| | 118361 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| | 118362 | .{ ._, ._, .popcnt, .tmp0w, .src0w, ._, ._ }, |
| | 118363 | .{ ._, ._, .@"and", .tmp0b, .ui(1), ._, ._ }, |
| | 118364 | } }, |
| | 118365 | }, .{ |
| | 118366 | .required_features = .{ .popcnt, null, null, null }, |
| | 118367 | .dst_constraints = .{ .bool, .any }, |
| | 118368 | .src_constraints = .{ .{ .exact_bool_vec = 16 }, .any, .any }, |
| | 118369 | .patterns = &.{ |
| | 118370 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 118371 | }, |
| | 118372 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118373 | .clobbers = .{ .eflags = true }, |
| | 118374 | .each = .{ .once = &.{ |
| | 118375 | .{ ._, ._, .popcnt, .src0w, .src0w, ._, ._ }, |
| | 118376 | .{ ._, ._, .@"and", .src0b, .ui(1), ._, ._ }, |
| | 118377 | } }, |
| | 118378 | }, .{ |
| | 118379 | .dst_constraints = .{ .bool, .any }, |
| | 118380 | .src_constraints = .{ .{ .exact_bool_vec = 16 }, .any, .any }, |
| | 118381 | .patterns = &.{ |
| | 118382 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118383 | }, |
| | 118384 | .extra_temps = .{ |
| | 118385 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 118386 | .unused, |
| | 118387 | .unused, |
| | 118388 | .unused, |
| | 118389 | .unused, |
| | 118390 | .unused, |
| | 118391 | .unused, |
| | 118392 | .unused, |
| | 118393 | .unused, |
| | 118394 | .unused, |
| | 118395 | .unused, |
| | 118396 | }, |
| | 118397 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118398 | .clobbers = .{ .eflags = true }, |
| | 118399 | .each = .{ .once = &.{ |
| | 118400 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| | 118401 | .{ ._, ._r, .sh, .tmp0d, .ui(8), ._, ._ }, |
| | 118402 | .{ ._, ._, .xor, .tmp0b, .src0b, ._, ._ }, |
| | 118403 | } }, |
| | 118404 | }, .{ |
| | 118405 | .required_features = .{ .popcnt, .fast_imm16, null, null }, |
| | 118406 | .dst_constraints = .{ .bool, .any }, |
| | 118407 | .src_constraints = .{ .{ .bool_vec = .word }, .any, .any }, |
| | 118408 | .patterns = &.{ |
| | 118409 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 118410 | }, |
| | 118411 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118412 | .clobbers = .{ .eflags = true }, |
| | 118413 | .each = .{ .once = &.{ |
| | 118414 | .{ ._, ._, .@"and", .src0w, .ua(.src0, .add_umax), ._, ._ }, |
| | 118415 | .{ ._, ._, .popcnt, .src0w, .src0w, ._, ._ }, |
| | 118416 | .{ ._, ._, .@"and", .src0b, .ui(1), ._, ._ }, |
| | 118417 | } }, |
| | 118418 | }, .{ |
| | 118419 | .required_features = .{ .popcnt, null, null, null }, |
| | 118420 | .dst_constraints = .{ .bool, .any }, |
| | 118421 | .src_constraints = .{ .{ .bool_vec = .word }, .any, .any }, |
| | 118422 | .patterns = &.{ |
| | 118423 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 118424 | }, |
| | 118425 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118426 | .clobbers = .{ .eflags = true }, |
| | 118427 | .each = .{ .once = &.{ |
| | 118428 | .{ ._, ._, .@"and", .src0d, .ua(.src0, .add_umax), ._, ._ }, |
| | 118429 | .{ ._, ._, .popcnt, .src0d, .src0d, ._, ._ }, |
| | 118430 | .{ ._, ._, .@"and", .src0b, .ui(1), ._, ._ }, |
| | 118431 | } }, |
| | 118432 | }, .{ |
| | 118433 | .dst_constraints = .{ .bool, .any }, |
| | 118434 | .src_constraints = .{ .{ .bool_vec = .word }, .any, .any }, |
| | 118435 | .patterns = &.{ |
| | 118436 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118437 | }, |
| | 118438 | .extra_temps = .{ |
| | 118439 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 118440 | .unused, |
| | 118441 | .unused, |
| | 118442 | .unused, |
| | 118443 | .unused, |
| | 118444 | .unused, |
| | 118445 | .unused, |
| | 118446 | .unused, |
| | 118447 | .unused, |
| | 118448 | .unused, |
| | 118449 | .unused, |
| | 118450 | }, |
| | 118451 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118452 | .clobbers = .{ .eflags = true }, |
| | 118453 | .each = .{ .once = &.{ |
| | 118454 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| | 118455 | .{ ._, ._r, .sh, .tmp0d, .ui(8), ._, ._ }, |
| | 118456 | .{ ._, ._, .@"and", .tmp0b, .ua(.src0b, .add_umax), ._, ._ }, |
| | 118457 | .{ ._, ._, .xor, .tmp0d, .src0d, ._, ._ }, |
| | 118458 | } }, |
| | 118459 | }, .{ |
| | 118460 | .required_features = .{ .popcnt, .false_deps_popcnt, null, null }, |
| | 118461 | .dst_constraints = .{ .bool, .any }, |
| | 118462 | .src_constraints = .{ .{ .exact_bool_vec = 32 }, .any, .any }, |
| | 118463 | .patterns = &.{ |
| | 118464 | .{ .src = .{ .mem, .none, .none } }, |
| | 118465 | }, |
| | 118466 | .extra_temps = .{ |
| | 118467 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 118468 | .unused, |
| | 118469 | .unused, |
| | 118470 | .unused, |
| | 118471 | .unused, |
| | 118472 | .unused, |
| | 118473 | .unused, |
| | 118474 | .unused, |
| | 118475 | .unused, |
| | 118476 | .unused, |
| | 118477 | .unused, |
| | 118478 | }, |
| | 118479 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118480 | .clobbers = .{ .eflags = true }, |
| | 118481 | .each = .{ .once = &.{ |
| | 118482 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| | 118483 | .{ ._, ._, .popcnt, .tmp0d, .src0d, ._, ._ }, |
| | 118484 | .{ ._, ._, .@"and", .tmp0b, .ui(1), ._, ._ }, |
| | 118485 | } }, |
| | 118486 | }, .{ |
| | 118487 | .required_features = .{ .popcnt, .false_deps_popcnt, null, null }, |
| | 118488 | .dst_constraints = .{ .bool, .any }, |
| | 118489 | .src_constraints = .{ .{ .exact_bool_vec = 32 }, .any, .any }, |
| | 118490 | .patterns = &.{ |
| | 118491 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 118492 | }, |
| | 118493 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118494 | .clobbers = .{ .eflags = true }, |
| | 118495 | .each = .{ .once = &.{ |
| | 118496 | .{ ._, ._, .popcnt, .src0d, .src0d, ._, ._ }, |
| | 118497 | .{ ._, ._, .@"and", .src0b, .ui(1), ._, ._ }, |
| | 118498 | } }, |
| | 118499 | }, .{ |
| | 118500 | .required_features = .{ .popcnt, null, null, null }, |
| | 118501 | .dst_constraints = .{ .bool, .any }, |
| | 118502 | .src_constraints = .{ .{ .exact_bool_vec = 32 }, .any, .any }, |
| | 118503 | .patterns = &.{ |
| | 118504 | .{ .src = .{ .mem, .none, .none } }, |
| | 118505 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118506 | }, |
| | 118507 | .extra_temps = .{ |
| | 118508 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } }, |
| | 118509 | .unused, |
| | 118510 | .unused, |
| | 118511 | .unused, |
| | 118512 | .unused, |
| | 118513 | .unused, |
| | 118514 | .unused, |
| | 118515 | .unused, |
| | 118516 | .unused, |
| | 118517 | .unused, |
| | 118518 | .unused, |
| | 118519 | }, |
| | 118520 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118521 | .clobbers = .{ .eflags = true }, |
| | 118522 | .each = .{ .once = &.{ |
| | 118523 | .{ ._, ._, .popcnt, .tmp0d, .src0d, ._, ._ }, |
| | 118524 | .{ ._, ._, .@"and", .tmp0b, .ui(1), ._, ._ }, |
| | 118525 | } }, |
| | 118526 | }, .{ |
| | 118527 | .dst_constraints = .{ .bool, .any }, |
| | 118528 | .src_constraints = .{ .{ .exact_bool_vec = 32 }, .any, .any }, |
| | 118529 | .patterns = &.{ |
| | 118530 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118531 | }, |
| | 118532 | .extra_temps = .{ |
| | 118533 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 118534 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } }, |
| | 118535 | .unused, |
| | 118536 | .unused, |
| | 118537 | .unused, |
| | 118538 | .unused, |
| | 118539 | .unused, |
| | 118540 | .unused, |
| | 118541 | .unused, |
| | 118542 | .unused, |
| | 118543 | .unused, |
| | 118544 | }, |
| | 118545 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118546 | .clobbers = .{ .eflags = true }, |
| | 118547 | .each = .{ .once = &.{ |
| | 118548 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| | 118549 | .{ ._, ._r, .sh, .tmp0d, .ui(16), ._, ._ }, |
| | 118550 | .{ ._, ._, .xor, .tmp0d, .src0d, ._, ._ }, |
| | 118551 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118552 | .{ ._, ._r, .sh, .tmp1d, .ui(8), ._, ._ }, |
| | 118553 | .{ ._, ._, .xor, .tmp0b, .tmp1b, ._, ._ }, |
| | 118554 | } }, |
| | 118555 | }, .{ |
| | 118556 | .required_features = .{ .popcnt, null, null, null }, |
| | 118557 | .dst_constraints = .{ .bool, .any }, |
| | 118558 | .src_constraints = .{ .{ .bool_vec = .dword }, .any, .any }, |
| | 118559 | .patterns = &.{ |
| | 118560 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 118561 | }, |
| | 118562 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118563 | .clobbers = .{ .eflags = true }, |
| | 118564 | .each = .{ .once = &.{ |
| | 118565 | .{ ._, ._, .@"and", .src0d, .ua(.src0, .add_umax), ._, ._ }, |
| | 118566 | .{ ._, ._, .popcnt, .src0d, .src0d, ._, ._ }, |
| | 118567 | .{ ._, ._, .@"and", .src0b, .ui(1), ._, ._ }, |
| | 118568 | } }, |
| | 118569 | }, .{ |
| | 118570 | .required_features = .{ .fast_imm16, null, null, null }, |
| | 118571 | .dst_constraints = .{ .bool, .any }, |
| | 118572 | .src_constraints = .{ .{ .bool_vec = .dword }, .any, .any }, |
| | 118573 | .patterns = &.{ |
| | 118574 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118575 | }, |
| | 118576 | .extra_temps = .{ |
| | 118577 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 118578 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } }, |
| | 118579 | .unused, |
| | 118580 | .unused, |
| | 118581 | .unused, |
| | 118582 | .unused, |
| | 118583 | .unused, |
| | 118584 | .unused, |
| | 118585 | .unused, |
| | 118586 | .unused, |
| | 118587 | .unused, |
| | 118588 | }, |
| | 118589 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118590 | .clobbers = .{ .eflags = true }, |
| | 118591 | .each = .{ .once = &.{ |
| | 118592 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| | 118593 | .{ ._, ._r, .sh, .tmp0d, .ui(16), ._, ._ }, |
| | 118594 | .{ ._, ._, .@"and", .tmp0d, .ua(.src0w, .add_umax), ._, ._ }, |
| | 118595 | .{ ._, ._, .xor, .tmp0d, .src0d, ._, ._ }, |
| | 118596 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118597 | .{ ._, ._r, .sh, .tmp1d, .ui(8), ._, ._ }, |
| | 118598 | .{ ._, ._, .xor, .tmp0b, .tmp1b, ._, ._ }, |
| | 118599 | } }, |
| | 118600 | }, .{ |
| | 118601 | .dst_constraints = .{ .bool, .any }, |
| | 118602 | .src_constraints = .{ .{ .bool_vec = .dword }, .any, .any }, |
| | 118603 | .patterns = &.{ |
| | 118604 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118605 | }, |
| | 118606 | .extra_temps = .{ |
| | 118607 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 118608 | .{ .type = .u32, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } }, |
| | 118609 | .unused, |
| | 118610 | .unused, |
| | 118611 | .unused, |
| | 118612 | .unused, |
| | 118613 | .unused, |
| | 118614 | .unused, |
| | 118615 | .unused, |
| | 118616 | .unused, |
| | 118617 | .unused, |
| | 118618 | }, |
| | 118619 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118620 | .clobbers = .{ .eflags = true }, |
| | 118621 | .each = .{ .once = &.{ |
| | 118622 | .{ ._, ._, .mov, .tmp0d, .src0d, ._, ._ }, |
| | 118623 | .{ ._, ._r, .sh, .tmp0d, .ui(16), ._, ._ }, |
| | 118624 | .{ ._, ._, .@"and", .tmp0d, .ua(.src0w, .add_umax), ._, ._ }, |
| | 118625 | .{ ._, ._, .xor, .tmp0d, .src0d, ._, ._ }, |
| | 118626 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118627 | .{ ._, ._r, .sh, .tmp1d, .ui(8), ._, ._ }, |
| | 118628 | .{ ._, ._, .xor, .tmp0b, .tmp1b, ._, ._ }, |
| | 118629 | } }, |
| | 118630 | }, .{ |
| | 118631 | .required_features = .{ .@"64bit", .popcnt, .false_deps_popcnt, null }, |
| | 118632 | .dst_constraints = .{ .bool, .any }, |
| | 118633 | .src_constraints = .{ .{ .exact_bool_vec = 64 }, .any, .any }, |
| | 118634 | .patterns = &.{ |
| | 118635 | .{ .src = .{ .mem, .none, .none } }, |
| | 118636 | }, |
| | 118637 | .extra_temps = .{ |
| | 118638 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118639 | .unused, |
| | 118640 | .unused, |
| | 118641 | .unused, |
| | 118642 | .unused, |
| | 118643 | .unused, |
| | 118644 | .unused, |
| | 118645 | .unused, |
| | 118646 | .unused, |
| | 118647 | .unused, |
| | 118648 | .unused, |
| | 118649 | }, |
| | 118650 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118651 | .clobbers = .{ .eflags = true }, |
| | 118652 | .each = .{ .once = &.{ |
| | 118653 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| | 118654 | .{ ._, ._, .popcnt, .tmp0q, .src0q, ._, ._ }, |
| | 118655 | .{ ._, ._, .@"and", .tmp0b, .ui(1), ._, ._ }, |
| | 118656 | } }, |
| | 118657 | }, .{ |
| | 118658 | .required_features = .{ .@"64bit", .popcnt, .false_deps_popcnt, null }, |
| | 118659 | .dst_constraints = .{ .bool, .any }, |
| | 118660 | .src_constraints = .{ .{ .exact_bool_vec = 64 }, .any, .any }, |
| | 118661 | .patterns = &.{ |
| | 118662 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| | 118663 | }, |
| | 118664 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118665 | .clobbers = .{ .eflags = true }, |
| | 118666 | .each = .{ .once = &.{ |
| | 118667 | .{ ._, ._, .popcnt, .src0q, .src0q, ._, ._ }, |
| | 118668 | .{ ._, ._, .@"and", .src0b, .ui(1), ._, ._ }, |
| | 118669 | } }, |
| | 118670 | }, .{ |
| | 118671 | .required_features = .{ .@"64bit", .popcnt, null, null }, |
| | 118672 | .dst_constraints = .{ .bool, .any }, |
| | 118673 | .src_constraints = .{ .{ .exact_bool_vec = 64 }, .any, .any }, |
| | 118674 | .patterns = &.{ |
| | 118675 | .{ .src = .{ .mem, .none, .none } }, |
| | 118676 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118677 | }, |
| | 118678 | .extra_temps = .{ |
| | 118679 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } }, |
| | 118680 | .unused, |
| | 118681 | .unused, |
| | 118682 | .unused, |
| | 118683 | .unused, |
| | 118684 | .unused, |
| | 118685 | .unused, |
| | 118686 | .unused, |
| | 118687 | .unused, |
| | 118688 | .unused, |
| | 118689 | .unused, |
| | 118690 | }, |
| | 118691 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118692 | .clobbers = .{ .eflags = true }, |
| | 118693 | .each = .{ .once = &.{ |
| | 118694 | .{ ._, ._, .popcnt, .tmp0q, .src0q, ._, ._ }, |
| | 118695 | .{ ._, ._, .@"and", .tmp0b, .ui(1), ._, ._ }, |
| | 118696 | } }, |
| | 118697 | }, .{ |
| | 118698 | .dst_constraints = .{ .bool, .any }, |
| | 118699 | .src_constraints = .{ .{ .exact_bool_vec = 64 }, .any, .any }, |
| | 118700 | .patterns = &.{ |
| | 118701 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118702 | }, |
| | 118703 | .extra_temps = .{ |
| | 118704 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118705 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } }, |
| | 118706 | .unused, |
| | 118707 | .unused, |
| | 118708 | .unused, |
| | 118709 | .unused, |
| | 118710 | .unused, |
| | 118711 | .unused, |
| | 118712 | .unused, |
| | 118713 | .unused, |
| | 118714 | .unused, |
| | 118715 | }, |
| | 118716 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118717 | .clobbers = .{ .eflags = true }, |
| | 118718 | .each = .{ .once = &.{ |
| | 118719 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| | 118720 | .{ ._, ._r, .sh, .tmp0q, .ui(32), ._, ._ }, |
| | 118721 | .{ ._, ._, .xor, .tmp0d, .src0d, ._, ._ }, |
| | 118722 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118723 | .{ ._, ._r, .sh, .tmp1d, .ui(16), ._, ._ }, |
| | 118724 | .{ ._, ._, .xor, .tmp0d, .tmp1d, ._, ._ }, |
| | 118725 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118726 | .{ ._, ._r, .sh, .tmp1d, .ui(8), ._, ._ }, |
| | 118727 | .{ ._, ._, .xor, .tmp0b, .tmp1b, ._, ._ }, |
| | 118728 | } }, |
| | 118729 | }, .{ |
| | 118730 | .required_features = .{ .@"64bit", .popcnt, null, null }, |
| | 118731 | .dst_constraints = .{ .bool, .any }, |
| | 118732 | .src_constraints = .{ .{ .bool_vec = .qword }, .any, .any }, |
| | 118733 | .patterns = &.{ |
| | 118734 | .{ .src = .{ .mem, .none, .none } }, |
| | 118735 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118736 | }, |
| | 118737 | .extra_temps = .{ |
| | 118738 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118739 | .unused, |
| | 118740 | .unused, |
| | 118741 | .unused, |
| | 118742 | .unused, |
| | 118743 | .unused, |
| | 118744 | .unused, |
| | 118745 | .unused, |
| | 118746 | .unused, |
| | 118747 | .unused, |
| | 118748 | .unused, |
| | 118749 | }, |
| | 118750 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118751 | .clobbers = .{ .eflags = true }, |
| | 118752 | .each = .{ .once = &.{ |
| | 118753 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 118754 | .{ ._, ._, .@"and", .tmp0q, .src0q, ._, ._ }, |
| | 118755 | .{ ._, ._, .popcnt, .tmp0q, .tmp0q, ._, ._ }, |
| | 118756 | .{ ._, ._, .@"and", .tmp0b, .ui(1), ._, ._ }, |
| | 118757 | } }, |
| | 118758 | }, .{ |
| | 118759 | .dst_constraints = .{ .bool, .any }, |
| | 118760 | .src_constraints = .{ .{ .bool_vec = .qword }, .any, .any }, |
| | 118761 | .patterns = &.{ |
| | 118762 | .{ .src = .{ .to_gpr, .none, .none } }, |
| | 118763 | }, |
| | 118764 | .extra_temps = .{ |
| | 118765 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118766 | .{ .type = .u64, .kind = .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } } }, |
| | 118767 | .unused, |
| | 118768 | .unused, |
| | 118769 | .unused, |
| | 118770 | .unused, |
| | 118771 | .unused, |
| | 118772 | .unused, |
| | 118773 | .unused, |
| | 118774 | .unused, |
| | 118775 | .unused, |
| | 118776 | }, |
| | 118777 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118778 | .clobbers = .{ .eflags = true }, |
| | 118779 | .each = .{ .once = &.{ |
| | 118780 | .{ ._, ._, .mov, .tmp0q, .src0q, ._, ._ }, |
| | 118781 | .{ ._, ._r, .sh, .tmp0q, .ui(32), ._, ._ }, |
| | 118782 | .{ ._, ._, .@"and", .tmp0d, .ua(.src0d, .add_umax), ._, ._ }, |
| | 118783 | .{ ._, ._, .xor, .tmp0d, .src0d, ._, ._ }, |
| | 118784 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118785 | .{ ._, ._r, .sh, .tmp1d, .ui(16), ._, ._ }, |
| | 118786 | .{ ._, ._, .xor, .tmp0d, .tmp1d, ._, ._ }, |
| | 118787 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118788 | .{ ._, ._r, .sh, .tmp1d, .ui(8), ._, ._ }, |
| | 118789 | .{ ._, ._, .xor, .tmp0b, .tmp1b, ._, ._ }, |
| | 118790 | } }, |
| | 118791 | }, .{ |
| | 118792 | .required_features = .{ .@"64bit", .popcnt, null, null }, |
| | 118793 | .dst_constraints = .{ .bool, .any }, |
| | 118794 | .src_constraints = .{ .{ .exact_remainder_bool_vec = .{ .of = .qword, .is = 64 } }, .any, .any }, |
| | 118795 | .patterns = &.{ |
| | 118796 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 118797 | }, |
| | 118798 | .extra_temps = .{ |
| | 118799 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 118800 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118801 | .unused, |
| | 118802 | .unused, |
| | 118803 | .unused, |
| | 118804 | .unused, |
| | 118805 | .unused, |
| | 118806 | .unused, |
| | 118807 | .unused, |
| | 118808 | .unused, |
| | 118809 | .unused, |
| | 118810 | }, |
| | 118811 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118812 | .clobbers = .{ .eflags = true }, |
| | 118813 | .each = .{ .once = &.{ |
| | 118814 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_bit_size_div_8), ._, ._ }, |
| | 118815 | .{ ._, ._, .xor, .tmp1q, .tmp1q, ._, ._ }, |
| | 118816 | .{ .@"0:", ._, .xor, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 118817 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 118818 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 118819 | .{ ._, ._, .popcnt, .tmp1q, .tmp1q, ._, ._ }, |
| | 118820 | .{ ._, ._, .@"and", .tmp1b, .ui(1), ._, ._ }, |
| | 118821 | } }, |
| | 118822 | }, .{ |
| | 118823 | .required_features = .{ .@"64bit", null, null, null }, |
| | 118824 | .dst_constraints = .{ .bool, .any }, |
| | 118825 | .src_constraints = .{ .{ .exact_remainder_bool_vec = .{ .of = .qword, .is = 64 } }, .any, .any }, |
| | 118826 | .patterns = &.{ |
| | 118827 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 118828 | }, |
| | 118829 | .extra_temps = .{ |
| | 118830 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 118831 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118832 | .unused, |
| | 118833 | .unused, |
| | 118834 | .unused, |
| | 118835 | .unused, |
| | 118836 | .unused, |
| | 118837 | .unused, |
| | 118838 | .unused, |
| | 118839 | .unused, |
| | 118840 | .unused, |
| | 118841 | }, |
| | 118842 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118843 | .clobbers = .{ .eflags = true }, |
| | 118844 | .each = .{ .once = &.{ |
| | 118845 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_bit_size_div_8), ._, ._ }, |
| | 118846 | .{ ._, ._, .xor, .tmp1q, .tmp1q, ._, ._ }, |
| | 118847 | .{ .@"0:", ._, .xor, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 118848 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 118849 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 118850 | .{ ._, ._, .mov, .tmp0d, .tmp1d, ._, ._ }, |
| | 118851 | .{ ._, ._r, .sh, .tmp1q, .ui(32), ._, ._ }, |
| | 118852 | .{ ._, ._, .xor, .tmp0d, .tmp1d, ._, ._ }, |
| | 118853 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118854 | .{ ._, ._r, .sh, .tmp1d, .ui(16), ._, ._ }, |
| | 118855 | .{ ._, ._, .xor, .tmp0d, .tmp1d, ._, ._ }, |
| | 118856 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118857 | .{ ._, ._r, .sh, .tmp1d, .ui(8), ._, ._ }, |
| | 118858 | .{ ._, ._, .xor, .tmp0b, .tmp1b, ._, ._ }, |
| | 118859 | } }, |
| | 118860 | }, .{ |
| | 118861 | .required_features = .{ .@"64bit", .popcnt, null, null }, |
| | 118862 | .dst_constraints = .{ .bool, .any }, |
| | 118863 | .src_constraints = .{ .{ .remainder_bool_vec = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 118864 | .patterns = &.{ |
| | 118865 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 118866 | }, |
| | 118867 | .extra_temps = .{ |
| | 118868 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118869 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 118870 | .unused, |
| | 118871 | .unused, |
| | 118872 | .unused, |
| | 118873 | .unused, |
| | 118874 | .unused, |
| | 118875 | .unused, |
| | 118876 | .unused, |
| | 118877 | .unused, |
| | 118878 | .unused, |
| | 118879 | }, |
| | 118880 | .dst_temps = .{ .{ .cc = .nz }, .unused }, |
| | 118881 | .clobbers = .{ .eflags = true }, |
| | 118882 | .each = .{ .once = &.{ |
| | 118883 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 118884 | .{ ._, ._, .mov, .tmp1d, .sia(-8, .src0, .add_bit_size_div_8_down_8), ._, ._ }, |
| | 118885 | .{ ._, ._, .@"and", .tmp0q, .mema(.src0q, .add_bit_size_div_8_down_8), ._, ._ }, |
| | 118886 | .{ .@"0:", ._, .xor, .tmp0q, .memi(.src0q, .tmp1), ._, ._ }, |
| | 118887 | .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ }, |
| | 118888 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 118889 | .{ ._, ._, .popcnt, .tmp0q, .tmp0q, ._, ._ }, |
| | 118890 | .{ ._, ._, .@"and", .tmp0b, .ui(1), ._, ._ }, |
| | 118891 | } }, |
| | 118892 | }, .{ |
| | 118893 | .required_features = .{ .@"64bit", null, null, null }, |
| | 118894 | .dst_constraints = .{ .bool, .any }, |
| | 118895 | .src_constraints = .{ .{ .remainder_bool_vec = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 118896 | .patterns = &.{ |
| | 118897 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 118898 | }, |
| | 118899 | .extra_temps = .{ |
| | 118900 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 118901 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 118902 | .unused, |
| | 118903 | .unused, |
| | 118904 | .unused, |
| | 118905 | .unused, |
| | 118906 | .unused, |
| | 118907 | .unused, |
| | 118908 | .unused, |
| | 118909 | .unused, |
| | 118910 | .unused, |
| | 118911 | }, |
| | 118912 | .dst_temps = .{ .{ .cc = .po }, .unused }, |
| | 118913 | .clobbers = .{ .eflags = true }, |
| | 118914 | .each = .{ .once = &.{ |
| | 118915 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 118916 | .{ ._, ._, .mov, .tmp1d, .sia(-8, .src0, .add_bit_size_div_8_down_8), ._, ._ }, |
| | 118917 | .{ ._, ._, .@"and", .tmp0q, .mema(.src0q, .add_bit_size_div_8_down_8), ._, ._ }, |
| | 118918 | .{ .@"0:", ._, .xor, .tmp0q, .memi(.src0q, .tmp1), ._, ._ }, |
| | 118919 | .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ }, |
| | 118920 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 118921 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118922 | .{ ._, ._r, .sh, .tmp0q, .ui(32), ._, ._ }, |
| | 118923 | .{ ._, ._, .xor, .tmp0d, .tmp1d, ._, ._ }, |
| | 118924 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118925 | .{ ._, ._r, .sh, .tmp1d, .ui(16), ._, ._ }, |
| | 118926 | .{ ._, ._, .xor, .tmp0d, .tmp1d, ._, ._ }, |
| | 118927 | .{ ._, ._, .mov, .tmp1d, .tmp0d, ._, ._ }, |
| | 118928 | .{ ._, ._r, .sh, .tmp1d, .ui(8), ._, ._ }, |
| | 118929 | .{ ._, ._, .xor, .tmp0b, .tmp1b, ._, ._ }, |
| | 118930 | } }, |
| | 118931 | } }, |
| | 118932 | } ++ [_]Select.Case{ .{ |
| | 118933 | .required_features = .{ .avx, null, null, null }, |
| | 118934 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 118935 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 118936 | .patterns = &.{ |
| | 118937 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 118938 | }, |
| | 118939 | .extra_temps = .{ |
| | 118940 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 118941 | .unused, |
| | 118942 | .unused, |
| | 118943 | .unused, |
| | 118944 | .unused, |
| | 118945 | .unused, |
| | 118946 | .unused, |
| | 118947 | .unused, |
| | 118948 | .unused, |
| | 118949 | .unused, |
| | 118950 | .unused, |
| | 118951 | }, |
| | 118952 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 118953 | .each = .{ .once = &.{ |
| | 118954 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 118955 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 118956 | } }, |
| | 118957 | }, .{ |
| | 118958 | .required_features = .{ .sse2, null, null, null }, |
| | 118959 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 118960 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 118961 | .patterns = &.{ |
| | 118962 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 118963 | }, |
| | 118964 | .extra_temps = .{ |
| | 118965 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 118966 | .unused, |
| | 118967 | .unused, |
| | 118968 | .unused, |
| | 118969 | .unused, |
| | 118970 | .unused, |
| | 118971 | .unused, |
| | 118972 | .unused, |
| | 118973 | .unused, |
| | 118974 | .unused, |
| | 118975 | .unused, |
| | 118976 | }, |
| | 118977 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 118978 | .each = .{ .once = &.{ |
| | 118979 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 118980 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 118981 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 118982 | } }, |
| | 118983 | }, .{ |
| | 118984 | .required_features = .{ .avx, null, null, null }, |
| | 118985 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 118986 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 118987 | .patterns = &.{ |
| | 118988 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 118989 | }, |
| | 118990 | .extra_temps = .{ |
| | 118991 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 118992 | .unused, |
| | 118993 | .unused, |
| | 118994 | .unused, |
| | 118995 | .unused, |
| | 118996 | .unused, |
| | 118997 | .unused, |
| | 118998 | .unused, |
| | 118999 | .unused, |
| | 119000 | .unused, |
| | 119001 | .unused, |
| | 119002 | }, |
| | 119003 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119004 | .each = .{ .once = &.{ |
| | 119005 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 119006 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 119007 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 119008 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119009 | } }, |
| | 119010 | }, .{ |
| | 119011 | .required_features = .{ .sse2, null, null, null }, |
| | 119012 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119013 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 119014 | .patterns = &.{ |
| | 119015 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 119016 | }, |
| | 119017 | .extra_temps = .{ |
| | 119018 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119019 | .unused, |
| | 119020 | .unused, |
| | 119021 | .unused, |
| | 119022 | .unused, |
| | 119023 | .unused, |
| | 119024 | .unused, |
| | 119025 | .unused, |
| | 119026 | .unused, |
| | 119027 | .unused, |
| | 119028 | .unused, |
| | 119029 | }, |
| | 119030 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 119031 | .each = .{ .once = &.{ |
| | 119032 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 119033 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119034 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 119035 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 119036 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119037 | } }, |
| | 119038 | }, .{ |
| | 119039 | .required_features = .{ .avx, null, null, null }, |
| | 119040 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119041 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 119042 | .patterns = &.{ |
| | 119043 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 119044 | }, |
| | 119045 | .extra_temps = .{ |
| | 119046 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119047 | .unused, |
| | 119048 | .unused, |
| | 119049 | .unused, |
| | 119050 | .unused, |
| | 119051 | .unused, |
| | 119052 | .unused, |
| | 119053 | .unused, |
| | 119054 | .unused, |
| | 119055 | .unused, |
| | 119056 | .unused, |
| | 119057 | }, |
| | 119058 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119059 | .each = .{ .once = &.{ |
| | 119060 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 119061 | .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 119062 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| | 119063 | .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 119064 | } }, |
| | 119065 | }, .{ |
| | 119066 | .required_features = .{ .sse2, null, null, null }, |
| | 119067 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119068 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 119069 | .patterns = &.{ |
| | 119070 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 119071 | }, |
| | 119072 | .extra_temps = .{ |
| | 119073 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119074 | .unused, |
| | 119075 | .unused, |
| | 119076 | .unused, |
| | 119077 | .unused, |
| | 119078 | .unused, |
| | 119079 | .unused, |
| | 119080 | .unused, |
| | 119081 | .unused, |
| | 119082 | .unused, |
| | 119083 | .unused, |
| | 119084 | }, |
| | 119085 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 119086 | .each = .{ .once = &.{ |
| | 119087 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 119088 | .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ }, |
| | 119089 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| | 119090 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119091 | } }, |
| | 119092 | }, .{ |
| | 119093 | .required_features = .{ .avx, null, null, null }, |
| | 119094 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119095 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 119096 | .patterns = &.{ |
| | 119097 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 119098 | }, |
| | 119099 | .extra_temps = .{ |
| | 119100 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119101 | .unused, |
| | 119102 | .unused, |
| | 119103 | .unused, |
| | 119104 | .unused, |
| | 119105 | .unused, |
| | 119106 | .unused, |
| | 119107 | .unused, |
| | 119108 | .unused, |
| | 119109 | .unused, |
| | 119110 | .unused, |
| | 119111 | }, |
| | 119112 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119113 | .each = .{ .once = &.{ |
| | 119114 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 119115 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 119116 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 119117 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119118 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 119119 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119120 | } }, |
| | 119121 | }, .{ |
| | 119122 | .required_features = .{ .sse2, null, null, null }, |
| | 119123 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119124 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 119125 | .patterns = &.{ |
| | 119126 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 119127 | }, |
| | 119128 | .extra_temps = .{ |
| | 119129 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119130 | .unused, |
| | 119131 | .unused, |
| | 119132 | .unused, |
| | 119133 | .unused, |
| | 119134 | .unused, |
| | 119135 | .unused, |
| | 119136 | .unused, |
| | 119137 | .unused, |
| | 119138 | .unused, |
| | 119139 | .unused, |
| | 119140 | }, |
| | 119141 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 119142 | .each = .{ .once = &.{ |
| | 119143 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 119144 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119145 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 119146 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119147 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 119148 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 119149 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119150 | } }, |
| | 119151 | }, .{ |
| | 119152 | .required_features = .{ .avx, null, null, null }, |
| | 119153 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119154 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 119155 | .patterns = &.{ |
| | 119156 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 119157 | }, |
| | 119158 | .extra_temps = .{ |
| | 119159 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 119160 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119161 | .ref = .src0, |
| | 119162 | .invert = switch (mir_tag) { |
| | 119163 | else => unreachable, |
| | 119164 | .@"and" => true, |
| | 119165 | .@"or", .xor => false, |
| | 119166 | }, |
| | 119167 | } } }, |
| | 119168 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119169 | .unused, |
| | 119170 | .unused, |
| | 119171 | .unused, |
| | 119172 | .unused, |
| | 119173 | .unused, |
| | 119174 | .unused, |
| | 119175 | .unused, |
| | 119176 | .unused, |
| | 119177 | }, |
| | 119178 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119179 | .each = .{ .once = &.{ |
| | 119180 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119181 | .{ ._, .vp_, switch (mir_tag) { |
| | 119182 | else => unreachable, |
| | 119183 | .@"and" => .@"or", |
| | 119184 | .@"or", .xor => .@"and", |
| | 119185 | }, .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 119186 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119187 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119188 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119189 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119190 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 119191 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119192 | } }, |
| | 119193 | }, .{ |
| | 119194 | .required_features = .{ .sse2, null, null, null }, |
| | 119195 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119196 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 119197 | .patterns = &.{ |
| | 119198 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 119199 | }, |
| | 119200 | .extra_temps = .{ |
| | 119201 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 119202 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119203 | .ref = .src0, |
| | 119204 | .invert = switch (mir_tag) { |
| | 119205 | else => unreachable, |
| | 119206 | .@"and" => true, |
| | 119207 | .@"or", .xor => false, |
| | 119208 | }, |
| | 119209 | } } }, |
| | 119210 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119211 | .unused, |
| | 119212 | .unused, |
| | 119213 | .unused, |
| | 119214 | .unused, |
| | 119215 | .unused, |
| | 119216 | .unused, |
| | 119217 | .unused, |
| | 119218 | .unused, |
| | 119219 | }, |
| | 119220 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 119221 | .each = .{ .once = &.{ |
| | 119222 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119223 | .{ ._, .p_, switch (mir_tag) { |
| | 119224 | else => unreachable, |
| | 119225 | .@"and" => .@"or", |
| | 119226 | .@"or", .xor => .@"and", |
| | 119227 | }, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 119228 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119229 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119230 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119231 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119232 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 119233 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 119234 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119235 | } }, |
| | 119236 | }, .{ |
| | 119237 | .required_features = .{ .avx, null, null, null }, |
| | 119238 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119239 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 119240 | .patterns = &.{ |
| | 119241 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 119242 | }, |
| | 119243 | .extra_temps = .{ |
| | 119244 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119245 | .unused, |
| | 119246 | .unused, |
| | 119247 | .unused, |
| | 119248 | .unused, |
| | 119249 | .unused, |
| | 119250 | .unused, |
| | 119251 | .unused, |
| | 119252 | .unused, |
| | 119253 | .unused, |
| | 119254 | .unused, |
| | 119255 | }, |
| | 119256 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119257 | .each = .{ .once = &.{ |
| | 119258 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 119259 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 119260 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 119261 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119262 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 119263 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119264 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 119265 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119266 | } }, |
| | 119267 | }, .{ |
| | 119268 | .required_features = .{ .sse2, null, null, null }, |
| | 119269 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119270 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 119271 | .patterns = &.{ |
| | 119272 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 119273 | }, |
| | 119274 | .extra_temps = .{ |
| | 119275 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119276 | .unused, |
| | 119277 | .unused, |
| | 119278 | .unused, |
| | 119279 | .unused, |
| | 119280 | .unused, |
| | 119281 | .unused, |
| | 119282 | .unused, |
| | 119283 | .unused, |
| | 119284 | .unused, |
| | 119285 | .unused, |
| | 119286 | }, |
| | 119287 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 119288 | .each = .{ .once = &.{ |
| | 119289 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 119290 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119291 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 119292 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119293 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 119294 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119295 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 119296 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 119297 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 119298 | } }, |
| | 119299 | }, .{ |
| | 119300 | .required_features = .{ .avx, null, null, null }, |
| | 119301 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119302 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 119303 | .patterns = &.{ |
| | 119304 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 119305 | }, |
| | 119306 | .extra_temps = .{ |
| | 119307 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 119308 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119309 | .ref = .src0, |
| | 119310 | .invert = switch (mir_tag) { |
| | 119311 | else => unreachable, |
| | 119312 | .@"and" => true, |
| | 119313 | .@"or", .xor => false, |
| | 119314 | }, |
| | 119315 | } } }, |
| | 119316 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119317 | .unused, |
| | 119318 | .unused, |
| | 119319 | .unused, |
| | 119320 | .unused, |
| | 119321 | .unused, |
| | 119322 | .unused, |
| | 119323 | .unused, |
| | 119324 | .unused, |
| | 119325 | }, |
| | 119326 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119327 | .each = .{ .once = &.{ |
| | 119328 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119329 | .{ ._, .vp_, switch (mir_tag) { |
| | 119330 | else => unreachable, |
| | 119331 | .@"and" => .@"or", |
| | 119332 | .@"or", .xor => .@"and", |
| | 119333 | }, .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 119334 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119335 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119336 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119337 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119338 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119339 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119340 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 119341 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119342 | } }, |
| | 119343 | }, .{ |
| | 119344 | .required_features = .{ .sse2, null, null, null }, |
| | 119345 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119346 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 119347 | .patterns = &.{ |
| | 119348 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 119349 | }, |
| | 119350 | .extra_temps = .{ |
| | 119351 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 119352 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119353 | .ref = .src0, |
| | 119354 | .invert = switch (mir_tag) { |
| | 119355 | else => unreachable, |
| | 119356 | .@"and" => true, |
| | 119357 | .@"or", .xor => false, |
| | 119358 | }, |
| | 119359 | } } }, |
| | 119360 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119361 | .unused, |
| | 119362 | .unused, |
| | 119363 | .unused, |
| | 119364 | .unused, |
| | 119365 | .unused, |
| | 119366 | .unused, |
| | 119367 | .unused, |
| | 119368 | .unused, |
| | 119369 | }, |
| | 119370 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 119371 | .each = .{ .once = &.{ |
| | 119372 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119373 | .{ ._, .p_, switch (mir_tag) { |
| | 119374 | else => unreachable, |
| | 119375 | .@"and" => .@"or", |
| | 119376 | .@"or", .xor => .@"and", |
| | 119377 | }, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 119378 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119379 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119380 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119381 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119382 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119383 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119384 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 119385 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 119386 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119387 | } }, |
| | 119388 | }, .{ |
| | 119389 | .required_features = .{ .avx2, null, null, null }, |
| | 119390 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119391 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 119392 | .patterns = &.{ |
| | 119393 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 119394 | }, |
| | 119395 | .extra_temps = .{ |
| | 119396 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119397 | .unused, |
| | 119398 | .unused, |
| | 119399 | .unused, |
| | 119400 | .unused, |
| | 119401 | .unused, |
| | 119402 | .unused, |
| | 119403 | .unused, |
| | 119404 | .unused, |
| | 119405 | .unused, |
| | 119406 | .unused, |
| | 119407 | }, |
| | 119408 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119409 | .each = .{ .once = &.{ |
| | 119410 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 119411 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 119412 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 119413 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119414 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 119415 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119416 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 119417 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119418 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 119419 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119420 | } }, |
| | 119421 | }, .{ |
| | 119422 | .required_features = .{ .avx, null, null, null }, |
| | 119423 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119424 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 119425 | .patterns = &.{ |
| | 119426 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 119427 | }, |
| | 119428 | .extra_temps = .{ |
| | 119429 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119430 | .unused, |
| | 119431 | .unused, |
| | 119432 | .unused, |
| | 119433 | .unused, |
| | 119434 | .unused, |
| | 119435 | .unused, |
| | 119436 | .unused, |
| | 119437 | .unused, |
| | 119438 | .unused, |
| | 119439 | .unused, |
| | 119440 | }, |
| | 119441 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119442 | .each = .{ .once = &.{ |
| | 119443 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 119444 | .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 119445 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 119446 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119447 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 119448 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119449 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 119450 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119451 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 119452 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119453 | } }, |
| | 119454 | }, .{ |
| | 119455 | .required_features = .{ .avx2, null, null, null }, |
| | 119456 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119457 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 119458 | .patterns = &.{ |
| | 119459 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 119460 | }, |
| | 119461 | .extra_temps = .{ |
| | 119462 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 119463 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119464 | .ref = .src0, |
| | 119465 | .invert = switch (mir_tag) { |
| | 119466 | else => unreachable, |
| | 119467 | .@"and" => true, |
| | 119468 | .@"or", .xor => false, |
| | 119469 | }, |
| | 119470 | } } }, |
| | 119471 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119472 | .unused, |
| | 119473 | .unused, |
| | 119474 | .unused, |
| | 119475 | .unused, |
| | 119476 | .unused, |
| | 119477 | .unused, |
| | 119478 | .unused, |
| | 119479 | .unused, |
| | 119480 | }, |
| | 119481 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119482 | .each = .{ .once = &.{ |
| | 119483 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119484 | .{ ._, .vp_, switch (mir_tag) { |
| | 119485 | else => unreachable, |
| | 119486 | .@"and" => .@"or", |
| | 119487 | .@"or", .xor => .@"and", |
| | 119488 | }, .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 119489 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 119490 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119491 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119492 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119493 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119494 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119495 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119496 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119497 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 119498 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119499 | } }, |
| | 119500 | }, .{ |
| | 119501 | .required_features = .{ .avx, null, null, null }, |
| | 119502 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119503 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 119504 | .patterns = &.{ |
| | 119505 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 119506 | }, |
| | 119507 | .extra_temps = .{ |
| | 119508 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 119509 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119510 | .ref = .src0, |
| | 119511 | .invert = switch (mir_tag) { |
| | 119512 | else => unreachable, |
| | 119513 | .@"and" => true, |
| | 119514 | .@"or", .xor => false, |
| | 119515 | }, |
| | 119516 | } } }, |
| | 119517 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119518 | .unused, |
| | 119519 | .unused, |
| | 119520 | .unused, |
| | 119521 | .unused, |
| | 119522 | .unused, |
| | 119523 | .unused, |
| | 119524 | .unused, |
| | 119525 | .unused, |
| | 119526 | }, |
| | 119527 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 119528 | .each = .{ .once = &.{ |
| | 119529 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119530 | .{ ._, .v_ps, switch (mir_tag) { |
| | 119531 | else => unreachable, |
| | 119532 | .@"and" => .@"or", |
| | 119533 | .@"or", .xor => .@"and", |
| | 119534 | }, .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 119535 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 119536 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119537 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 119538 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119539 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 119540 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119541 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119542 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119543 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 119544 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119545 | } }, |
| | 119546 | }, .{ |
| | 119547 | .required_features = .{ .avx512f, null, null, null }, |
| | 119548 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119549 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 119550 | .patterns = &.{ |
| | 119551 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119552 | }, |
| | 119553 | .extra_temps = .{ |
| | 119554 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119555 | .unused, |
| | 119556 | .unused, |
| | 119557 | .unused, |
| | 119558 | .unused, |
| | 119559 | .unused, |
| | 119560 | .unused, |
| | 119561 | .unused, |
| | 119562 | .unused, |
| | 119563 | .unused, |
| | 119564 | .unused, |
| | 119565 | }, |
| | 119566 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119567 | .each = .{ .once = &.{ |
| | 119568 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 119569 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 119570 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 119571 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119572 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 119573 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119574 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 119575 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119576 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 119577 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119578 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 119579 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 119580 | } }, |
| | 119581 | }, .{ |
| | 119582 | .required_features = .{ .avx512f, null, null, null }, |
| | 119583 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119584 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 119585 | .patterns = &.{ |
| | 119586 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119587 | }, |
| | 119588 | .extra_temps = .{ |
| | 119589 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 119590 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119591 | .ref = .src0, |
| | 119592 | .invert = switch (mir_tag) { |
| | 119593 | else => unreachable, |
| | 119594 | .@"and" => true, |
| | 119595 | .@"or", .xor => false, |
| | 119596 | }, |
| | 119597 | } } }, |
| | 119598 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 119599 | .unused, |
| | 119600 | .unused, |
| | 119601 | .unused, |
| | 119602 | .unused, |
| | 119603 | .unused, |
| | 119604 | .unused, |
| | 119605 | .unused, |
| | 119606 | .unused, |
| | 119607 | }, |
| | 119608 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119609 | .each = .{ .once = &.{ |
| | 119610 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119611 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 119612 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 119613 | .{ ._, .vp_, switch (mir_tag) { |
| | 119614 | else => unreachable, |
| | 119615 | .@"and" => .@"or", |
| | 119616 | .@"or", .xor => .@"and", |
| | 119617 | }, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 119618 | .{ ._, .vp_, switch (mir_tag) { |
| | 119619 | else => unreachable, |
| | 119620 | .@"and" => .@"or", |
| | 119621 | .@"or", .xor => .@"and", |
| | 119622 | }, .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 119623 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 119624 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 119625 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119626 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119627 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119628 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119629 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119630 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119631 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119632 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 119633 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119634 | } }, |
| | 119635 | }, .{ |
| | 119636 | .required_features = .{ .avx2, null, null, null }, |
| | 119637 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119638 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 119639 | .patterns = &.{ |
| | 119640 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119641 | }, |
| | 119642 | .extra_temps = .{ |
| | 119643 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119644 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119645 | .unused, |
| | 119646 | .unused, |
| | 119647 | .unused, |
| | 119648 | .unused, |
| | 119649 | .unused, |
| | 119650 | .unused, |
| | 119651 | .unused, |
| | 119652 | .unused, |
| | 119653 | .unused, |
| | 119654 | }, |
| | 119655 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119656 | .clobbers = .{ .eflags = true }, |
| | 119657 | .each = .{ .once = &.{ |
| | 119658 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 119659 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 119660 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 119661 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 119662 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 119663 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 119664 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119665 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 119666 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119667 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 119668 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119669 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 119670 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119671 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 119672 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119673 | } }, |
| | 119674 | }, .{ |
| | 119675 | .required_features = .{ .avx, null, null, null }, |
| | 119676 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119677 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 119678 | .patterns = &.{ |
| | 119679 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119680 | }, |
| | 119681 | .extra_temps = .{ |
| | 119682 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119683 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119684 | .unused, |
| | 119685 | .unused, |
| | 119686 | .unused, |
| | 119687 | .unused, |
| | 119688 | .unused, |
| | 119689 | .unused, |
| | 119690 | .unused, |
| | 119691 | .unused, |
| | 119692 | .unused, |
| | 119693 | }, |
| | 119694 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119695 | .clobbers = .{ .eflags = true }, |
| | 119696 | .each = .{ .once = &.{ |
| | 119697 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 119698 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 119699 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 119700 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 119701 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 119702 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 119703 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119704 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 119705 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119706 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 119707 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119708 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 119709 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119710 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 119711 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 119712 | } }, |
| | 119713 | }, .{ |
| | 119714 | .required_features = .{ .sse2, null, null, null }, |
| | 119715 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119716 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 119717 | .patterns = &.{ |
| | 119718 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119719 | }, |
| | 119720 | .extra_temps = .{ |
| | 119721 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119722 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119723 | .unused, |
| | 119724 | .unused, |
| | 119725 | .unused, |
| | 119726 | .unused, |
| | 119727 | .unused, |
| | 119728 | .unused, |
| | 119729 | .unused, |
| | 119730 | .unused, |
| | 119731 | .unused, |
| | 119732 | }, |
| | 119733 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119734 | .clobbers = .{ .eflags = true }, |
| | 119735 | .each = .{ .once = &.{ |
| | 119736 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 119737 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 119738 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 119739 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 119740 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 119741 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 119742 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 119743 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 119744 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 119745 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 119746 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 119747 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 119748 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 119749 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 119750 | } }, |
| | 119751 | }, .{ |
| | 119752 | .required_features = .{ .avx512f, null, null, null }, |
| | 119753 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119754 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 119755 | .patterns = &.{ |
| | 119756 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119757 | }, |
| | 119758 | .extra_temps = .{ |
| | 119759 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119760 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119761 | .ref = .src0, |
| | 119762 | .invert = switch (mir_tag) { |
| | 119763 | else => unreachable, |
| | 119764 | .@"and" => true, |
| | 119765 | .@"or", .xor => false, |
| | 119766 | }, |
| | 119767 | } } }, |
| | 119768 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 119769 | .unused, |
| | 119770 | .unused, |
| | 119771 | .unused, |
| | 119772 | .unused, |
| | 119773 | .unused, |
| | 119774 | .unused, |
| | 119775 | .unused, |
| | 119776 | .unused, |
| | 119777 | }, |
| | 119778 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119779 | .clobbers = .{ .eflags = true }, |
| | 119780 | .each = .{ .once = &.{ |
| | 119781 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119782 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 119783 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 119784 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 119785 | .{ ._, .vp_, switch (mir_tag) { |
| | 119786 | else => unreachable, |
| | 119787 | .@"and" => .@"or", |
| | 119788 | .@"or", .xor => .@"and", |
| | 119789 | }, .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 119790 | .{ ._, .vp_, switch (mir_tag) { |
| | 119791 | else => unreachable, |
| | 119792 | .@"and" => .@"or", |
| | 119793 | .@"or", .xor => .@"and", |
| | 119794 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 119795 | .{ .@"0:", .vp_, mir_tag, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 119796 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 119797 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 119798 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 119799 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 119800 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 119801 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119802 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119803 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119804 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119805 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119806 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119807 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119808 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 119809 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119810 | } }, |
| | 119811 | }, .{ |
| | 119812 | .required_features = .{ .avx2, null, null, null }, |
| | 119813 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119814 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 119815 | .patterns = &.{ |
| | 119816 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119817 | }, |
| | 119818 | .extra_temps = .{ |
| | 119819 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119820 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119821 | .ref = .src0, |
| | 119822 | .invert = switch (mir_tag) { |
| | 119823 | else => unreachable, |
| | 119824 | .@"and" => true, |
| | 119825 | .@"or", .xor => false, |
| | 119826 | }, |
| | 119827 | } } }, |
| | 119828 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119829 | .unused, |
| | 119830 | .unused, |
| | 119831 | .unused, |
| | 119832 | .unused, |
| | 119833 | .unused, |
| | 119834 | .unused, |
| | 119835 | .unused, |
| | 119836 | .unused, |
| | 119837 | }, |
| | 119838 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119839 | .clobbers = .{ .eflags = true }, |
| | 119840 | .each = .{ .once = &.{ |
| | 119841 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119842 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 119843 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 119844 | .{ ._, .vp_, switch (mir_tag) { |
| | 119845 | else => unreachable, |
| | 119846 | .@"and" => .@"or", |
| | 119847 | .@"or", .xor => .@"and", |
| | 119848 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 119849 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 119850 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 119851 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 119852 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 119853 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119854 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119855 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119856 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119857 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119858 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119859 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119860 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 119861 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119862 | } }, |
| | 119863 | }, .{ |
| | 119864 | .required_features = .{ .avx, null, null, null }, |
| | 119865 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119866 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 119867 | .patterns = &.{ |
| | 119868 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119869 | }, |
| | 119870 | .extra_temps = .{ |
| | 119871 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119872 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119873 | .ref = .src0, |
| | 119874 | .invert = switch (mir_tag) { |
| | 119875 | else => unreachable, |
| | 119876 | .@"and" => true, |
| | 119877 | .@"or", .xor => false, |
| | 119878 | }, |
| | 119879 | } } }, |
| | 119880 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119881 | .unused, |
| | 119882 | .unused, |
| | 119883 | .unused, |
| | 119884 | .unused, |
| | 119885 | .unused, |
| | 119886 | .unused, |
| | 119887 | .unused, |
| | 119888 | .unused, |
| | 119889 | }, |
| | 119890 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119891 | .clobbers = .{ .eflags = true }, |
| | 119892 | .each = .{ .once = &.{ |
| | 119893 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119894 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 119895 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 119896 | .{ ._, .v_ps, switch (mir_tag) { |
| | 119897 | else => unreachable, |
| | 119898 | .@"and" => .@"or", |
| | 119899 | .@"or", .xor => .@"and", |
| | 119900 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 119901 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 119902 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 119903 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 119904 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 119905 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119906 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 119907 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119908 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 119909 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119910 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119911 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119912 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 119913 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 119914 | } }, |
| | 119915 | }, .{ |
| | 119916 | .required_features = .{ .sse2, null, null, null }, |
| | 119917 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119918 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 119919 | .patterns = &.{ |
| | 119920 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119921 | }, |
| | 119922 | .extra_temps = .{ |
| | 119923 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119924 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 119925 | .ref = .src0, |
| | 119926 | .invert = switch (mir_tag) { |
| | 119927 | else => unreachable, |
| | 119928 | .@"and" => true, |
| | 119929 | .@"or", .xor => false, |
| | 119930 | }, |
| | 119931 | } } }, |
| | 119932 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 119933 | .unused, |
| | 119934 | .unused, |
| | 119935 | .unused, |
| | 119936 | .unused, |
| | 119937 | .unused, |
| | 119938 | .unused, |
| | 119939 | .unused, |
| | 119940 | .unused, |
| | 119941 | }, |
| | 119942 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 119943 | .clobbers = .{ .eflags = true }, |
| | 119944 | .each = .{ .once = &.{ |
| | 119945 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 119946 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 119947 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 119948 | .{ ._, .p_, switch (mir_tag) { |
| | 119949 | else => unreachable, |
| | 119950 | .@"and" => .@"or", |
| | 119951 | .@"or", .xor => .@"and", |
| | 119952 | }, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 119953 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 119954 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 119955 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 119956 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119957 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119958 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 119959 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119960 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 119961 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119962 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 119963 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 119964 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 119965 | } }, |
| | 119966 | }, .{ |
| | 119967 | .required_features = .{ .slow_incdec, null, null, null }, |
| | 119968 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119969 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 119970 | .patterns = &.{ |
| | 119971 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 119972 | }, |
| | 119973 | .extra_temps = .{ |
| | 119974 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 119975 | .unused, |
| | 119976 | .unused, |
| | 119977 | .unused, |
| | 119978 | .unused, |
| | 119979 | .unused, |
| | 119980 | .unused, |
| | 119981 | .unused, |
| | 119982 | .unused, |
| | 119983 | .unused, |
| | 119984 | .unused, |
| | 119985 | }, |
| | 119986 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 119987 | .clobbers = .{ .eflags = true }, |
| | 119988 | .each = .{ .once = &.{ |
| | 119989 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 119990 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 119991 | .{ .@"0:", ._, mir_tag, .dst0b, .memi(.src0b, .tmp0), ._, ._ }, |
| | 119992 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 119993 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 119994 | } }, |
| | 119995 | }, .{ |
| | 119996 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 119997 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 119998 | .patterns = &.{ |
| | 119999 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120000 | }, |
| | 120001 | .extra_temps = .{ |
| | 120002 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120003 | .unused, |
| | 120004 | .unused, |
| | 120005 | .unused, |
| | 120006 | .unused, |
| | 120007 | .unused, |
| | 120008 | .unused, |
| | 120009 | .unused, |
| | 120010 | .unused, |
| | 120011 | .unused, |
| | 120012 | .unused, |
| | 120013 | }, |
| | 120014 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 120015 | .clobbers = .{ .eflags = true }, |
| | 120016 | .each = .{ .once = &.{ |
| | 120017 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 120018 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 120019 | .{ .@"0:", ._, mir_tag, .dst0b, .memi(.src0b, .tmp0), ._, ._ }, |
| | 120020 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 120021 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 120022 | } }, |
| | 120023 | }, .{ |
| | 120024 | .required_features = .{ .avx, null, null, null }, |
| | 120025 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120026 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 120027 | .patterns = &.{ |
| | 120028 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120029 | }, |
| | 120030 | .extra_temps = .{ |
| | 120031 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120032 | .unused, |
| | 120033 | .unused, |
| | 120034 | .unused, |
| | 120035 | .unused, |
| | 120036 | .unused, |
| | 120037 | .unused, |
| | 120038 | .unused, |
| | 120039 | .unused, |
| | 120040 | .unused, |
| | 120041 | .unused, |
| | 120042 | }, |
| | 120043 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120044 | .each = .{ .once = &.{ |
| | 120045 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 120046 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 120047 | } }, |
| | 120048 | }, .{ |
| | 120049 | .required_features = .{ .sse2, null, null, null }, |
| | 120050 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120051 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 120052 | .patterns = &.{ |
| | 120053 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 120054 | }, |
| | 120055 | .extra_temps = .{ |
| | 120056 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120057 | .unused, |
| | 120058 | .unused, |
| | 120059 | .unused, |
| | 120060 | .unused, |
| | 120061 | .unused, |
| | 120062 | .unused, |
| | 120063 | .unused, |
| | 120064 | .unused, |
| | 120065 | .unused, |
| | 120066 | .unused, |
| | 120067 | }, |
| | 120068 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 120069 | .each = .{ .once = &.{ |
| | 120070 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 120071 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 120072 | } }, |
| | 120073 | }, .{ |
| | 120074 | .required_features = .{ .avx, null, null, null }, |
| | 120075 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120076 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 120077 | .patterns = &.{ |
| | 120078 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120079 | }, |
| | 120080 | .extra_temps = .{ |
| | 120081 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120082 | .unused, |
| | 120083 | .unused, |
| | 120084 | .unused, |
| | 120085 | .unused, |
| | 120086 | .unused, |
| | 120087 | .unused, |
| | 120088 | .unused, |
| | 120089 | .unused, |
| | 120090 | .unused, |
| | 120091 | .unused, |
| | 120092 | }, |
| | 120093 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120094 | .each = .{ .once = &.{ |
| | 120095 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 120096 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 120097 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 120098 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120099 | } }, |
| | 120100 | }, .{ |
| | 120101 | .required_features = .{ .sse2, null, null, null }, |
| | 120102 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120103 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 120104 | .patterns = &.{ |
| | 120105 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 120106 | }, |
| | 120107 | .extra_temps = .{ |
| | 120108 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120109 | .unused, |
| | 120110 | .unused, |
| | 120111 | .unused, |
| | 120112 | .unused, |
| | 120113 | .unused, |
| | 120114 | .unused, |
| | 120115 | .unused, |
| | 120116 | .unused, |
| | 120117 | .unused, |
| | 120118 | .unused, |
| | 120119 | }, |
| | 120120 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 120121 | .each = .{ .once = &.{ |
| | 120122 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 120123 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 120124 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 120125 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 120126 | } }, |
| | 120127 | }, .{ |
| | 120128 | .required_features = .{ .avx, null, null, null }, |
| | 120129 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120130 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 120131 | .patterns = &.{ |
| | 120132 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120133 | }, |
| | 120134 | .extra_temps = .{ |
| | 120135 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120136 | .unused, |
| | 120137 | .unused, |
| | 120138 | .unused, |
| | 120139 | .unused, |
| | 120140 | .unused, |
| | 120141 | .unused, |
| | 120142 | .unused, |
| | 120143 | .unused, |
| | 120144 | .unused, |
| | 120145 | .unused, |
| | 120146 | }, |
| | 120147 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120148 | .each = .{ .once = &.{ |
| | 120149 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 120150 | .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 120151 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 120152 | .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 120153 | } }, |
| | 120154 | }, .{ |
| | 120155 | .required_features = .{ .sse2, null, null, null }, |
| | 120156 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120157 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 120158 | .patterns = &.{ |
| | 120159 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 120160 | }, |
| | 120161 | .extra_temps = .{ |
| | 120162 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120163 | .unused, |
| | 120164 | .unused, |
| | 120165 | .unused, |
| | 120166 | .unused, |
| | 120167 | .unused, |
| | 120168 | .unused, |
| | 120169 | .unused, |
| | 120170 | .unused, |
| | 120171 | .unused, |
| | 120172 | .unused, |
| | 120173 | }, |
| | 120174 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120175 | .each = .{ .once = &.{ |
| | 120176 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 120177 | .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ }, |
| | 120178 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 120179 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 120180 | } }, |
| | 120181 | }, .{ |
| | 120182 | .required_features = .{ .avx, null, null, null }, |
| | 120183 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120184 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 120185 | .patterns = &.{ |
| | 120186 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120187 | }, |
| | 120188 | .extra_temps = .{ |
| | 120189 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120190 | .unused, |
| | 120191 | .unused, |
| | 120192 | .unused, |
| | 120193 | .unused, |
| | 120194 | .unused, |
| | 120195 | .unused, |
| | 120196 | .unused, |
| | 120197 | .unused, |
| | 120198 | .unused, |
| | 120199 | .unused, |
| | 120200 | }, |
| | 120201 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120202 | .each = .{ .once = &.{ |
| | 120203 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 120204 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 120205 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 120206 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120207 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 120208 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120209 | } }, |
| | 120210 | }, .{ |
| | 120211 | .required_features = .{ .sse2, null, null, null }, |
| | 120212 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120213 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 120214 | .patterns = &.{ |
| | 120215 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 120216 | }, |
| | 120217 | .extra_temps = .{ |
| | 120218 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120219 | .unused, |
| | 120220 | .unused, |
| | 120221 | .unused, |
| | 120222 | .unused, |
| | 120223 | .unused, |
| | 120224 | .unused, |
| | 120225 | .unused, |
| | 120226 | .unused, |
| | 120227 | .unused, |
| | 120228 | .unused, |
| | 120229 | }, |
| | 120230 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 120231 | .each = .{ .once = &.{ |
| | 120232 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 120233 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 120234 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 120235 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 120236 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 120237 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 120238 | } }, |
| | 120239 | }, .{ |
| | 120240 | .required_features = .{ .avx, null, null, null }, |
| | 120241 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120242 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 120243 | .patterns = &.{ |
| | 120244 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120245 | }, |
| | 120246 | .extra_temps = .{ |
| | 120247 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120248 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 120249 | .ref = .src0, |
| | 120250 | .invert = switch (mir_tag) { |
| | 120251 | else => unreachable, |
| | 120252 | .@"and" => true, |
| | 120253 | .@"or", .xor => false, |
| | 120254 | }, |
| | 120255 | } } }, |
| | 120256 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120257 | .unused, |
| | 120258 | .unused, |
| | 120259 | .unused, |
| | 120260 | .unused, |
| | 120261 | .unused, |
| | 120262 | .unused, |
| | 120263 | .unused, |
| | 120264 | .unused, |
| | 120265 | }, |
| | 120266 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120267 | .each = .{ .once = &.{ |
| | 120268 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 120269 | .{ ._, .vp_, switch (mir_tag) { |
| | 120270 | else => unreachable, |
| | 120271 | .@"and" => .@"or", |
| | 120272 | .@"or", .xor => .@"and", |
| | 120273 | }, .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 120274 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120275 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120276 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120277 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120278 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 120279 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120280 | } }, |
| | 120281 | }, .{ |
| | 120282 | .required_features = .{ .sse2, null, null, null }, |
| | 120283 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120284 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 120285 | .patterns = &.{ |
| | 120286 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 120287 | }, |
| | 120288 | .extra_temps = .{ |
| | 120289 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120290 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 120291 | .ref = .src0, |
| | 120292 | .invert = switch (mir_tag) { |
| | 120293 | else => unreachable, |
| | 120294 | .@"and" => true, |
| | 120295 | .@"or", .xor => false, |
| | 120296 | }, |
| | 120297 | } } }, |
| | 120298 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120299 | .unused, |
| | 120300 | .unused, |
| | 120301 | .unused, |
| | 120302 | .unused, |
| | 120303 | .unused, |
| | 120304 | .unused, |
| | 120305 | .unused, |
| | 120306 | .unused, |
| | 120307 | }, |
| | 120308 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 120309 | .each = .{ .once = &.{ |
| | 120310 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 120311 | .{ ._, .p_, switch (mir_tag) { |
| | 120312 | else => unreachable, |
| | 120313 | .@"and" => .@"or", |
| | 120314 | .@"or", .xor => .@"and", |
| | 120315 | }, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 120316 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120317 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 120318 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120319 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 120320 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 120321 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 120322 | } }, |
| | 120323 | }, .{ |
| | 120324 | .required_features = .{ .avx2, null, null, null }, |
| | 120325 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120326 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 120327 | .patterns = &.{ |
| | 120328 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120329 | }, |
| | 120330 | .extra_temps = .{ |
| | 120331 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120332 | .unused, |
| | 120333 | .unused, |
| | 120334 | .unused, |
| | 120335 | .unused, |
| | 120336 | .unused, |
| | 120337 | .unused, |
| | 120338 | .unused, |
| | 120339 | .unused, |
| | 120340 | .unused, |
| | 120341 | .unused, |
| | 120342 | }, |
| | 120343 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120344 | .each = .{ .once = &.{ |
| | 120345 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 120346 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 120347 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 120348 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120349 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 120350 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120351 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 120352 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120353 | } }, |
| | 120354 | }, .{ |
| | 120355 | .required_features = .{ .avx, null, null, null }, |
| | 120356 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120357 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 120358 | .patterns = &.{ |
| | 120359 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120360 | }, |
| | 120361 | .extra_temps = .{ |
| | 120362 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120363 | .unused, |
| | 120364 | .unused, |
| | 120365 | .unused, |
| | 120366 | .unused, |
| | 120367 | .unused, |
| | 120368 | .unused, |
| | 120369 | .unused, |
| | 120370 | .unused, |
| | 120371 | .unused, |
| | 120372 | .unused, |
| | 120373 | }, |
| | 120374 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120375 | .each = .{ .once = &.{ |
| | 120376 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 120377 | .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 120378 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 120379 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120380 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 120381 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120382 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 120383 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120384 | } }, |
| | 120385 | }, .{ |
| | 120386 | .required_features = .{ .avx2, null, null, null }, |
| | 120387 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120388 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 120389 | .patterns = &.{ |
| | 120390 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120391 | }, |
| | 120392 | .extra_temps = .{ |
| | 120393 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120394 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 120395 | .ref = .src0, |
| | 120396 | .invert = switch (mir_tag) { |
| | 120397 | else => unreachable, |
| | 120398 | .@"and" => true, |
| | 120399 | .@"or", .xor => false, |
| | 120400 | }, |
| | 120401 | } } }, |
| | 120402 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120403 | .unused, |
| | 120404 | .unused, |
| | 120405 | .unused, |
| | 120406 | .unused, |
| | 120407 | .unused, |
| | 120408 | .unused, |
| | 120409 | .unused, |
| | 120410 | .unused, |
| | 120411 | }, |
| | 120412 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120413 | .each = .{ .once = &.{ |
| | 120414 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 120415 | .{ ._, .vp_, switch (mir_tag) { |
| | 120416 | else => unreachable, |
| | 120417 | .@"and" => .@"or", |
| | 120418 | .@"or", .xor => .@"and", |
| | 120419 | }, .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 120420 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 120421 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120422 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120423 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120424 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120425 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120426 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 120427 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120428 | } }, |
| | 120429 | }, .{ |
| | 120430 | .required_features = .{ .avx, null, null, null }, |
| | 120431 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120432 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 120433 | .patterns = &.{ |
| | 120434 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120435 | }, |
| | 120436 | .extra_temps = .{ |
| | 120437 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120438 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 120439 | .ref = .src0, |
| | 120440 | .invert = switch (mir_tag) { |
| | 120441 | else => unreachable, |
| | 120442 | .@"and" => true, |
| | 120443 | .@"or", .xor => false, |
| | 120444 | }, |
| | 120445 | } } }, |
| | 120446 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120447 | .unused, |
| | 120448 | .unused, |
| | 120449 | .unused, |
| | 120450 | .unused, |
| | 120451 | .unused, |
| | 120452 | .unused, |
| | 120453 | .unused, |
| | 120454 | .unused, |
| | 120455 | }, |
| | 120456 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120457 | .each = .{ .once = &.{ |
| | 120458 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 120459 | .{ ._, .v_ps, switch (mir_tag) { |
| | 120460 | else => unreachable, |
| | 120461 | .@"and" => .@"or", |
| | 120462 | .@"or", .xor => .@"and", |
| | 120463 | }, .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 120464 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 120465 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120466 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 120467 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120468 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 120469 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120470 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 120471 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120472 | } }, |
| | 120473 | }, .{ |
| | 120474 | .required_features = .{ .avx512f, null, null, null }, |
| | 120475 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120476 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 120477 | .patterns = &.{ |
| | 120478 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120479 | }, |
| | 120480 | .extra_temps = .{ |
| | 120481 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120482 | .unused, |
| | 120483 | .unused, |
| | 120484 | .unused, |
| | 120485 | .unused, |
| | 120486 | .unused, |
| | 120487 | .unused, |
| | 120488 | .unused, |
| | 120489 | .unused, |
| | 120490 | .unused, |
| | 120491 | .unused, |
| | 120492 | }, |
| | 120493 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120494 | .each = .{ .once = &.{ |
| | 120495 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 120496 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 120497 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 120498 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120499 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 120500 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120501 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 120502 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120503 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 120504 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120505 | } }, |
| | 120506 | }, .{ |
| | 120507 | .required_features = .{ .avx512f, null, null, null }, |
| | 120508 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120509 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 120510 | .patterns = &.{ |
| | 120511 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120512 | }, |
| | 120513 | .extra_temps = .{ |
| | 120514 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 120515 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 120516 | .ref = .src0, |
| | 120517 | .invert = switch (mir_tag) { |
| | 120518 | else => unreachable, |
| | 120519 | .@"and" => true, |
| | 120520 | .@"or", .xor => false, |
| | 120521 | }, |
| | 120522 | } } }, |
| | 120523 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 120524 | .unused, |
| | 120525 | .unused, |
| | 120526 | .unused, |
| | 120527 | .unused, |
| | 120528 | .unused, |
| | 120529 | .unused, |
| | 120530 | .unused, |
| | 120531 | .unused, |
| | 120532 | }, |
| | 120533 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120534 | .each = .{ .once = &.{ |
| | 120535 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 120536 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 120537 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 120538 | .{ ._, .vp_, switch (mir_tag) { |
| | 120539 | else => unreachable, |
| | 120540 | .@"and" => .@"or", |
| | 120541 | .@"or", .xor => .@"and", |
| | 120542 | }, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 120543 | .{ ._, .vp_, switch (mir_tag) { |
| | 120544 | else => unreachable, |
| | 120545 | .@"and" => .@"or", |
| | 120546 | .@"or", .xor => .@"and", |
| | 120547 | }, .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 120548 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 120549 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 120550 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120551 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120552 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120553 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120554 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120555 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 120556 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120557 | } }, |
| | 120558 | }, .{ |
| | 120559 | .required_features = .{ .avx2, null, null, null }, |
| | 120560 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120561 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 120562 | .patterns = &.{ |
| | 120563 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120564 | }, |
| | 120565 | .extra_temps = .{ |
| | 120566 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120567 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120568 | .unused, |
| | 120569 | .unused, |
| | 120570 | .unused, |
| | 120571 | .unused, |
| | 120572 | .unused, |
| | 120573 | .unused, |
| | 120574 | .unused, |
| | 120575 | .unused, |
| | 120576 | .unused, |
| | 120577 | }, |
| | 120578 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120579 | .clobbers = .{ .eflags = true }, |
| | 120580 | .each = .{ .once = &.{ |
| | 120581 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 120582 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 120583 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 120584 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 120585 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 120586 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 120587 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 120588 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 120589 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 120590 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 120591 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 120592 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 120593 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 120594 | } }, |
| | 120595 | }, .{ |
| | 120596 | .required_features = .{ .avx, null, null, null }, |
| | 120597 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120598 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 120599 | .patterns = &.{ |
| | 120600 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120601 | }, |
| | 120602 | .extra_temps = .{ |
| | 120603 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120604 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120605 | .unused, |
| | 120606 | .unused, |
| | 120607 | .unused, |
| | 120608 | .unused, |
| | 120609 | .unused, |
| | 120610 | .unused, |
| | 120611 | .unused, |
| | 120612 | .unused, |
| | 120613 | .unused, |
| | 120614 | }, |
| | 120615 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120616 | .clobbers = .{ .eflags = true }, |
| | 120617 | .each = .{ .once = &.{ |
| | 120618 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 120619 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 120620 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 120621 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 120622 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 120623 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 120624 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 120625 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 120626 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 120627 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 120628 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 120629 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 120630 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 120631 | } }, |
| | 120632 | }, .{ |
| | 120633 | .required_features = .{ .sse2, null, null, null }, |
| | 120634 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120635 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 120636 | .patterns = &.{ |
| | 120637 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120638 | }, |
| | 120639 | .extra_temps = .{ |
| | 120640 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120641 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120642 | .unused, |
| | 120643 | .unused, |
| | 120644 | .unused, |
| | 120645 | .unused, |
| | 120646 | .unused, |
| | 120647 | .unused, |
| | 120648 | .unused, |
| | 120649 | .unused, |
| | 120650 | .unused, |
| | 120651 | }, |
| | 120652 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120653 | .clobbers = .{ .eflags = true }, |
| | 120654 | .each = .{ .once = &.{ |
| | 120655 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 120656 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 120657 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 120658 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 120659 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 120660 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 120661 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 120662 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 120663 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 120664 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 120665 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 120666 | } }, |
| | 120667 | }, .{ |
| | 120668 | .required_features = .{ .avx512f, null, null, null }, |
| | 120669 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120670 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 120671 | .patterns = &.{ |
| | 120672 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120673 | }, |
| | 120674 | .extra_temps = .{ |
| | 120675 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120676 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 120677 | .ref = .src0, |
| | 120678 | .invert = switch (mir_tag) { |
| | 120679 | else => unreachable, |
| | 120680 | .@"and" => true, |
| | 120681 | .@"or", .xor => false, |
| | 120682 | }, |
| | 120683 | } } }, |
| | 120684 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 120685 | .unused, |
| | 120686 | .unused, |
| | 120687 | .unused, |
| | 120688 | .unused, |
| | 120689 | .unused, |
| | 120690 | .unused, |
| | 120691 | .unused, |
| | 120692 | .unused, |
| | 120693 | }, |
| | 120694 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120695 | .clobbers = .{ .eflags = true }, |
| | 120696 | .each = .{ .once = &.{ |
| | 120697 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 120698 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 120699 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 120700 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 120701 | .{ ._, .vp_, switch (mir_tag) { |
| | 120702 | else => unreachable, |
| | 120703 | .@"and" => .@"or", |
| | 120704 | .@"or", .xor => .@"and", |
| | 120705 | }, .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 120706 | .{ ._, .vp_, switch (mir_tag) { |
| | 120707 | else => unreachable, |
| | 120708 | .@"and" => .@"or", |
| | 120709 | .@"or", .xor => .@"and", |
| | 120710 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 120711 | .{ .@"0:", .vp_, mir_tag, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 120712 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 120713 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 120714 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 120715 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 120716 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 120717 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120718 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120719 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120720 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120721 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120722 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 120723 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120724 | } }, |
| | 120725 | }, .{ |
| | 120726 | .required_features = .{ .avx2, null, null, null }, |
| | 120727 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120728 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 120729 | .patterns = &.{ |
| | 120730 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120731 | }, |
| | 120732 | .extra_temps = .{ |
| | 120733 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120734 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 120735 | .ref = .src0, |
| | 120736 | .invert = switch (mir_tag) { |
| | 120737 | else => unreachable, |
| | 120738 | .@"and" => true, |
| | 120739 | .@"or", .xor => false, |
| | 120740 | }, |
| | 120741 | } } }, |
| | 120742 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120743 | .unused, |
| | 120744 | .unused, |
| | 120745 | .unused, |
| | 120746 | .unused, |
| | 120747 | .unused, |
| | 120748 | .unused, |
| | 120749 | .unused, |
| | 120750 | .unused, |
| | 120751 | }, |
| | 120752 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120753 | .clobbers = .{ .eflags = true }, |
| | 120754 | .each = .{ .once = &.{ |
| | 120755 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 120756 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 120757 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 120758 | .{ ._, .vp_, switch (mir_tag) { |
| | 120759 | else => unreachable, |
| | 120760 | .@"and" => .@"or", |
| | 120761 | .@"or", .xor => .@"and", |
| | 120762 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 120763 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 120764 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 120765 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 120766 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 120767 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120768 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120769 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120770 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120771 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120772 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 120773 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120774 | } }, |
| | 120775 | }, .{ |
| | 120776 | .required_features = .{ .avx, null, null, null }, |
| | 120777 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120778 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 120779 | .patterns = &.{ |
| | 120780 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120781 | }, |
| | 120782 | .extra_temps = .{ |
| | 120783 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120784 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 120785 | .ref = .src0, |
| | 120786 | .invert = switch (mir_tag) { |
| | 120787 | else => unreachable, |
| | 120788 | .@"and" => true, |
| | 120789 | .@"or", .xor => false, |
| | 120790 | }, |
| | 120791 | } } }, |
| | 120792 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120793 | .unused, |
| | 120794 | .unused, |
| | 120795 | .unused, |
| | 120796 | .unused, |
| | 120797 | .unused, |
| | 120798 | .unused, |
| | 120799 | .unused, |
| | 120800 | .unused, |
| | 120801 | }, |
| | 120802 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120803 | .clobbers = .{ .eflags = true }, |
| | 120804 | .each = .{ .once = &.{ |
| | 120805 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 120806 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 120807 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 120808 | .{ ._, .v_ps, switch (mir_tag) { |
| | 120809 | else => unreachable, |
| | 120810 | .@"and" => .@"or", |
| | 120811 | .@"or", .xor => .@"and", |
| | 120812 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 120813 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 120814 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 120815 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 120816 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 120817 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120818 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 120819 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120820 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 120821 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120822 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 120823 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 120824 | } }, |
| | 120825 | }, .{ |
| | 120826 | .required_features = .{ .sse2, null, null, null }, |
| | 120827 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120828 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 120829 | .patterns = &.{ |
| | 120830 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120831 | }, |
| | 120832 | .extra_temps = .{ |
| | 120833 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120834 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 120835 | .ref = .src0, |
| | 120836 | .invert = switch (mir_tag) { |
| | 120837 | else => unreachable, |
| | 120838 | .@"and" => true, |
| | 120839 | .@"or", .xor => false, |
| | 120840 | }, |
| | 120841 | } } }, |
| | 120842 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 120843 | .unused, |
| | 120844 | .unused, |
| | 120845 | .unused, |
| | 120846 | .unused, |
| | 120847 | .unused, |
| | 120848 | .unused, |
| | 120849 | .unused, |
| | 120850 | .unused, |
| | 120851 | }, |
| | 120852 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 120853 | .clobbers = .{ .eflags = true }, |
| | 120854 | .each = .{ .once = &.{ |
| | 120855 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 120856 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 120857 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 120858 | .{ ._, .p_, switch (mir_tag) { |
| | 120859 | else => unreachable, |
| | 120860 | .@"and" => .@"or", |
| | 120861 | .@"or", .xor => .@"and", |
| | 120862 | }, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 120863 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 120864 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 120865 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 120866 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120867 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 120868 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 120869 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 120870 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 120871 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 120872 | } }, |
| | 120873 | }, .{ |
| | 120874 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 120875 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 120876 | .patterns = &.{ |
| | 120877 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 120878 | }, |
| | 120879 | .extra_temps = .{ |
| | 120880 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 120881 | .unused, |
| | 120882 | .unused, |
| | 120883 | .unused, |
| | 120884 | .unused, |
| | 120885 | .unused, |
| | 120886 | .unused, |
| | 120887 | .unused, |
| | 120888 | .unused, |
| | 120889 | .unused, |
| | 120890 | .unused, |
| | 120891 | }, |
| | 120892 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 120893 | .clobbers = .{ .eflags = true }, |
| | 120894 | .each = .{ .once = &.{ |
| | 120895 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 120896 | .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 120897 | .{ .@"0:", ._, mir_tag, .dst0w, .memi(.src0w, .tmp0), ._, ._ }, |
| | 120898 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 120899 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 120900 | } }, |
| | 120901 | }, .{ |
| | 120902 | .required_features = .{ .avx, null, null, null }, |
| | 120903 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 120904 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 120905 | .patterns = &.{ |
| | 120906 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120907 | }, |
| | 120908 | .extra_temps = .{ |
| | 120909 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 120910 | .unused, |
| | 120911 | .unused, |
| | 120912 | .unused, |
| | 120913 | .unused, |
| | 120914 | .unused, |
| | 120915 | .unused, |
| | 120916 | .unused, |
| | 120917 | .unused, |
| | 120918 | .unused, |
| | 120919 | .unused, |
| | 120920 | }, |
| | 120921 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120922 | .each = .{ .once = &.{ |
| | 120923 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 120924 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 120925 | } }, |
| | 120926 | }, .{ |
| | 120927 | .required_features = .{ .sse2, null, null, null }, |
| | 120928 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 120929 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 120930 | .patterns = &.{ |
| | 120931 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 120932 | }, |
| | 120933 | .extra_temps = .{ |
| | 120934 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 120935 | .unused, |
| | 120936 | .unused, |
| | 120937 | .unused, |
| | 120938 | .unused, |
| | 120939 | .unused, |
| | 120940 | .unused, |
| | 120941 | .unused, |
| | 120942 | .unused, |
| | 120943 | .unused, |
| | 120944 | .unused, |
| | 120945 | }, |
| | 120946 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 120947 | .each = .{ .once = &.{ |
| | 120948 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 120949 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 120950 | } }, |
| | 120951 | }, .{ |
| | 120952 | .required_features = .{ .avx, null, null, null }, |
| | 120953 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 120954 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 120955 | .patterns = &.{ |
| | 120956 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 120957 | }, |
| | 120958 | .extra_temps = .{ |
| | 120959 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 120960 | .unused, |
| | 120961 | .unused, |
| | 120962 | .unused, |
| | 120963 | .unused, |
| | 120964 | .unused, |
| | 120965 | .unused, |
| | 120966 | .unused, |
| | 120967 | .unused, |
| | 120968 | .unused, |
| | 120969 | .unused, |
| | 120970 | }, |
| | 120971 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 120972 | .each = .{ .once = &.{ |
| | 120973 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 120974 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 120975 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 120976 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 120977 | } }, |
| | 120978 | }, .{ |
| | 120979 | .required_features = .{ .sse2, null, null, null }, |
| | 120980 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 120981 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 120982 | .patterns = &.{ |
| | 120983 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 120984 | }, |
| | 120985 | .extra_temps = .{ |
| | 120986 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 120987 | .unused, |
| | 120988 | .unused, |
| | 120989 | .unused, |
| | 120990 | .unused, |
| | 120991 | .unused, |
| | 120992 | .unused, |
| | 120993 | .unused, |
| | 120994 | .unused, |
| | 120995 | .unused, |
| | 120996 | .unused, |
| | 120997 | }, |
| | 120998 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 120999 | .each = .{ .once = &.{ |
| | 121000 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 121001 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 121002 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 121003 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 121004 | } }, |
| | 121005 | }, .{ |
| | 121006 | .required_features = .{ .avx, null, null, null }, |
| | 121007 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121008 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 121009 | .patterns = &.{ |
| | 121010 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121011 | }, |
| | 121012 | .extra_temps = .{ |
| | 121013 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121014 | .unused, |
| | 121015 | .unused, |
| | 121016 | .unused, |
| | 121017 | .unused, |
| | 121018 | .unused, |
| | 121019 | .unused, |
| | 121020 | .unused, |
| | 121021 | .unused, |
| | 121022 | .unused, |
| | 121023 | .unused, |
| | 121024 | }, |
| | 121025 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121026 | .each = .{ .once = &.{ |
| | 121027 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 121028 | .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 121029 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 121030 | .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 121031 | } }, |
| | 121032 | }, .{ |
| | 121033 | .required_features = .{ .sse2, null, null, null }, |
| | 121034 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121035 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 121036 | .patterns = &.{ |
| | 121037 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121038 | }, |
| | 121039 | .extra_temps = .{ |
| | 121040 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121041 | .unused, |
| | 121042 | .unused, |
| | 121043 | .unused, |
| | 121044 | .unused, |
| | 121045 | .unused, |
| | 121046 | .unused, |
| | 121047 | .unused, |
| | 121048 | .unused, |
| | 121049 | .unused, |
| | 121050 | .unused, |
| | 121051 | }, |
| | 121052 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121053 | .each = .{ .once = &.{ |
| | 121054 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 121055 | .{ ._, .p_, mir_tag, .tmp0x, .src0x, ._, ._ }, |
| | 121056 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 121057 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 121058 | } }, |
| | 121059 | }, .{ |
| | 121060 | .required_features = .{ .avx2, null, null, null }, |
| | 121061 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121062 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 121063 | .patterns = &.{ |
| | 121064 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121065 | }, |
| | 121066 | .extra_temps = .{ |
| | 121067 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121068 | .unused, |
| | 121069 | .unused, |
| | 121070 | .unused, |
| | 121071 | .unused, |
| | 121072 | .unused, |
| | 121073 | .unused, |
| | 121074 | .unused, |
| | 121075 | .unused, |
| | 121076 | .unused, |
| | 121077 | .unused, |
| | 121078 | }, |
| | 121079 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121080 | .each = .{ .once = &.{ |
| | 121081 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 121082 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 121083 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 121084 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121085 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 121086 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121087 | } }, |
| | 121088 | }, .{ |
| | 121089 | .required_features = .{ .avx, null, null, null }, |
| | 121090 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121091 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 121092 | .patterns = &.{ |
| | 121093 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121094 | }, |
| | 121095 | .extra_temps = .{ |
| | 121096 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121097 | .unused, |
| | 121098 | .unused, |
| | 121099 | .unused, |
| | 121100 | .unused, |
| | 121101 | .unused, |
| | 121102 | .unused, |
| | 121103 | .unused, |
| | 121104 | .unused, |
| | 121105 | .unused, |
| | 121106 | .unused, |
| | 121107 | }, |
| | 121108 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121109 | .each = .{ .once = &.{ |
| | 121110 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 121111 | .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 121112 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 121113 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121114 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 121115 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121116 | } }, |
| | 121117 | }, .{ |
| | 121118 | .required_features = .{ .avx2, null, null, null }, |
| | 121119 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121120 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 121121 | .patterns = &.{ |
| | 121122 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121123 | }, |
| | 121124 | .extra_temps = .{ |
| | 121125 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 121126 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 121127 | .ref = .src0, |
| | 121128 | .invert = switch (mir_tag) { |
| | 121129 | else => unreachable, |
| | 121130 | .@"and" => true, |
| | 121131 | .@"or", .xor => false, |
| | 121132 | }, |
| | 121133 | } } }, |
| | 121134 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121135 | .unused, |
| | 121136 | .unused, |
| | 121137 | .unused, |
| | 121138 | .unused, |
| | 121139 | .unused, |
| | 121140 | .unused, |
| | 121141 | .unused, |
| | 121142 | .unused, |
| | 121143 | }, |
| | 121144 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121145 | .each = .{ .once = &.{ |
| | 121146 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 121147 | .{ ._, .vp_, switch (mir_tag) { |
| | 121148 | else => unreachable, |
| | 121149 | .@"and" => .@"or", |
| | 121150 | .@"or", .xor => .@"and", |
| | 121151 | }, .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 121152 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 121153 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121154 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121155 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121156 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121157 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121158 | } }, |
| | 121159 | }, .{ |
| | 121160 | .required_features = .{ .avx, null, null, null }, |
| | 121161 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121162 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 121163 | .patterns = &.{ |
| | 121164 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121165 | }, |
| | 121166 | .extra_temps = .{ |
| | 121167 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 121168 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 121169 | .ref = .src0, |
| | 121170 | .invert = switch (mir_tag) { |
| | 121171 | else => unreachable, |
| | 121172 | .@"and" => true, |
| | 121173 | .@"or", .xor => false, |
| | 121174 | }, |
| | 121175 | } } }, |
| | 121176 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121177 | .unused, |
| | 121178 | .unused, |
| | 121179 | .unused, |
| | 121180 | .unused, |
| | 121181 | .unused, |
| | 121182 | .unused, |
| | 121183 | .unused, |
| | 121184 | .unused, |
| | 121185 | }, |
| | 121186 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121187 | .each = .{ .once = &.{ |
| | 121188 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 121189 | .{ ._, .v_ps, switch (mir_tag) { |
| | 121190 | else => unreachable, |
| | 121191 | .@"and" => .@"or", |
| | 121192 | .@"or", .xor => .@"and", |
| | 121193 | }, .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 121194 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 121195 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121196 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 121197 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121198 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 121199 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121200 | } }, |
| | 121201 | }, .{ |
| | 121202 | .required_features = .{ .avx512f, null, null, null }, |
| | 121203 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121204 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 121205 | .patterns = &.{ |
| | 121206 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121207 | }, |
| | 121208 | .extra_temps = .{ |
| | 121209 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121210 | .unused, |
| | 121211 | .unused, |
| | 121212 | .unused, |
| | 121213 | .unused, |
| | 121214 | .unused, |
| | 121215 | .unused, |
| | 121216 | .unused, |
| | 121217 | .unused, |
| | 121218 | .unused, |
| | 121219 | .unused, |
| | 121220 | }, |
| | 121221 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121222 | .each = .{ .once = &.{ |
| | 121223 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 121224 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 121225 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 121226 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121227 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 121228 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121229 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 121230 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121231 | } }, |
| | 121232 | }, .{ |
| | 121233 | .required_features = .{ .avx512f, null, null, null }, |
| | 121234 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121235 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 121236 | .patterns = &.{ |
| | 121237 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121238 | }, |
| | 121239 | .extra_temps = .{ |
| | 121240 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 121241 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 121242 | .ref = .src0, |
| | 121243 | .invert = switch (mir_tag) { |
| | 121244 | else => unreachable, |
| | 121245 | .@"and" => true, |
| | 121246 | .@"or", .xor => false, |
| | 121247 | }, |
| | 121248 | } } }, |
| | 121249 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 121250 | .unused, |
| | 121251 | .unused, |
| | 121252 | .unused, |
| | 121253 | .unused, |
| | 121254 | .unused, |
| | 121255 | .unused, |
| | 121256 | .unused, |
| | 121257 | .unused, |
| | 121258 | }, |
| | 121259 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121260 | .each = .{ .once = &.{ |
| | 121261 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 121262 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 121263 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 121264 | .{ ._, .vp_, switch (mir_tag) { |
| | 121265 | else => unreachable, |
| | 121266 | .@"and" => .@"or", |
| | 121267 | .@"or", .xor => .@"and", |
| | 121268 | }, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 121269 | .{ ._, .vp_, switch (mir_tag) { |
| | 121270 | else => unreachable, |
| | 121271 | .@"and" => .@"or", |
| | 121272 | .@"or", .xor => .@"and", |
| | 121273 | }, .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 121274 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 121275 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 121276 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121277 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121278 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121279 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121280 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121281 | } }, |
| | 121282 | }, .{ |
| | 121283 | .required_features = .{ .avx2, null, null, null }, |
| | 121284 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121285 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 121286 | .patterns = &.{ |
| | 121287 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121288 | }, |
| | 121289 | .extra_temps = .{ |
| | 121290 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121291 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121292 | .unused, |
| | 121293 | .unused, |
| | 121294 | .unused, |
| | 121295 | .unused, |
| | 121296 | .unused, |
| | 121297 | .unused, |
| | 121298 | .unused, |
| | 121299 | .unused, |
| | 121300 | .unused, |
| | 121301 | }, |
| | 121302 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121303 | .clobbers = .{ .eflags = true }, |
| | 121304 | .each = .{ .once = &.{ |
| | 121305 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 121306 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 121307 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 121308 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 121309 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121310 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 121311 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121312 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 121313 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121314 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 121315 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121316 | } }, |
| | 121317 | }, .{ |
| | 121318 | .required_features = .{ .avx, null, null, null }, |
| | 121319 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121320 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 121321 | .patterns = &.{ |
| | 121322 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121323 | }, |
| | 121324 | .extra_temps = .{ |
| | 121325 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121326 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121327 | .unused, |
| | 121328 | .unused, |
| | 121329 | .unused, |
| | 121330 | .unused, |
| | 121331 | .unused, |
| | 121332 | .unused, |
| | 121333 | .unused, |
| | 121334 | .unused, |
| | 121335 | .unused, |
| | 121336 | }, |
| | 121337 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121338 | .clobbers = .{ .eflags = true }, |
| | 121339 | .each = .{ .once = &.{ |
| | 121340 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 121341 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 121342 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 121343 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 121344 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121345 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 121346 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121347 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 121348 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121349 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 121350 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121351 | } }, |
| | 121352 | }, .{ |
| | 121353 | .required_features = .{ .sse2, null, null, null }, |
| | 121354 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121355 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 121356 | .patterns = &.{ |
| | 121357 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121358 | }, |
| | 121359 | .extra_temps = .{ |
| | 121360 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121361 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121362 | .unused, |
| | 121363 | .unused, |
| | 121364 | .unused, |
| | 121365 | .unused, |
| | 121366 | .unused, |
| | 121367 | .unused, |
| | 121368 | .unused, |
| | 121369 | .unused, |
| | 121370 | .unused, |
| | 121371 | }, |
| | 121372 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121373 | .clobbers = .{ .eflags = true }, |
| | 121374 | .each = .{ .once = &.{ |
| | 121375 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 121376 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 121377 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 121378 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 121379 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121380 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 121381 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 121382 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 121383 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 121384 | } }, |
| | 121385 | }, .{ |
| | 121386 | .required_features = .{ .avx512f, null, null, null }, |
| | 121387 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121388 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 121389 | .patterns = &.{ |
| | 121390 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121391 | }, |
| | 121392 | .extra_temps = .{ |
| | 121393 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121394 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 121395 | .ref = .src0, |
| | 121396 | .invert = switch (mir_tag) { |
| | 121397 | else => unreachable, |
| | 121398 | .@"and" => true, |
| | 121399 | .@"or", .xor => false, |
| | 121400 | }, |
| | 121401 | } } }, |
| | 121402 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 121403 | .unused, |
| | 121404 | .unused, |
| | 121405 | .unused, |
| | 121406 | .unused, |
| | 121407 | .unused, |
| | 121408 | .unused, |
| | 121409 | .unused, |
| | 121410 | .unused, |
| | 121411 | }, |
| | 121412 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121413 | .clobbers = .{ .eflags = true }, |
| | 121414 | .each = .{ .once = &.{ |
| | 121415 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 121416 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 121417 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 121418 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 121419 | .{ ._, .vp_, switch (mir_tag) { |
| | 121420 | else => unreachable, |
| | 121421 | .@"and" => .@"or", |
| | 121422 | .@"or", .xor => .@"and", |
| | 121423 | }, .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 121424 | .{ ._, .vp_, switch (mir_tag) { |
| | 121425 | else => unreachable, |
| | 121426 | .@"and" => .@"or", |
| | 121427 | .@"or", .xor => .@"and", |
| | 121428 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 121429 | .{ .@"0:", .vp_, mir_tag, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 121430 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 121431 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 121432 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121433 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 121434 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 121435 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121436 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121437 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121438 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121439 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121440 | } }, |
| | 121441 | }, .{ |
| | 121442 | .required_features = .{ .avx2, null, null, null }, |
| | 121443 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121444 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 121445 | .patterns = &.{ |
| | 121446 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121447 | }, |
| | 121448 | .extra_temps = .{ |
| | 121449 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121450 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 121451 | .ref = .src0, |
| | 121452 | .invert = switch (mir_tag) { |
| | 121453 | else => unreachable, |
| | 121454 | .@"and" => true, |
| | 121455 | .@"or", .xor => false, |
| | 121456 | }, |
| | 121457 | } } }, |
| | 121458 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121459 | .unused, |
| | 121460 | .unused, |
| | 121461 | .unused, |
| | 121462 | .unused, |
| | 121463 | .unused, |
| | 121464 | .unused, |
| | 121465 | .unused, |
| | 121466 | .unused, |
| | 121467 | }, |
| | 121468 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121469 | .clobbers = .{ .eflags = true }, |
| | 121470 | .each = .{ .once = &.{ |
| | 121471 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 121472 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 121473 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 121474 | .{ ._, .vp_, switch (mir_tag) { |
| | 121475 | else => unreachable, |
| | 121476 | .@"and" => .@"or", |
| | 121477 | .@"or", .xor => .@"and", |
| | 121478 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 121479 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 121480 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 121481 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121482 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 121483 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121484 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121485 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121486 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121487 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121488 | } }, |
| | 121489 | }, .{ |
| | 121490 | .required_features = .{ .avx, null, null, null }, |
| | 121491 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121492 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 121493 | .patterns = &.{ |
| | 121494 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121495 | }, |
| | 121496 | .extra_temps = .{ |
| | 121497 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121498 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 121499 | .ref = .src0, |
| | 121500 | .invert = switch (mir_tag) { |
| | 121501 | else => unreachable, |
| | 121502 | .@"and" => true, |
| | 121503 | .@"or", .xor => false, |
| | 121504 | }, |
| | 121505 | } } }, |
| | 121506 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121507 | .unused, |
| | 121508 | .unused, |
| | 121509 | .unused, |
| | 121510 | .unused, |
| | 121511 | .unused, |
| | 121512 | .unused, |
| | 121513 | .unused, |
| | 121514 | .unused, |
| | 121515 | }, |
| | 121516 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121517 | .clobbers = .{ .eflags = true }, |
| | 121518 | .each = .{ .once = &.{ |
| | 121519 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 121520 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 121521 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 121522 | .{ ._, .v_ps, switch (mir_tag) { |
| | 121523 | else => unreachable, |
| | 121524 | .@"and" => .@"or", |
| | 121525 | .@"or", .xor => .@"and", |
| | 121526 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 121527 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 121528 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 121529 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121530 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 121531 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121532 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 121533 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121534 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 121535 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121536 | } }, |
| | 121537 | }, .{ |
| | 121538 | .required_features = .{ .sse2, null, null, null }, |
| | 121539 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121540 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 121541 | .patterns = &.{ |
| | 121542 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121543 | }, |
| | 121544 | .extra_temps = .{ |
| | 121545 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121546 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 121547 | .ref = .src0, |
| | 121548 | .invert = switch (mir_tag) { |
| | 121549 | else => unreachable, |
| | 121550 | .@"and" => true, |
| | 121551 | .@"or", .xor => false, |
| | 121552 | }, |
| | 121553 | } } }, |
| | 121554 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 121555 | .unused, |
| | 121556 | .unused, |
| | 121557 | .unused, |
| | 121558 | .unused, |
| | 121559 | .unused, |
| | 121560 | .unused, |
| | 121561 | .unused, |
| | 121562 | .unused, |
| | 121563 | }, |
| | 121564 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121565 | .clobbers = .{ .eflags = true }, |
| | 121566 | .each = .{ .once = &.{ |
| | 121567 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 121568 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 121569 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 121570 | .{ ._, .p_, switch (mir_tag) { |
| | 121571 | else => unreachable, |
| | 121572 | .@"and" => .@"or", |
| | 121573 | .@"or", .xor => .@"and", |
| | 121574 | }, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 121575 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 121576 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 121577 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121578 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121579 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 121580 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121581 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 121582 | } }, |
| | 121583 | }, .{ |
| | 121584 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 121585 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 121586 | .patterns = &.{ |
| | 121587 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121588 | }, |
| | 121589 | .extra_temps = .{ |
| | 121590 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121591 | .unused, |
| | 121592 | .unused, |
| | 121593 | .unused, |
| | 121594 | .unused, |
| | 121595 | .unused, |
| | 121596 | .unused, |
| | 121597 | .unused, |
| | 121598 | .unused, |
| | 121599 | .unused, |
| | 121600 | .unused, |
| | 121601 | }, |
| | 121602 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 121603 | .clobbers = .{ .eflags = true }, |
| | 121604 | .each = .{ .once = &.{ |
| | 121605 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 121606 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 121607 | .{ .@"0:", ._, mir_tag, .dst0d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 121608 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 121609 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121610 | } }, |
| | 121611 | }, .{ |
| | 121612 | .required_features = .{ .avx, null, null, null }, |
| | 121613 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121614 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 121615 | .patterns = &.{ |
| | 121616 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121617 | }, |
| | 121618 | .extra_temps = .{ |
| | 121619 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121620 | .unused, |
| | 121621 | .unused, |
| | 121622 | .unused, |
| | 121623 | .unused, |
| | 121624 | .unused, |
| | 121625 | .unused, |
| | 121626 | .unused, |
| | 121627 | .unused, |
| | 121628 | .unused, |
| | 121629 | .unused, |
| | 121630 | }, |
| | 121631 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121632 | .each = .{ .once = &.{ |
| | 121633 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 121634 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 121635 | } }, |
| | 121636 | }, .{ |
| | 121637 | .required_features = .{ .sse2, null, null, null }, |
| | 121638 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121639 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 121640 | .patterns = &.{ |
| | 121641 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 121642 | }, |
| | 121643 | .extra_temps = .{ |
| | 121644 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121645 | .unused, |
| | 121646 | .unused, |
| | 121647 | .unused, |
| | 121648 | .unused, |
| | 121649 | .unused, |
| | 121650 | .unused, |
| | 121651 | .unused, |
| | 121652 | .unused, |
| | 121653 | .unused, |
| | 121654 | .unused, |
| | 121655 | }, |
| | 121656 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 121657 | .each = .{ .once = &.{ |
| | 121658 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 121659 | .{ ._, .p_, mir_tag, .dst0x, .tmp0x, ._, ._ }, |
| | 121660 | } }, |
| | 121661 | }, .{ |
| | 121662 | .required_features = .{ .avx2, null, null, null }, |
| | 121663 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121664 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 121665 | .patterns = &.{ |
| | 121666 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121667 | }, |
| | 121668 | .extra_temps = .{ |
| | 121669 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121670 | .unused, |
| | 121671 | .unused, |
| | 121672 | .unused, |
| | 121673 | .unused, |
| | 121674 | .unused, |
| | 121675 | .unused, |
| | 121676 | .unused, |
| | 121677 | .unused, |
| | 121678 | .unused, |
| | 121679 | .unused, |
| | 121680 | }, |
| | 121681 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121682 | .each = .{ .once = &.{ |
| | 121683 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 121684 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 121685 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 121686 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121687 | } }, |
| | 121688 | }, .{ |
| | 121689 | .required_features = .{ .avx, null, null, null }, |
| | 121690 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121691 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 121692 | .patterns = &.{ |
| | 121693 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121694 | }, |
| | 121695 | .extra_temps = .{ |
| | 121696 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121697 | .unused, |
| | 121698 | .unused, |
| | 121699 | .unused, |
| | 121700 | .unused, |
| | 121701 | .unused, |
| | 121702 | .unused, |
| | 121703 | .unused, |
| | 121704 | .unused, |
| | 121705 | .unused, |
| | 121706 | .unused, |
| | 121707 | }, |
| | 121708 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121709 | .each = .{ .once = &.{ |
| | 121710 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 121711 | .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 121712 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 121713 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121714 | } }, |
| | 121715 | }, .{ |
| | 121716 | .required_features = .{ .avx2, null, null, null }, |
| | 121717 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121718 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 121719 | .patterns = &.{ |
| | 121720 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121721 | }, |
| | 121722 | .extra_temps = .{ |
| | 121723 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121724 | .unused, |
| | 121725 | .unused, |
| | 121726 | .unused, |
| | 121727 | .unused, |
| | 121728 | .unused, |
| | 121729 | .unused, |
| | 121730 | .unused, |
| | 121731 | .unused, |
| | 121732 | .unused, |
| | 121733 | .unused, |
| | 121734 | }, |
| | 121735 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121736 | .each = .{ .once = &.{ |
| | 121737 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 121738 | .{ ._, .vp_, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 121739 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 121740 | .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 121741 | } }, |
| | 121742 | }, .{ |
| | 121743 | .required_features = .{ .avx, null, null, null }, |
| | 121744 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121745 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 121746 | .patterns = &.{ |
| | 121747 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 121748 | }, |
| | 121749 | .extra_temps = .{ |
| | 121750 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121751 | .unused, |
| | 121752 | .unused, |
| | 121753 | .unused, |
| | 121754 | .unused, |
| | 121755 | .unused, |
| | 121756 | .unused, |
| | 121757 | .unused, |
| | 121758 | .unused, |
| | 121759 | .unused, |
| | 121760 | .unused, |
| | 121761 | }, |
| | 121762 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 121763 | .each = .{ .once = &.{ |
| | 121764 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 121765 | .{ ._, .v_ps, mir_tag, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 121766 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 121767 | .{ ._, .v_ps, mir_tag, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 121768 | } }, |
| | 121769 | }, .{ |
| | 121770 | .required_features = .{ .avx512f, null, null, null }, |
| | 121771 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121772 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 121773 | .patterns = &.{ |
| | 121774 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121775 | }, |
| | 121776 | .extra_temps = .{ |
| | 121777 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121778 | .unused, |
| | 121779 | .unused, |
| | 121780 | .unused, |
| | 121781 | .unused, |
| | 121782 | .unused, |
| | 121783 | .unused, |
| | 121784 | .unused, |
| | 121785 | .unused, |
| | 121786 | .unused, |
| | 121787 | .unused, |
| | 121788 | }, |
| | 121789 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121790 | .each = .{ .once = &.{ |
| | 121791 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 121792 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 121793 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 121794 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121795 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 121796 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 121797 | } }, |
| | 121798 | }, .{ |
| | 121799 | .required_features = .{ .avx512f, null, null, null }, |
| | 121800 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121801 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 121802 | .patterns = &.{ |
| | 121803 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121804 | }, |
| | 121805 | .extra_temps = .{ |
| | 121806 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 121807 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 121808 | .ref = .src0, |
| | 121809 | .invert = switch (mir_tag) { |
| | 121810 | else => unreachable, |
| | 121811 | .@"and" => true, |
| | 121812 | .@"or", .xor => false, |
| | 121813 | }, |
| | 121814 | } } }, |
| | 121815 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| | 121816 | .unused, |
| | 121817 | .unused, |
| | 121818 | .unused, |
| | 121819 | .unused, |
| | 121820 | .unused, |
| | 121821 | .unused, |
| | 121822 | .unused, |
| | 121823 | .unused, |
| | 121824 | }, |
| | 121825 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121826 | .each = .{ .once = &.{ |
| | 121827 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 121828 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 121829 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 121830 | .{ ._, .vp_, switch (mir_tag) { |
| | 121831 | else => unreachable, |
| | 121832 | .@"and" => .@"or", |
| | 121833 | .@"or", .xor => .@"and", |
| | 121834 | }, .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 121835 | .{ ._, .vp_, switch (mir_tag) { |
| | 121836 | else => unreachable, |
| | 121837 | .@"and" => .@"or", |
| | 121838 | .@"or", .xor => .@"and", |
| | 121839 | }, .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 121840 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 121841 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 121842 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121843 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121844 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121845 | } }, |
| | 121846 | }, .{ |
| | 121847 | .required_features = .{ .avx2, null, null, null }, |
| | 121848 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121849 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 121850 | .patterns = &.{ |
| | 121851 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121852 | }, |
| | 121853 | .extra_temps = .{ |
| | 121854 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121855 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121856 | .unused, |
| | 121857 | .unused, |
| | 121858 | .unused, |
| | 121859 | .unused, |
| | 121860 | .unused, |
| | 121861 | .unused, |
| | 121862 | .unused, |
| | 121863 | .unused, |
| | 121864 | .unused, |
| | 121865 | }, |
| | 121866 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121867 | .clobbers = .{ .eflags = true }, |
| | 121868 | .each = .{ .once = &.{ |
| | 121869 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 121870 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 121871 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 121872 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 121873 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121874 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 121875 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121876 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 121877 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121878 | } }, |
| | 121879 | }, .{ |
| | 121880 | .required_features = .{ .avx, null, null, null }, |
| | 121881 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121882 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 121883 | .patterns = &.{ |
| | 121884 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121885 | }, |
| | 121886 | .extra_temps = .{ |
| | 121887 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121888 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121889 | .unused, |
| | 121890 | .unused, |
| | 121891 | .unused, |
| | 121892 | .unused, |
| | 121893 | .unused, |
| | 121894 | .unused, |
| | 121895 | .unused, |
| | 121896 | .unused, |
| | 121897 | .unused, |
| | 121898 | }, |
| | 121899 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121900 | .clobbers = .{ .eflags = true }, |
| | 121901 | .each = .{ .once = &.{ |
| | 121902 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 121903 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 121904 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 121905 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 121906 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121907 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 121908 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121909 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 121910 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 121911 | } }, |
| | 121912 | }, .{ |
| | 121913 | .required_features = .{ .sse2, null, null, null }, |
| | 121914 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121915 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 121916 | .patterns = &.{ |
| | 121917 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121918 | }, |
| | 121919 | .extra_temps = .{ |
| | 121920 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121921 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 121922 | .unused, |
| | 121923 | .unused, |
| | 121924 | .unused, |
| | 121925 | .unused, |
| | 121926 | .unused, |
| | 121927 | .unused, |
| | 121928 | .unused, |
| | 121929 | .unused, |
| | 121930 | .unused, |
| | 121931 | }, |
| | 121932 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121933 | .clobbers = .{ .eflags = true }, |
| | 121934 | .each = .{ .once = &.{ |
| | 121935 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 121936 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 121937 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 121938 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 121939 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121940 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 121941 | .{ ._, .p_, mir_tag, .dst0x, .tmp1x, ._, ._ }, |
| | 121942 | } }, |
| | 121943 | }, .{ |
| | 121944 | .required_features = .{ .avx512f, null, null, null }, |
| | 121945 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 121946 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 121947 | .patterns = &.{ |
| | 121948 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 121949 | }, |
| | 121950 | .extra_temps = .{ |
| | 121951 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 121952 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 121953 | .ref = .src0, |
| | 121954 | .invert = switch (mir_tag) { |
| | 121955 | else => unreachable, |
| | 121956 | .@"and" => true, |
| | 121957 | .@"or", .xor => false, |
| | 121958 | }, |
| | 121959 | } } }, |
| | 121960 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| | 121961 | .unused, |
| | 121962 | .unused, |
| | 121963 | .unused, |
| | 121964 | .unused, |
| | 121965 | .unused, |
| | 121966 | .unused, |
| | 121967 | .unused, |
| | 121968 | .unused, |
| | 121969 | }, |
| | 121970 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 121971 | .clobbers = .{ .eflags = true }, |
| | 121972 | .each = .{ .once = &.{ |
| | 121973 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 121974 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 121975 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 121976 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 121977 | .{ ._, .vp_, switch (mir_tag) { |
| | 121978 | else => unreachable, |
| | 121979 | .@"and" => .@"or", |
| | 121980 | .@"or", .xor => .@"and", |
| | 121981 | }, .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 121982 | .{ ._, .vp_, switch (mir_tag) { |
| | 121983 | else => unreachable, |
| | 121984 | .@"and" => .@"or", |
| | 121985 | .@"or", .xor => .@"and", |
| | 121986 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 121987 | .{ .@"0:", .vp_, mir_tag, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 121988 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 121989 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 121990 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 121991 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 121992 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 121993 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121994 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 121995 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 121996 | } }, |
| | 121997 | }, .{ |
| | 121998 | .required_features = .{ .avx2, null, null, null }, |
| | 121999 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 122000 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 122001 | .patterns = &.{ |
| | 122002 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122003 | }, |
| | 122004 | .extra_temps = .{ |
| | 122005 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122006 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122007 | .ref = .src0, |
| | 122008 | .invert = switch (mir_tag) { |
| | 122009 | else => unreachable, |
| | 122010 | .@"and" => true, |
| | 122011 | .@"or", .xor => false, |
| | 122012 | }, |
| | 122013 | } } }, |
| | 122014 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 122015 | .unused, |
| | 122016 | .unused, |
| | 122017 | .unused, |
| | 122018 | .unused, |
| | 122019 | .unused, |
| | 122020 | .unused, |
| | 122021 | .unused, |
| | 122022 | .unused, |
| | 122023 | }, |
| | 122024 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122025 | .clobbers = .{ .eflags = true }, |
| | 122026 | .each = .{ .once = &.{ |
| | 122027 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122028 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 122029 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 122030 | .{ ._, .vp_, switch (mir_tag) { |
| | 122031 | else => unreachable, |
| | 122032 | .@"and" => .@"or", |
| | 122033 | .@"or", .xor => .@"and", |
| | 122034 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 122035 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122036 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122037 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122038 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 122039 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 122040 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 122041 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 122042 | } }, |
| | 122043 | }, .{ |
| | 122044 | .required_features = .{ .avx, null, null, null }, |
| | 122045 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 122046 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 122047 | .patterns = &.{ |
| | 122048 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122049 | }, |
| | 122050 | .extra_temps = .{ |
| | 122051 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122052 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122053 | .ref = .src0, |
| | 122054 | .invert = switch (mir_tag) { |
| | 122055 | else => unreachable, |
| | 122056 | .@"and" => true, |
| | 122057 | .@"or", .xor => false, |
| | 122058 | }, |
| | 122059 | } } }, |
| | 122060 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 122061 | .unused, |
| | 122062 | .unused, |
| | 122063 | .unused, |
| | 122064 | .unused, |
| | 122065 | .unused, |
| | 122066 | .unused, |
| | 122067 | .unused, |
| | 122068 | .unused, |
| | 122069 | }, |
| | 122070 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122071 | .clobbers = .{ .eflags = true }, |
| | 122072 | .each = .{ .once = &.{ |
| | 122073 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122074 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 122075 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 122076 | .{ ._, .v_ps, switch (mir_tag) { |
| | 122077 | else => unreachable, |
| | 122078 | .@"and" => .@"or", |
| | 122079 | .@"or", .xor => .@"and", |
| | 122080 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 122081 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122082 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122083 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122084 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 122085 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 122086 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 122087 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 122088 | } }, |
| | 122089 | }, .{ |
| | 122090 | .required_features = .{ .sse2, null, null, null }, |
| | 122091 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 122092 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 122093 | .patterns = &.{ |
| | 122094 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122095 | }, |
| | 122096 | .extra_temps = .{ |
| | 122097 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122098 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122099 | .ref = .src0, |
| | 122100 | .invert = switch (mir_tag) { |
| | 122101 | else => unreachable, |
| | 122102 | .@"and" => true, |
| | 122103 | .@"or", .xor => false, |
| | 122104 | }, |
| | 122105 | } } }, |
| | 122106 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 122107 | .unused, |
| | 122108 | .unused, |
| | 122109 | .unused, |
| | 122110 | .unused, |
| | 122111 | .unused, |
| | 122112 | .unused, |
| | 122113 | .unused, |
| | 122114 | .unused, |
| | 122115 | }, |
| | 122116 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122117 | .clobbers = .{ .eflags = true }, |
| | 122118 | .each = .{ .once = &.{ |
| | 122119 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122120 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 122121 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 122122 | .{ ._, .p_, switch (mir_tag) { |
| | 122123 | else => unreachable, |
| | 122124 | .@"and" => .@"or", |
| | 122125 | .@"or", .xor => .@"and", |
| | 122126 | }, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 122127 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 122128 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 122129 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122130 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 122131 | .{ ._, .p_, mir_tag, .dst0x, .tmp2x, ._, ._ }, |
| | 122132 | } }, |
| | 122133 | }, .{ |
| | 122134 | .required_features = .{ .@"64bit", null, null, null }, |
| | 122135 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 122136 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 122137 | .patterns = &.{ |
| | 122138 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122139 | }, |
| | 122140 | .extra_temps = .{ |
| | 122141 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122142 | .unused, |
| | 122143 | .unused, |
| | 122144 | .unused, |
| | 122145 | .unused, |
| | 122146 | .unused, |
| | 122147 | .unused, |
| | 122148 | .unused, |
| | 122149 | .unused, |
| | 122150 | .unused, |
| | 122151 | .unused, |
| | 122152 | }, |
| | 122153 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 122154 | .clobbers = .{ .eflags = true }, |
| | 122155 | .each = .{ .once = &.{ |
| | 122156 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 122157 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 122158 | .{ .@"0:", ._, mir_tag, .dst0q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 122159 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 122160 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122161 | } }, |
| | 122162 | }, .{ |
| | 122163 | .required_features = .{ .avx2, null, null, null }, |
| | 122164 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122165 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .xword } }, .any, .any }, |
| | 122166 | .patterns = &.{ |
| | 122167 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 122168 | }, |
| | 122169 | .extra_temps = .{ |
| | 122170 | .{ .type = .vector_1_u128, .kind = .{ .rc = .sse } }, |
| | 122171 | .unused, |
| | 122172 | .unused, |
| | 122173 | .unused, |
| | 122174 | .unused, |
| | 122175 | .unused, |
| | 122176 | .unused, |
| | 122177 | .unused, |
| | 122178 | .unused, |
| | 122179 | .unused, |
| | 122180 | .unused, |
| | 122181 | }, |
| | 122182 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 122183 | .each = .{ .once = &.{ |
| | 122184 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 122185 | .{ ._, .vp_, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 122186 | } }, |
| | 122187 | }, .{ |
| | 122188 | .required_features = .{ .avx, null, null, null }, |
| | 122189 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122190 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .xword } }, .any, .any }, |
| | 122191 | .patterns = &.{ |
| | 122192 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 122193 | }, |
| | 122194 | .extra_temps = .{ |
| | 122195 | .{ .type = .vector_1_u128, .kind = .{ .rc = .sse } }, |
| | 122196 | .unused, |
| | 122197 | .unused, |
| | 122198 | .unused, |
| | 122199 | .unused, |
| | 122200 | .unused, |
| | 122201 | .unused, |
| | 122202 | .unused, |
| | 122203 | .unused, |
| | 122204 | .unused, |
| | 122205 | .unused, |
| | 122206 | }, |
| | 122207 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 122208 | .each = .{ .once = &.{ |
| | 122209 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 122210 | .{ ._, .v_ps, mir_tag, .dst0x, .src0x, .tmp0x, ._ }, |
| | 122211 | } }, |
| | 122212 | }, .{ |
| | 122213 | .required_features = .{ .avx512f, null, null, null }, |
| | 122214 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122215 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .xword } }, .any, .any }, |
| | 122216 | .patterns = &.{ |
| | 122217 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122218 | }, |
| | 122219 | .extra_temps = .{ |
| | 122220 | .{ .type = .vector_1_u128, .kind = .{ .rc = .sse } }, |
| | 122221 | .unused, |
| | 122222 | .unused, |
| | 122223 | .unused, |
| | 122224 | .unused, |
| | 122225 | .unused, |
| | 122226 | .unused, |
| | 122227 | .unused, |
| | 122228 | .unused, |
| | 122229 | .unused, |
| | 122230 | .unused, |
| | 122231 | }, |
| | 122232 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122233 | .each = .{ .once = &.{ |
| | 122234 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 122235 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 122236 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 122237 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 122238 | } }, |
| | 122239 | }, .{ |
| | 122240 | .required_features = .{ .avx512f, null, null, null }, |
| | 122241 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122242 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .xword } }, .any, .any }, |
| | 122243 | .patterns = &.{ |
| | 122244 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122245 | }, |
| | 122246 | .extra_temps = .{ |
| | 122247 | .{ .type = .vector_2_u128, .kind = .{ .rc = .sse } }, |
| | 122248 | .unused, |
| | 122249 | .unused, |
| | 122250 | .unused, |
| | 122251 | .unused, |
| | 122252 | .unused, |
| | 122253 | .unused, |
| | 122254 | .unused, |
| | 122255 | .unused, |
| | 122256 | .unused, |
| | 122257 | .unused, |
| | 122258 | }, |
| | 122259 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122260 | .each = .{ .once = &.{ |
| | 122261 | .{ ._, .v_dqa, .mov, .tmp0y, .mem(.src0y), ._, ._ }, |
| | 122262 | .{ ._, .vp_, mir_tag, .dst0x, .tmp0x, .memd(.src0x, 32), ._ }, |
| | 122263 | .{ ._, .v_i128, .extract, .tmp0x, .tmp0y, .ui(1), ._ }, |
| | 122264 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 122265 | } }, |
| | 122266 | }, .{ |
| | 122267 | .required_features = .{ .avx2, null, null, null }, |
| | 122268 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122269 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .xword } }, .any, .any }, |
| | 122270 | .patterns = &.{ |
| | 122271 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122272 | }, |
| | 122273 | .extra_temps = .{ |
| | 122274 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122275 | .{ .type = .vector_1_u128, .kind = .{ .rc = .sse } }, |
| | 122276 | .unused, |
| | 122277 | .unused, |
| | 122278 | .unused, |
| | 122279 | .unused, |
| | 122280 | .unused, |
| | 122281 | .unused, |
| | 122282 | .unused, |
| | 122283 | .unused, |
| | 122284 | .unused, |
| | 122285 | }, |
| | 122286 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122287 | .clobbers = .{ .eflags = true }, |
| | 122288 | .each = .{ .once = &.{ |
| | 122289 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 122290 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 122291 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122292 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122293 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122294 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 122295 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 122296 | } }, |
| | 122297 | }, .{ |
| | 122298 | .required_features = .{ .avx, null, null, null }, |
| | 122299 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122300 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .xword } }, .any, .any }, |
| | 122301 | .patterns = &.{ |
| | 122302 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122303 | }, |
| | 122304 | .extra_temps = .{ |
| | 122305 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122306 | .{ .type = .vector_1_u128, .kind = .{ .rc = .sse } }, |
| | 122307 | .unused, |
| | 122308 | .unused, |
| | 122309 | .unused, |
| | 122310 | .unused, |
| | 122311 | .unused, |
| | 122312 | .unused, |
| | 122313 | .unused, |
| | 122314 | .unused, |
| | 122315 | .unused, |
| | 122316 | }, |
| | 122317 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122318 | .clobbers = .{ .eflags = true }, |
| | 122319 | .each = .{ .once = &.{ |
| | 122320 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 122321 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 122322 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122323 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122324 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122325 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 122326 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 122327 | } }, |
| | 122328 | }, .{ |
| | 122329 | .required_features = .{ .sse2, null, null, null }, |
| | 122330 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122331 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 122332 | .patterns = &.{ |
| | 122333 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122334 | }, |
| | 122335 | .extra_temps = .{ |
| | 122336 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122337 | .unused, |
| | 122338 | .unused, |
| | 122339 | .unused, |
| | 122340 | .unused, |
| | 122341 | .unused, |
| | 122342 | .unused, |
| | 122343 | .unused, |
| | 122344 | .unused, |
| | 122345 | .unused, |
| | 122346 | .unused, |
| | 122347 | }, |
| | 122348 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122349 | .clobbers = .{ .eflags = true }, |
| | 122350 | .each = .{ .once = &.{ |
| | 122351 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 122352 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 122353 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 122354 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 122355 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122356 | } }, |
| | 122357 | }, .{ |
| | 122358 | .required_features = .{ .avx512f, null, null, null }, |
| | 122359 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122360 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .xword } }, .any, .any }, |
| | 122361 | .patterns = &.{ |
| | 122362 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122363 | }, |
| | 122364 | .extra_temps = .{ |
| | 122365 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122366 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122367 | .ref = .src0, |
| | 122368 | .invert = switch (mir_tag) { |
| | 122369 | else => unreachable, |
| | 122370 | .@"and" => true, |
| | 122371 | .@"or", .xor => false, |
| | 122372 | }, |
| | 122373 | } } }, |
| | 122374 | .{ .type = .vector_2_u128, .kind = .{ .rc = .sse } }, |
| | 122375 | .unused, |
| | 122376 | .unused, |
| | 122377 | .unused, |
| | 122378 | .unused, |
| | 122379 | .unused, |
| | 122380 | .unused, |
| | 122381 | .unused, |
| | 122382 | .unused, |
| | 122383 | }, |
| | 122384 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122385 | .clobbers = .{ .eflags = true }, |
| | 122386 | .each = .{ .once = &.{ |
| | 122387 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122388 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 122389 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 122390 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 122391 | .{ ._, .vp_, switch (mir_tag) { |
| | 122392 | else => unreachable, |
| | 122393 | .@"and" => .@"or", |
| | 122394 | .@"or", .xor => .@"and", |
| | 122395 | }, .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 122396 | .{ ._, .vp_, switch (mir_tag) { |
| | 122397 | else => unreachable, |
| | 122398 | .@"and" => .@"or", |
| | 122399 | .@"or", .xor => .@"and", |
| | 122400 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 122401 | .{ .@"0:", .vp_, mir_tag, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 122402 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122403 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 122404 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122405 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 122406 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 122407 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 122408 | } }, |
| | 122409 | }, .{ |
| | 122410 | .required_features = .{ .avx2, null, null, null }, |
| | 122411 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122412 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .xword } }, .any, .any }, |
| | 122413 | .patterns = &.{ |
| | 122414 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122415 | }, |
| | 122416 | .extra_temps = .{ |
| | 122417 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122418 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122419 | .ref = .src0, |
| | 122420 | .invert = switch (mir_tag) { |
| | 122421 | else => unreachable, |
| | 122422 | .@"and" => true, |
| | 122423 | .@"or", .xor => false, |
| | 122424 | }, |
| | 122425 | } } }, |
| | 122426 | .{ .type = .vector_1_u128, .kind = .{ .rc = .sse } }, |
| | 122427 | .unused, |
| | 122428 | .unused, |
| | 122429 | .unused, |
| | 122430 | .unused, |
| | 122431 | .unused, |
| | 122432 | .unused, |
| | 122433 | .unused, |
| | 122434 | .unused, |
| | 122435 | }, |
| | 122436 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122437 | .clobbers = .{ .eflags = true }, |
| | 122438 | .each = .{ .once = &.{ |
| | 122439 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122440 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 122441 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 122442 | .{ ._, .vp_, switch (mir_tag) { |
| | 122443 | else => unreachable, |
| | 122444 | .@"and" => .@"or", |
| | 122445 | .@"or", .xor => .@"and", |
| | 122446 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 122447 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122448 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122449 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122450 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 122451 | .{ ._, .vp_, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 122452 | } }, |
| | 122453 | }, .{ |
| | 122454 | .required_features = .{ .avx, null, null, null }, |
| | 122455 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122456 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .xword } }, .any, .any }, |
| | 122457 | .patterns = &.{ |
| | 122458 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122459 | }, |
| | 122460 | .extra_temps = .{ |
| | 122461 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122462 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122463 | .ref = .src0, |
| | 122464 | .invert = switch (mir_tag) { |
| | 122465 | else => unreachable, |
| | 122466 | .@"and" => true, |
| | 122467 | .@"or", .xor => false, |
| | 122468 | }, |
| | 122469 | } } }, |
| | 122470 | .{ .type = .vector_1_u128, .kind = .{ .rc = .sse } }, |
| | 122471 | .unused, |
| | 122472 | .unused, |
| | 122473 | .unused, |
| | 122474 | .unused, |
| | 122475 | .unused, |
| | 122476 | .unused, |
| | 122477 | .unused, |
| | 122478 | .unused, |
| | 122479 | }, |
| | 122480 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122481 | .clobbers = .{ .eflags = true }, |
| | 122482 | .each = .{ .once = &.{ |
| | 122483 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122484 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 122485 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 122486 | .{ ._, .v_ps, switch (mir_tag) { |
| | 122487 | else => unreachable, |
| | 122488 | .@"and" => .@"or", |
| | 122489 | .@"or", .xor => .@"and", |
| | 122490 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 122491 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122492 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122493 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122494 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 122495 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 122496 | } }, |
| | 122497 | }, .{ |
| | 122498 | .required_features = .{ .sse2, null, null, null }, |
| | 122499 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| | 122500 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 122501 | .patterns = &.{ |
| | 122502 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122503 | }, |
| | 122504 | .extra_temps = .{ |
| | 122505 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122506 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122507 | .ref = .src0, |
| | 122508 | .invert = switch (mir_tag) { |
| | 122509 | else => unreachable, |
| | 122510 | .@"and" => true, |
| | 122511 | .@"or", .xor => false, |
| | 122512 | }, |
| | 122513 | } } }, |
| | 122514 | .unused, |
| | 122515 | .unused, |
| | 122516 | .unused, |
| | 122517 | .unused, |
| | 122518 | .unused, |
| | 122519 | .unused, |
| | 122520 | .unused, |
| | 122521 | .unused, |
| | 122522 | .unused, |
| | 122523 | }, |
| | 122524 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122525 | .clobbers = .{ .eflags = true }, |
| | 122526 | .each = .{ .once = &.{ |
| | 122527 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122528 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 122529 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 122530 | .{ ._, .p_, switch (mir_tag) { |
| | 122531 | else => unreachable, |
| | 122532 | .@"and" => .@"or", |
| | 122533 | .@"or", .xor => .@"and", |
| | 122534 | }, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 122535 | .{ .@"0:", .p_, mir_tag, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 122536 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 122537 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122538 | } }, |
| | 122539 | }, .{ |
| | 122540 | .required_features = .{ .avx512f, null, null, null }, |
| | 122541 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| | 122542 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .yword } }, .any, .any }, |
| | 122543 | .patterns = &.{ |
| | 122544 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122545 | }, |
| | 122546 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122547 | .each = .{ .once = &.{ |
| | 122548 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 122549 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 122550 | } }, |
| | 122551 | }, .{ |
| | 122552 | .required_features = .{ .avx2, null, null, null }, |
| | 122553 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| | 122554 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any }, |
| | 122555 | .patterns = &.{ |
| | 122556 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122557 | }, |
| | 122558 | .extra_temps = .{ |
| | 122559 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122560 | .unused, |
| | 122561 | .unused, |
| | 122562 | .unused, |
| | 122563 | .unused, |
| | 122564 | .unused, |
| | 122565 | .unused, |
| | 122566 | .unused, |
| | 122567 | .unused, |
| | 122568 | .unused, |
| | 122569 | .unused, |
| | 122570 | }, |
| | 122571 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122572 | .clobbers = .{ .eflags = true }, |
| | 122573 | .each = .{ .once = &.{ |
| | 122574 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 122575 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 122576 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122577 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122578 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122579 | } }, |
| | 122580 | }, .{ |
| | 122581 | .required_features = .{ .avx, null, null, null }, |
| | 122582 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| | 122583 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any }, |
| | 122584 | .patterns = &.{ |
| | 122585 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122586 | }, |
| | 122587 | .extra_temps = .{ |
| | 122588 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122589 | .unused, |
| | 122590 | .unused, |
| | 122591 | .unused, |
| | 122592 | .unused, |
| | 122593 | .unused, |
| | 122594 | .unused, |
| | 122595 | .unused, |
| | 122596 | .unused, |
| | 122597 | .unused, |
| | 122598 | .unused, |
| | 122599 | }, |
| | 122600 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122601 | .clobbers = .{ .eflags = true }, |
| | 122602 | .each = .{ .once = &.{ |
| | 122603 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 122604 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 122605 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122606 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122607 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122608 | } }, |
| | 122609 | }, .{ |
| | 122610 | .required_features = .{ .avx512f, null, null, null }, |
| | 122611 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| | 122612 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .yword } }, .any, .any }, |
| | 122613 | .patterns = &.{ |
| | 122614 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122615 | }, |
| | 122616 | .extra_temps = .{ |
| | 122617 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122618 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122619 | .ref = .src0, |
| | 122620 | .invert = switch (mir_tag) { |
| | 122621 | else => unreachable, |
| | 122622 | .@"and" => true, |
| | 122623 | .@"or", .xor => false, |
| | 122624 | }, |
| | 122625 | } } }, |
| | 122626 | .{ .type = .vector_1_u256, .kind = .{ .rc = .sse } }, |
| | 122627 | .unused, |
| | 122628 | .unused, |
| | 122629 | .unused, |
| | 122630 | .unused, |
| | 122631 | .unused, |
| | 122632 | .unused, |
| | 122633 | .unused, |
| | 122634 | .unused, |
| | 122635 | }, |
| | 122636 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122637 | .clobbers = .{ .eflags = true }, |
| | 122638 | .each = .{ .once = &.{ |
| | 122639 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122640 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 122641 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 122642 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 122643 | .{ ._, .vp_, switch (mir_tag) { |
| | 122644 | else => unreachable, |
| | 122645 | .@"and" => .@"or", |
| | 122646 | .@"or", .xor => .@"and", |
| | 122647 | }, .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 122648 | .{ ._, .vp_, switch (mir_tag) { |
| | 122649 | else => unreachable, |
| | 122650 | .@"and" => .@"or", |
| | 122651 | .@"or", .xor => .@"and", |
| | 122652 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 122653 | .{ .@"0:", .vp_, mir_tag, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 122654 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122655 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 122656 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122657 | .{ ._, .vp_, mir_tag, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 122658 | } }, |
| | 122659 | }, .{ |
| | 122660 | .required_features = .{ .avx2, null, null, null }, |
| | 122661 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| | 122662 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any }, |
| | 122663 | .patterns = &.{ |
| | 122664 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122665 | }, |
| | 122666 | .extra_temps = .{ |
| | 122667 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122668 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122669 | .ref = .src0, |
| | 122670 | .invert = switch (mir_tag) { |
| | 122671 | else => unreachable, |
| | 122672 | .@"and" => true, |
| | 122673 | .@"or", .xor => false, |
| | 122674 | }, |
| | 122675 | } } }, |
| | 122676 | .unused, |
| | 122677 | .unused, |
| | 122678 | .unused, |
| | 122679 | .unused, |
| | 122680 | .unused, |
| | 122681 | .unused, |
| | 122682 | .unused, |
| | 122683 | .unused, |
| | 122684 | .unused, |
| | 122685 | }, |
| | 122686 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122687 | .clobbers = .{ .eflags = true }, |
| | 122688 | .each = .{ .once = &.{ |
| | 122689 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122690 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 122691 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 122692 | .{ ._, .vp_, switch (mir_tag) { |
| | 122693 | else => unreachable, |
| | 122694 | .@"and" => .@"or", |
| | 122695 | .@"or", .xor => .@"and", |
| | 122696 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 122697 | .{ .@"0:", .vp_, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122698 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122699 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122700 | } }, |
| | 122701 | }, .{ |
| | 122702 | .required_features = .{ .avx, null, null, null }, |
| | 122703 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| | 122704 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .yword } }, .any, .any }, |
| | 122705 | .patterns = &.{ |
| | 122706 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122707 | }, |
| | 122708 | .extra_temps = .{ |
| | 122709 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122710 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ |
| | 122711 | .ref = .src0, |
| | 122712 | .invert = switch (mir_tag) { |
| | 122713 | else => unreachable, |
| | 122714 | .@"and" => true, |
| | 122715 | .@"or", .xor => false, |
| | 122716 | }, |
| | 122717 | } } }, |
| | 122718 | .unused, |
| | 122719 | .unused, |
| | 122720 | .unused, |
| | 122721 | .unused, |
| | 122722 | .unused, |
| | 122723 | .unused, |
| | 122724 | .unused, |
| | 122725 | .unused, |
| | 122726 | .unused, |
| | 122727 | }, |
| | 122728 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 122729 | .clobbers = .{ .eflags = true }, |
| | 122730 | .each = .{ .once = &.{ |
| | 122731 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 122732 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 122733 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 122734 | .{ ._, .v_ps, switch (mir_tag) { |
| | 122735 | else => unreachable, |
| | 122736 | .@"and" => .@"or", |
| | 122737 | .@"or", .xor => .@"and", |
| | 122738 | }, .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 122739 | .{ .@"0:", .v_ps, mir_tag, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 122740 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 122741 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122742 | } }, |
| | 122743 | }, .{ |
| | 122744 | .required_features = .{ .@"64bit", null, null, null }, |
| | 122745 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 122746 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 122747 | .patterns = &.{ |
| | 122748 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 122749 | }, |
| | 122750 | .extra_temps = .{ |
| | 122751 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 122752 | .{ .type = .u32, .kind = .{ .reg = .rsi } }, |
| | 122753 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| | 122754 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| | 122755 | .unused, |
| | 122756 | .unused, |
| | 122757 | .unused, |
| | 122758 | .unused, |
| | 122759 | .unused, |
| | 122760 | .unused, |
| | 122761 | .unused, |
| | 122762 | }, |
| | 122763 | .dst_temps = .{ .mem, .unused }, |
| | 122764 | .clobbers = .{ .eflags = true }, |
| | 122765 | .each = .{ .once = &.{ |
| | 122766 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 122767 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 122768 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| | 122769 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 122770 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 122771 | .{ .@"0:", ._, .mov, .tmp1d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| | 122772 | .{ ._, ._, .lea, .tmp2q, .memi(.src0, .tmp0), ._, ._ }, |
| | 122773 | .{ .@"1:", ._, .mov, .tmp3q, .leai(.tmp2q, .tmp1), ._, ._ }, |
| | 122774 | .{ ._, ._, mir_tag, .memi(.dst0q, .tmp1), .tmp3q, ._, ._ }, |
| | 122775 | .{ ._, ._, .sub, .tmp1d, .si(8), ._, ._ }, |
| | 122776 | .{ ._, ._nb, .j, .@"1b", ._, ._, ._ }, |
| | 122777 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 122778 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 122779 | } }, |
| | 122780 | } }, |
| | 122781 | }, |
| | 122782 | .Min => comptime &.{ .{ |
| | 122783 | .required_features = .{ .avx, null, null, null }, |
| | 122784 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 122785 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 122786 | .patterns = &.{ |
| | 122787 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 122788 | }, |
| | 122789 | .extra_temps = .{ |
| | 122790 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 122791 | .unused, |
| | 122792 | .unused, |
| | 122793 | .unused, |
| | 122794 | .unused, |
| | 122795 | .unused, |
| | 122796 | .unused, |
| | 122797 | .unused, |
| | 122798 | .unused, |
| | 122799 | .unused, |
| | 122800 | .unused, |
| | 122801 | }, |
| | 122802 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 122803 | .each = .{ .once = &.{ |
| | 122804 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 122805 | .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 122806 | } }, |
| | 122807 | }, .{ |
| | 122808 | .required_features = .{ .sse4_1, null, null, null }, |
| | 122809 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 122810 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 122811 | .patterns = &.{ |
| | 122812 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 122813 | }, |
| | 122814 | .extra_temps = .{ |
| | 122815 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 122816 | .unused, |
| | 122817 | .unused, |
| | 122818 | .unused, |
| | 122819 | .unused, |
| | 122820 | .unused, |
| | 122821 | .unused, |
| | 122822 | .unused, |
| | 122823 | .unused, |
| | 122824 | .unused, |
| | 122825 | .unused, |
| | 122826 | }, |
| | 122827 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 122828 | .each = .{ .once = &.{ |
| | 122829 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 122830 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 122831 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 122832 | } }, |
| | 122833 | }, .{ |
| | 122834 | .required_features = .{ .sse2, null, null, null }, |
| | 122835 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 122836 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 122837 | .patterns = &.{ |
| | 122838 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 122839 | }, |
| | 122840 | .extra_temps = .{ |
| | 122841 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 122842 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 122843 | .unused, |
| | 122844 | .unused, |
| | 122845 | .unused, |
| | 122846 | .unused, |
| | 122847 | .unused, |
| | 122848 | .unused, |
| | 122849 | .unused, |
| | 122850 | .unused, |
| | 122851 | .unused, |
| | 122852 | }, |
| | 122853 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 122854 | .each = .{ .once = &.{ |
| | 122855 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 122856 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 122857 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 122858 | .{ ._, .p_b, .cmpgt, .tmp1x, .src0x, ._, ._ }, |
| | 122859 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 122860 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 122861 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 122862 | } }, |
| | 122863 | }, .{ |
| | 122864 | .required_features = .{ .avx, null, null, null }, |
| | 122865 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 122866 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 122867 | .patterns = &.{ |
| | 122868 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 122869 | }, |
| | 122870 | .extra_temps = .{ |
| | 122871 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 122872 | .unused, |
| | 122873 | .unused, |
| | 122874 | .unused, |
| | 122875 | .unused, |
| | 122876 | .unused, |
| | 122877 | .unused, |
| | 122878 | .unused, |
| | 122879 | .unused, |
| | 122880 | .unused, |
| | 122881 | .unused, |
| | 122882 | }, |
| | 122883 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 122884 | .each = .{ .once = &.{ |
| | 122885 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 122886 | .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 122887 | } }, |
| | 122888 | }, .{ |
| | 122889 | .required_features = .{ .sse2, null, null, null }, |
| | 122890 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 122891 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 122892 | .patterns = &.{ |
| | 122893 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 122894 | }, |
| | 122895 | .extra_temps = .{ |
| | 122896 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 122897 | .unused, |
| | 122898 | .unused, |
| | 122899 | .unused, |
| | 122900 | .unused, |
| | 122901 | .unused, |
| | 122902 | .unused, |
| | 122903 | .unused, |
| | 122904 | .unused, |
| | 122905 | .unused, |
| | 122906 | .unused, |
| | 122907 | }, |
| | 122908 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 122909 | .each = .{ .once = &.{ |
| | 122910 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 122911 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 122912 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 122913 | } }, |
| | 122914 | }, .{ |
| | 122915 | .required_features = .{ .avx, null, null, null }, |
| | 122916 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 122917 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 122918 | .patterns = &.{ |
| | 122919 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 122920 | }, |
| | 122921 | .extra_temps = .{ |
| | 122922 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 122923 | .unused, |
| | 122924 | .unused, |
| | 122925 | .unused, |
| | 122926 | .unused, |
| | 122927 | .unused, |
| | 122928 | .unused, |
| | 122929 | .unused, |
| | 122930 | .unused, |
| | 122931 | .unused, |
| | 122932 | .unused, |
| | 122933 | }, |
| | 122934 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 122935 | .each = .{ .once = &.{ |
| | 122936 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 122937 | .{ ._, .vp_b, .mins, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 122938 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| | 122939 | .{ ._, .vp_b, .mins, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 122940 | } }, |
| | 122941 | }, .{ |
| | 122942 | .required_features = .{ .sse4_1, null, null, null }, |
| | 122943 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 122944 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 122945 | .patterns = &.{ |
| | 122946 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 122947 | }, |
| | 122948 | .extra_temps = .{ |
| | 122949 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 122950 | .unused, |
| | 122951 | .unused, |
| | 122952 | .unused, |
| | 122953 | .unused, |
| | 122954 | .unused, |
| | 122955 | .unused, |
| | 122956 | .unused, |
| | 122957 | .unused, |
| | 122958 | .unused, |
| | 122959 | .unused, |
| | 122960 | }, |
| | 122961 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 122962 | .each = .{ .once = &.{ |
| | 122963 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 122964 | .{ ._, .p_b, .mins, .tmp0x, .src0x, ._, ._ }, |
| | 122965 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| | 122966 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 122967 | } }, |
| | 122968 | }, .{ |
| | 122969 | .required_features = .{ .sse2, null, null, null }, |
| | 122970 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 122971 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 122972 | .patterns = &.{ |
| | 122973 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 122974 | }, |
| | 122975 | .extra_temps = .{ |
| | 122976 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 122977 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 122978 | .unused, |
| | 122979 | .unused, |
| | 122980 | .unused, |
| | 122981 | .unused, |
| | 122982 | .unused, |
| | 122983 | .unused, |
| | 122984 | .unused, |
| | 122985 | .unused, |
| | 122986 | .unused, |
| | 122987 | }, |
| | 122988 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 122989 | .each = .{ .once = &.{ |
| | 122990 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 122991 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 122992 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 122993 | .{ ._, .p_, .@"and", .tmp0x, .tmp1x, ._, ._ }, |
| | 122994 | .{ ._, .p_, .andn, .tmp1x, .src0x, ._, ._ }, |
| | 122995 | .{ ._, .p_, .@"or", .tmp0x, .tmp1x, ._, ._ }, |
| | 122996 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| | 122997 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 122998 | .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ }, |
| | 122999 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123000 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123001 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123002 | } }, |
| | 123003 | }, .{ |
| | 123004 | .required_features = .{ .avx, null, null, null }, |
| | 123005 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123006 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 123007 | .patterns = &.{ |
| | 123008 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123009 | }, |
| | 123010 | .extra_temps = .{ |
| | 123011 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123012 | .unused, |
| | 123013 | .unused, |
| | 123014 | .unused, |
| | 123015 | .unused, |
| | 123016 | .unused, |
| | 123017 | .unused, |
| | 123018 | .unused, |
| | 123019 | .unused, |
| | 123020 | .unused, |
| | 123021 | .unused, |
| | 123022 | }, |
| | 123023 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123024 | .each = .{ .once = &.{ |
| | 123025 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 123026 | .{ ._, .vp_b, .minu, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 123027 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| | 123028 | .{ ._, .vp_b, .minu, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 123029 | } }, |
| | 123030 | }, .{ |
| | 123031 | .required_features = .{ .sse2, null, null, null }, |
| | 123032 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123033 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 123034 | .patterns = &.{ |
| | 123035 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123036 | }, |
| | 123037 | .extra_temps = .{ |
| | 123038 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123039 | .unused, |
| | 123040 | .unused, |
| | 123041 | .unused, |
| | 123042 | .unused, |
| | 123043 | .unused, |
| | 123044 | .unused, |
| | 123045 | .unused, |
| | 123046 | .unused, |
| | 123047 | .unused, |
| | 123048 | .unused, |
| | 123049 | }, |
| | 123050 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123051 | .each = .{ .once = &.{ |
| | 123052 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 123053 | .{ ._, .p_b, .minu, .tmp0x, .src0x, ._, ._ }, |
| | 123054 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| | 123055 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123056 | } }, |
| | 123057 | }, .{ |
| | 123058 | .required_features = .{ .avx, null, null, null }, |
| | 123059 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123060 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 123061 | .patterns = &.{ |
| | 123062 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123063 | }, |
| | 123064 | .extra_temps = .{ |
| | 123065 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123066 | .unused, |
| | 123067 | .unused, |
| | 123068 | .unused, |
| | 123069 | .unused, |
| | 123070 | .unused, |
| | 123071 | .unused, |
| | 123072 | .unused, |
| | 123073 | .unused, |
| | 123074 | .unused, |
| | 123075 | .unused, |
| | 123076 | }, |
| | 123077 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123078 | .each = .{ .once = &.{ |
| | 123079 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 123080 | .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 123081 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 123082 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123083 | } }, |
| | 123084 | }, .{ |
| | 123085 | .required_features = .{ .sse4_1, null, null, null }, |
| | 123086 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123087 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 123088 | .patterns = &.{ |
| | 123089 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123090 | }, |
| | 123091 | .extra_temps = .{ |
| | 123092 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123093 | .unused, |
| | 123094 | .unused, |
| | 123095 | .unused, |
| | 123096 | .unused, |
| | 123097 | .unused, |
| | 123098 | .unused, |
| | 123099 | .unused, |
| | 123100 | .unused, |
| | 123101 | .unused, |
| | 123102 | .unused, |
| | 123103 | }, |
| | 123104 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123105 | .each = .{ .once = &.{ |
| | 123106 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 123107 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 123108 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 123109 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 123110 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 123111 | } }, |
| | 123112 | }, .{ |
| | 123113 | .required_features = .{ .sse2, null, null, null }, |
| | 123114 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123115 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 123116 | .patterns = &.{ |
| | 123117 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123118 | }, |
| | 123119 | .extra_temps = .{ |
| | 123120 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123121 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123122 | .unused, |
| | 123123 | .unused, |
| | 123124 | .unused, |
| | 123125 | .unused, |
| | 123126 | .unused, |
| | 123127 | .unused, |
| | 123128 | .unused, |
| | 123129 | .unused, |
| | 123130 | .unused, |
| | 123131 | }, |
| | 123132 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123133 | .each = .{ .once = &.{ |
| | 123134 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 123135 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 123136 | .{ ._, .p_b, .cmpgt, .tmp1x, .src0x, ._, ._ }, |
| | 123137 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123138 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123139 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123140 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 123141 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 123142 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 123143 | .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ }, |
| | 123144 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123145 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123146 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123147 | } }, |
| | 123148 | }, .{ |
| | 123149 | .required_features = .{ .avx, null, null, null }, |
| | 123150 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123151 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 123152 | .patterns = &.{ |
| | 123153 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123154 | }, |
| | 123155 | .extra_temps = .{ |
| | 123156 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123157 | .unused, |
| | 123158 | .unused, |
| | 123159 | .unused, |
| | 123160 | .unused, |
| | 123161 | .unused, |
| | 123162 | .unused, |
| | 123163 | .unused, |
| | 123164 | .unused, |
| | 123165 | .unused, |
| | 123166 | .unused, |
| | 123167 | }, |
| | 123168 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123169 | .each = .{ .once = &.{ |
| | 123170 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 123171 | .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 123172 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 123173 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123174 | } }, |
| | 123175 | }, .{ |
| | 123176 | .required_features = .{ .sse2, null, null, null }, |
| | 123177 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123178 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 123179 | .patterns = &.{ |
| | 123180 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123181 | }, |
| | 123182 | .extra_temps = .{ |
| | 123183 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123184 | .unused, |
| | 123185 | .unused, |
| | 123186 | .unused, |
| | 123187 | .unused, |
| | 123188 | .unused, |
| | 123189 | .unused, |
| | 123190 | .unused, |
| | 123191 | .unused, |
| | 123192 | .unused, |
| | 123193 | .unused, |
| | 123194 | }, |
| | 123195 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123196 | .each = .{ .once = &.{ |
| | 123197 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 123198 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123199 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 123200 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 123201 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123202 | } }, |
| | 123203 | }, .{ |
| | 123204 | .required_features = .{ .avx, null, null, null }, |
| | 123205 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123206 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123207 | .patterns = &.{ |
| | 123208 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123209 | }, |
| | 123210 | .extra_temps = .{ |
| | 123211 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123212 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 123213 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 123214 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123215 | .unused, |
| | 123216 | .unused, |
| | 123217 | .unused, |
| | 123218 | .unused, |
| | 123219 | .unused, |
| | 123220 | .unused, |
| | 123221 | .unused, |
| | 123222 | }, |
| | 123223 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123224 | .each = .{ .once = &.{ |
| | 123225 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123226 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 123227 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 123228 | .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| | 123229 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123230 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123231 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 123232 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123233 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 123234 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123235 | } }, |
| | 123236 | }, .{ |
| | 123237 | .required_features = .{ .sse4_1, null, null, null }, |
| | 123238 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123239 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123240 | .patterns = &.{ |
| | 123241 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123242 | }, |
| | 123243 | .extra_temps = .{ |
| | 123244 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123245 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 123246 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 123247 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123248 | .unused, |
| | 123249 | .unused, |
| | 123250 | .unused, |
| | 123251 | .unused, |
| | 123252 | .unused, |
| | 123253 | .unused, |
| | 123254 | .unused, |
| | 123255 | }, |
| | 123256 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123257 | .each = .{ .once = &.{ |
| | 123258 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123259 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123260 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 123261 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123262 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123263 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 123264 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 123265 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 123266 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 123267 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 123268 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 123269 | } }, |
| | 123270 | }, .{ |
| | 123271 | .required_features = .{ .sse2, null, null, null }, |
| | 123272 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123273 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123274 | .patterns = &.{ |
| | 123275 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123276 | }, |
| | 123277 | .extra_temps = .{ |
| | 123278 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123279 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 123280 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 123281 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123282 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123283 | .unused, |
| | 123284 | .unused, |
| | 123285 | .unused, |
| | 123286 | .unused, |
| | 123287 | .unused, |
| | 123288 | .unused, |
| | 123289 | }, |
| | 123290 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123291 | .each = .{ .once = &.{ |
| | 123292 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123293 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123294 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 123295 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123296 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123297 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 123298 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 123299 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 123300 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 123301 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 123302 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 123303 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 123304 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 123305 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 123306 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 123307 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 123308 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 123309 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 123310 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 123311 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 123312 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 123313 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 123314 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 123315 | } }, |
| | 123316 | }, .{ |
| | 123317 | .required_features = .{ .avx, null, null, null }, |
| | 123318 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123319 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123320 | .patterns = &.{ |
| | 123321 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123322 | }, |
| | 123323 | .extra_temps = .{ |
| | 123324 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123325 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 123326 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123327 | .unused, |
| | 123328 | .unused, |
| | 123329 | .unused, |
| | 123330 | .unused, |
| | 123331 | .unused, |
| | 123332 | .unused, |
| | 123333 | .unused, |
| | 123334 | .unused, |
| | 123335 | }, |
| | 123336 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123337 | .each = .{ .once = &.{ |
| | 123338 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123339 | .{ ._, .vp_, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 123340 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 123341 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 123342 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 123343 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 123344 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 123345 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 123346 | } }, |
| | 123347 | }, .{ |
| | 123348 | .required_features = .{ .sse2, null, null, null }, |
| | 123349 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123350 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123351 | .patterns = &.{ |
| | 123352 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123353 | }, |
| | 123354 | .extra_temps = .{ |
| | 123355 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123356 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 123357 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123358 | .unused, |
| | 123359 | .unused, |
| | 123360 | .unused, |
| | 123361 | .unused, |
| | 123362 | .unused, |
| | 123363 | .unused, |
| | 123364 | .unused, |
| | 123365 | .unused, |
| | 123366 | }, |
| | 123367 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123368 | .each = .{ .once = &.{ |
| | 123369 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123370 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123371 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 123372 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 123373 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 123374 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 123375 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 123376 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 123377 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 123378 | } }, |
| | 123379 | }, .{ |
| | 123380 | .required_features = .{ .avx, null, null, null }, |
| | 123381 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123382 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123383 | .patterns = &.{ |
| | 123384 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123385 | }, |
| | 123386 | .extra_temps = .{ |
| | 123387 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123388 | .unused, |
| | 123389 | .unused, |
| | 123390 | .unused, |
| | 123391 | .unused, |
| | 123392 | .unused, |
| | 123393 | .unused, |
| | 123394 | .unused, |
| | 123395 | .unused, |
| | 123396 | .unused, |
| | 123397 | .unused, |
| | 123398 | }, |
| | 123399 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123400 | .each = .{ .once = &.{ |
| | 123401 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123402 | .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 123403 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123404 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123405 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 123406 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123407 | } }, |
| | 123408 | }, .{ |
| | 123409 | .required_features = .{ .sse4_1, null, null, null }, |
| | 123410 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123411 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123412 | .patterns = &.{ |
| | 123413 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123414 | }, |
| | 123415 | .extra_temps = .{ |
| | 123416 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123417 | .unused, |
| | 123418 | .unused, |
| | 123419 | .unused, |
| | 123420 | .unused, |
| | 123421 | .unused, |
| | 123422 | .unused, |
| | 123423 | .unused, |
| | 123424 | .unused, |
| | 123425 | .unused, |
| | 123426 | .unused, |
| | 123427 | }, |
| | 123428 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123429 | .each = .{ .once = &.{ |
| | 123430 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123431 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 123432 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123433 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 123434 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 123435 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 123436 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 123437 | } }, |
| | 123438 | }, .{ |
| | 123439 | .required_features = .{ .sse2, null, null, null }, |
| | 123440 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123441 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123442 | .patterns = &.{ |
| | 123443 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123444 | }, |
| | 123445 | .extra_temps = .{ |
| | 123446 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123447 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123448 | .unused, |
| | 123449 | .unused, |
| | 123450 | .unused, |
| | 123451 | .unused, |
| | 123452 | .unused, |
| | 123453 | .unused, |
| | 123454 | .unused, |
| | 123455 | .unused, |
| | 123456 | .unused, |
| | 123457 | }, |
| | 123458 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123459 | .each = .{ .once = &.{ |
| | 123460 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123461 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 123462 | .{ ._, .p_b, .cmpgt, .tmp1x, .src0x, ._, ._ }, |
| | 123463 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123464 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123465 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123466 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123467 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 123468 | .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ }, |
| | 123469 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123470 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123471 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123472 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 123473 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 123474 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 123475 | .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ }, |
| | 123476 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123477 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123478 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123479 | } }, |
| | 123480 | }, .{ |
| | 123481 | .required_features = .{ .avx, null, null, null }, |
| | 123482 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123483 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123484 | .patterns = &.{ |
| | 123485 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123486 | }, |
| | 123487 | .extra_temps = .{ |
| | 123488 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123489 | .unused, |
| | 123490 | .unused, |
| | 123491 | .unused, |
| | 123492 | .unused, |
| | 123493 | .unused, |
| | 123494 | .unused, |
| | 123495 | .unused, |
| | 123496 | .unused, |
| | 123497 | .unused, |
| | 123498 | .unused, |
| | 123499 | }, |
| | 123500 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123501 | .each = .{ .once = &.{ |
| | 123502 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123503 | .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 123504 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123505 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123506 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 123507 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123508 | } }, |
| | 123509 | }, .{ |
| | 123510 | .required_features = .{ .sse2, null, null, null }, |
| | 123511 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123512 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 123513 | .patterns = &.{ |
| | 123514 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123515 | }, |
| | 123516 | .extra_temps = .{ |
| | 123517 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123518 | .unused, |
| | 123519 | .unused, |
| | 123520 | .unused, |
| | 123521 | .unused, |
| | 123522 | .unused, |
| | 123523 | .unused, |
| | 123524 | .unused, |
| | 123525 | .unused, |
| | 123526 | .unused, |
| | 123527 | .unused, |
| | 123528 | }, |
| | 123529 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123530 | .each = .{ .once = &.{ |
| | 123531 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123532 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123533 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123534 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123535 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 123536 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 123537 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123538 | } }, |
| | 123539 | }, .{ |
| | 123540 | .required_features = .{ .avx, null, null, null }, |
| | 123541 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123542 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123543 | .patterns = &.{ |
| | 123544 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123545 | }, |
| | 123546 | .extra_temps = .{ |
| | 123547 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123548 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 123549 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 123550 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123551 | .unused, |
| | 123552 | .unused, |
| | 123553 | .unused, |
| | 123554 | .unused, |
| | 123555 | .unused, |
| | 123556 | .unused, |
| | 123557 | .unused, |
| | 123558 | }, |
| | 123559 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123560 | .each = .{ .once = &.{ |
| | 123561 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123562 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 123563 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 123564 | .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| | 123565 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123566 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123567 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123568 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123569 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 123570 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123571 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 123572 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123573 | } }, |
| | 123574 | }, .{ |
| | 123575 | .required_features = .{ .sse4_1, null, null, null }, |
| | 123576 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123577 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123578 | .patterns = &.{ |
| | 123579 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123580 | }, |
| | 123581 | .extra_temps = .{ |
| | 123582 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123583 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 123584 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 123585 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123586 | .unused, |
| | 123587 | .unused, |
| | 123588 | .unused, |
| | 123589 | .unused, |
| | 123590 | .unused, |
| | 123591 | .unused, |
| | 123592 | .unused, |
| | 123593 | }, |
| | 123594 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123595 | .each = .{ .once = &.{ |
| | 123596 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123597 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123598 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 123599 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123600 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123601 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 123602 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123603 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 123604 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 123605 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 123606 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 123607 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 123608 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 123609 | } }, |
| | 123610 | }, .{ |
| | 123611 | .required_features = .{ .sse2, null, null, null }, |
| | 123612 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123613 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123614 | .patterns = &.{ |
| | 123615 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123616 | }, |
| | 123617 | .extra_temps = .{ |
| | 123618 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123619 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 123620 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 123621 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123622 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123623 | .unused, |
| | 123624 | .unused, |
| | 123625 | .unused, |
| | 123626 | .unused, |
| | 123627 | .unused, |
| | 123628 | .unused, |
| | 123629 | }, |
| | 123630 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123631 | .each = .{ .once = &.{ |
| | 123632 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123633 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123634 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 123635 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123636 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123637 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 123638 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 123639 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 123640 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 123641 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 123642 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123643 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 123644 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 123645 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 123646 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 123647 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 123648 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 123649 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 123650 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 123651 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 123652 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 123653 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 123654 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 123655 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 123656 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 123657 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 123658 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 123659 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 123660 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 123661 | } }, |
| | 123662 | }, .{ |
| | 123663 | .required_features = .{ .avx, null, null, null }, |
| | 123664 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123665 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123666 | .patterns = &.{ |
| | 123667 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123668 | }, |
| | 123669 | .extra_temps = .{ |
| | 123670 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123671 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 123672 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123673 | .unused, |
| | 123674 | .unused, |
| | 123675 | .unused, |
| | 123676 | .unused, |
| | 123677 | .unused, |
| | 123678 | .unused, |
| | 123679 | .unused, |
| | 123680 | .unused, |
| | 123681 | }, |
| | 123682 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123683 | .each = .{ .once = &.{ |
| | 123684 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123685 | .{ ._, .vp_, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 123686 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 123687 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 123688 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 123689 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 123690 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 123691 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 123692 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 123693 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 123694 | } }, |
| | 123695 | }, .{ |
| | 123696 | .required_features = .{ .sse2, null, null, null }, |
| | 123697 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123698 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123699 | .patterns = &.{ |
| | 123700 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123701 | }, |
| | 123702 | .extra_temps = .{ |
| | 123703 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123704 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 123705 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123706 | .unused, |
| | 123707 | .unused, |
| | 123708 | .unused, |
| | 123709 | .unused, |
| | 123710 | .unused, |
| | 123711 | .unused, |
| | 123712 | .unused, |
| | 123713 | .unused, |
| | 123714 | }, |
| | 123715 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123716 | .each = .{ .once = &.{ |
| | 123717 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123718 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 123719 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 123720 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 123721 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 123722 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 123723 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 123724 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 123725 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 123726 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 123727 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 123728 | } }, |
| | 123729 | }, .{ |
| | 123730 | .required_features = .{ .avx, null, null, null }, |
| | 123731 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123732 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123733 | .patterns = &.{ |
| | 123734 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123735 | }, |
| | 123736 | .extra_temps = .{ |
| | 123737 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123738 | .unused, |
| | 123739 | .unused, |
| | 123740 | .unused, |
| | 123741 | .unused, |
| | 123742 | .unused, |
| | 123743 | .unused, |
| | 123744 | .unused, |
| | 123745 | .unused, |
| | 123746 | .unused, |
| | 123747 | .unused, |
| | 123748 | }, |
| | 123749 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123750 | .each = .{ .once = &.{ |
| | 123751 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123752 | .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 123753 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 123754 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123755 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123756 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123757 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 123758 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123759 | } }, |
| | 123760 | }, .{ |
| | 123761 | .required_features = .{ .sse4_1, null, null, null }, |
| | 123762 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123763 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123764 | .patterns = &.{ |
| | 123765 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123766 | }, |
| | 123767 | .extra_temps = .{ |
| | 123768 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123769 | .unused, |
| | 123770 | .unused, |
| | 123771 | .unused, |
| | 123772 | .unused, |
| | 123773 | .unused, |
| | 123774 | .unused, |
| | 123775 | .unused, |
| | 123776 | .unused, |
| | 123777 | .unused, |
| | 123778 | .unused, |
| | 123779 | }, |
| | 123780 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123781 | .each = .{ .once = &.{ |
| | 123782 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123783 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 123784 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 123785 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 123786 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123787 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 123788 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 123789 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 123790 | .{ ._, .p_b, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 123791 | } }, |
| | 123792 | }, .{ |
| | 123793 | .required_features = .{ .sse2, null, null, null }, |
| | 123794 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123795 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123796 | .patterns = &.{ |
| | 123797 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123798 | }, |
| | 123799 | .extra_temps = .{ |
| | 123800 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123801 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123802 | .unused, |
| | 123803 | .unused, |
| | 123804 | .unused, |
| | 123805 | .unused, |
| | 123806 | .unused, |
| | 123807 | .unused, |
| | 123808 | .unused, |
| | 123809 | .unused, |
| | 123810 | .unused, |
| | 123811 | }, |
| | 123812 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123813 | .each = .{ .once = &.{ |
| | 123814 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123815 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 123816 | .{ ._, .p_b, .cmpgt, .tmp1x, .src0x, ._, ._ }, |
| | 123817 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123818 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123819 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123820 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 123821 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 123822 | .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ }, |
| | 123823 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123824 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123825 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123826 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123827 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 123828 | .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ }, |
| | 123829 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123830 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123831 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123832 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 123833 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 123834 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 123835 | .{ ._, .p_b, .cmpgt, .tmp1x, .dst0x, ._, ._ }, |
| | 123836 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 123837 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 123838 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 123839 | } }, |
| | 123840 | }, .{ |
| | 123841 | .required_features = .{ .avx, null, null, null }, |
| | 123842 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123843 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123844 | .patterns = &.{ |
| | 123845 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123846 | }, |
| | 123847 | .extra_temps = .{ |
| | 123848 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123849 | .unused, |
| | 123850 | .unused, |
| | 123851 | .unused, |
| | 123852 | .unused, |
| | 123853 | .unused, |
| | 123854 | .unused, |
| | 123855 | .unused, |
| | 123856 | .unused, |
| | 123857 | .unused, |
| | 123858 | .unused, |
| | 123859 | }, |
| | 123860 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123861 | .each = .{ .once = &.{ |
| | 123862 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123863 | .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 123864 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 123865 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123866 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123867 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123868 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 123869 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 123870 | } }, |
| | 123871 | }, .{ |
| | 123872 | .required_features = .{ .sse2, null, null, null }, |
| | 123873 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123874 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 123875 | .patterns = &.{ |
| | 123876 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 123877 | }, |
| | 123878 | .extra_temps = .{ |
| | 123879 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123880 | .unused, |
| | 123881 | .unused, |
| | 123882 | .unused, |
| | 123883 | .unused, |
| | 123884 | .unused, |
| | 123885 | .unused, |
| | 123886 | .unused, |
| | 123887 | .unused, |
| | 123888 | .unused, |
| | 123889 | .unused, |
| | 123890 | }, |
| | 123891 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 123892 | .each = .{ .once = &.{ |
| | 123893 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 123894 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123895 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 123896 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123897 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 123898 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123899 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 123900 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 123901 | .{ ._, .p_b, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 123902 | } }, |
| | 123903 | }, .{ |
| | 123904 | .required_features = .{ .avx2, null, null, null }, |
| | 123905 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123906 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 123907 | .patterns = &.{ |
| | 123908 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123909 | }, |
| | 123910 | .extra_temps = .{ |
| | 123911 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123912 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 123913 | .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 123914 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123915 | .unused, |
| | 123916 | .unused, |
| | 123917 | .unused, |
| | 123918 | .unused, |
| | 123919 | .unused, |
| | 123920 | .unused, |
| | 123921 | .unused, |
| | 123922 | }, |
| | 123923 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123924 | .each = .{ .once = &.{ |
| | 123925 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123926 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 123927 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 123928 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 123929 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 123930 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123931 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123932 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123933 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123934 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123935 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 123936 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123937 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 123938 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123939 | } }, |
| | 123940 | }, .{ |
| | 123941 | .required_features = .{ .avx, null, null, null }, |
| | 123942 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 123943 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 123944 | .patterns = &.{ |
| | 123945 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123946 | }, |
| | 123947 | .extra_temps = .{ |
| | 123948 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123949 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 123950 | .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 123951 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 123952 | .unused, |
| | 123953 | .unused, |
| | 123954 | .unused, |
| | 123955 | .unused, |
| | 123956 | .unused, |
| | 123957 | .unused, |
| | 123958 | .unused, |
| | 123959 | }, |
| | 123960 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123961 | .each = .{ .once = &.{ |
| | 123962 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 123963 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 123964 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 123965 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 123966 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 123967 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123968 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123969 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123970 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 123971 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123972 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 123973 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123974 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 123975 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 123976 | } }, |
| | 123977 | }, .{ |
| | 123978 | .required_features = .{ .avx2, null, null, null }, |
| | 123979 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 123980 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 123981 | .patterns = &.{ |
| | 123982 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 123983 | }, |
| | 123984 | .extra_temps = .{ |
| | 123985 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 123986 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 123987 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 123988 | .unused, |
| | 123989 | .unused, |
| | 123990 | .unused, |
| | 123991 | .unused, |
| | 123992 | .unused, |
| | 123993 | .unused, |
| | 123994 | .unused, |
| | 123995 | .unused, |
| | 123996 | }, |
| | 123997 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 123998 | .each = .{ .once = &.{ |
| | 123999 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124000 | .{ ._, .vp_, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 124001 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124002 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124003 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124004 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124005 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124006 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124007 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 124008 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124009 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 124010 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124011 | } }, |
| | 124012 | }, .{ |
| | 124013 | .required_features = .{ .avx, null, null, null }, |
| | 124014 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124015 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124016 | .patterns = &.{ |
| | 124017 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124018 | }, |
| | 124019 | .extra_temps = .{ |
| | 124020 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 124021 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 124022 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124023 | .unused, |
| | 124024 | .unused, |
| | 124025 | .unused, |
| | 124026 | .unused, |
| | 124027 | .unused, |
| | 124028 | .unused, |
| | 124029 | .unused, |
| | 124030 | .unused, |
| | 124031 | }, |
| | 124032 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 124033 | .each = .{ .once = &.{ |
| | 124034 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124035 | .{ ._, .v_ps, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 124036 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124037 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124038 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124039 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124040 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124041 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124042 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 124043 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124044 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 124045 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124046 | } }, |
| | 124047 | }, .{ |
| | 124048 | .required_features = .{ .avx2, null, null, null }, |
| | 124049 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124050 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124051 | .patterns = &.{ |
| | 124052 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124053 | }, |
| | 124054 | .extra_temps = .{ |
| | 124055 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124056 | .unused, |
| | 124057 | .unused, |
| | 124058 | .unused, |
| | 124059 | .unused, |
| | 124060 | .unused, |
| | 124061 | .unused, |
| | 124062 | .unused, |
| | 124063 | .unused, |
| | 124064 | .unused, |
| | 124065 | .unused, |
| | 124066 | }, |
| | 124067 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 124068 | .each = .{ .once = &.{ |
| | 124069 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 124070 | .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 124071 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124072 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124073 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124074 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124075 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 124076 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124077 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 124078 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124079 | } }, |
| | 124080 | }, .{ |
| | 124081 | .required_features = .{ .avx, null, null, null }, |
| | 124082 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124083 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124084 | .patterns = &.{ |
| | 124085 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124086 | }, |
| | 124087 | .extra_temps = .{ |
| | 124088 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124089 | .unused, |
| | 124090 | .unused, |
| | 124091 | .unused, |
| | 124092 | .unused, |
| | 124093 | .unused, |
| | 124094 | .unused, |
| | 124095 | .unused, |
| | 124096 | .unused, |
| | 124097 | .unused, |
| | 124098 | .unused, |
| | 124099 | }, |
| | 124100 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 124101 | .each = .{ .once = &.{ |
| | 124102 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 124103 | .{ ._, .vp_b, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 124104 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124105 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124106 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124107 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124108 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 124109 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124110 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 124111 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124112 | } }, |
| | 124113 | }, .{ |
| | 124114 | .required_features = .{ .avx2, null, null, null }, |
| | 124115 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124116 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124117 | .patterns = &.{ |
| | 124118 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124119 | }, |
| | 124120 | .extra_temps = .{ |
| | 124121 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124122 | .unused, |
| | 124123 | .unused, |
| | 124124 | .unused, |
| | 124125 | .unused, |
| | 124126 | .unused, |
| | 124127 | .unused, |
| | 124128 | .unused, |
| | 124129 | .unused, |
| | 124130 | .unused, |
| | 124131 | .unused, |
| | 124132 | }, |
| | 124133 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 124134 | .each = .{ .once = &.{ |
| | 124135 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 124136 | .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 124137 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124138 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124139 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124140 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124141 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 124142 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124143 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 124144 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124145 | } }, |
| | 124146 | }, .{ |
| | 124147 | .required_features = .{ .avx, null, null, null }, |
| | 124148 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124149 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124150 | .patterns = &.{ |
| | 124151 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 124152 | }, |
| | 124153 | .extra_temps = .{ |
| | 124154 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124155 | .unused, |
| | 124156 | .unused, |
| | 124157 | .unused, |
| | 124158 | .unused, |
| | 124159 | .unused, |
| | 124160 | .unused, |
| | 124161 | .unused, |
| | 124162 | .unused, |
| | 124163 | .unused, |
| | 124164 | .unused, |
| | 124165 | }, |
| | 124166 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 124167 | .each = .{ .once = &.{ |
| | 124168 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 124169 | .{ ._, .vp_b, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 124170 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124171 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124172 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124173 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124174 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 124175 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124176 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 124177 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124178 | } }, |
| | 124179 | }, .{ |
| | 124180 | .required_features = .{ .avx512f, null, null, null }, |
| | 124181 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124182 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 124183 | .patterns = &.{ |
| | 124184 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124185 | }, |
| | 124186 | .extra_temps = .{ |
| | 124187 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 124188 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124189 | .{ .type = .vector_64_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 124190 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, |
| | 124191 | .unused, |
| | 124192 | .unused, |
| | 124193 | .unused, |
| | 124194 | .unused, |
| | 124195 | .unused, |
| | 124196 | .unused, |
| | 124197 | .unused, |
| | 124198 | }, |
| | 124199 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124200 | .each = .{ .once = &.{ |
| | 124201 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124202 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124203 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 124204 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 124205 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 124206 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 124207 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 124208 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 124209 | .{ ._, .vp_b, .mins, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 124210 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 124211 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124212 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124213 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124214 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124215 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124216 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 124217 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124218 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 124219 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124220 | } }, |
| | 124221 | }, .{ |
| | 124222 | .required_features = .{ .avx512f, null, null, null }, |
| | 124223 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124224 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 124225 | .patterns = &.{ |
| | 124226 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124227 | }, |
| | 124228 | .extra_temps = .{ |
| | 124229 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 124230 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 124231 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 124232 | .unused, |
| | 124233 | .unused, |
| | 124234 | .unused, |
| | 124235 | .unused, |
| | 124236 | .unused, |
| | 124237 | .unused, |
| | 124238 | .unused, |
| | 124239 | .unused, |
| | 124240 | }, |
| | 124241 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124242 | .each = .{ .once = &.{ |
| | 124243 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124244 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124245 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 124246 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 124247 | .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 124248 | .{ ._, .vp_b, .minu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 124249 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124250 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124251 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124252 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124253 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124254 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124255 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 124256 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124257 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 124258 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124259 | } }, |
| | 124260 | }, .{ |
| | 124261 | .required_features = .{ .avx512f, null, null, null }, |
| | 124262 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124263 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 124264 | .patterns = &.{ |
| | 124265 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124266 | }, |
| | 124267 | .extra_temps = .{ |
| | 124268 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124269 | .unused, |
| | 124270 | .unused, |
| | 124271 | .unused, |
| | 124272 | .unused, |
| | 124273 | .unused, |
| | 124274 | .unused, |
| | 124275 | .unused, |
| | 124276 | .unused, |
| | 124277 | .unused, |
| | 124278 | .unused, |
| | 124279 | }, |
| | 124280 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124281 | .each = .{ .once = &.{ |
| | 124282 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 124283 | .{ ._, .vp_b, .mins, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 124284 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 124285 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124286 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124287 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124288 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124289 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124290 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 124291 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124292 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 124293 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124294 | } }, |
| | 124295 | }, .{ |
| | 124296 | .required_features = .{ .avx512f, null, null, null }, |
| | 124297 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124298 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 124299 | .patterns = &.{ |
| | 124300 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124301 | }, |
| | 124302 | .extra_temps = .{ |
| | 124303 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124304 | .unused, |
| | 124305 | .unused, |
| | 124306 | .unused, |
| | 124307 | .unused, |
| | 124308 | .unused, |
| | 124309 | .unused, |
| | 124310 | .unused, |
| | 124311 | .unused, |
| | 124312 | .unused, |
| | 124313 | .unused, |
| | 124314 | }, |
| | 124315 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124316 | .each = .{ .once = &.{ |
| | 124317 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 124318 | .{ ._, .vp_b, .minu, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 124319 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 124320 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124321 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124322 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124323 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 124324 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124325 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 124326 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124327 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 124328 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 124329 | } }, |
| | 124330 | }, .{ |
| | 124331 | .required_features = .{ .avx2, null, null, null }, |
| | 124332 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124333 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124334 | .patterns = &.{ |
| | 124335 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124336 | }, |
| | 124337 | .extra_temps = .{ |
| | 124338 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124339 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124340 | .unused, |
| | 124341 | .unused, |
| | 124342 | .unused, |
| | 124343 | .unused, |
| | 124344 | .unused, |
| | 124345 | .unused, |
| | 124346 | .unused, |
| | 124347 | .unused, |
| | 124348 | .unused, |
| | 124349 | }, |
| | 124350 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124351 | .clobbers = .{ .eflags = true }, |
| | 124352 | .each = .{ .once = &.{ |
| | 124353 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 124354 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 124355 | .{ .@"0:", .vp_b, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 124356 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 124357 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124358 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 124359 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124360 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124361 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124362 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124363 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124364 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 124365 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124366 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 124367 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124368 | } }, |
| | 124369 | }, .{ |
| | 124370 | .required_features = .{ .avx, null, null, null }, |
| | 124371 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124372 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 124373 | .patterns = &.{ |
| | 124374 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124375 | }, |
| | 124376 | .extra_temps = .{ |
| | 124377 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124378 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124379 | .unused, |
| | 124380 | .unused, |
| | 124381 | .unused, |
| | 124382 | .unused, |
| | 124383 | .unused, |
| | 124384 | .unused, |
| | 124385 | .unused, |
| | 124386 | .unused, |
| | 124387 | .unused, |
| | 124388 | }, |
| | 124389 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124390 | .clobbers = .{ .eflags = true }, |
| | 124391 | .each = .{ .once = &.{ |
| | 124392 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 124393 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 124394 | .{ .@"0:", .vp_b, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 124395 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124396 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124397 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124398 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124399 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124400 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124401 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 124402 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124403 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 124404 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124405 | } }, |
| | 124406 | }, .{ |
| | 124407 | .required_features = .{ .sse4_1, null, null, null }, |
| | 124408 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124409 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 124410 | .patterns = &.{ |
| | 124411 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124412 | }, |
| | 124413 | .extra_temps = .{ |
| | 124414 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124415 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124416 | .unused, |
| | 124417 | .unused, |
| | 124418 | .unused, |
| | 124419 | .unused, |
| | 124420 | .unused, |
| | 124421 | .unused, |
| | 124422 | .unused, |
| | 124423 | .unused, |
| | 124424 | .unused, |
| | 124425 | }, |
| | 124426 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124427 | .clobbers = .{ .eflags = true }, |
| | 124428 | .each = .{ .once = &.{ |
| | 124429 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 124430 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 124431 | .{ .@"0:", .p_b, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 124432 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124433 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124434 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124435 | .{ ._, .p_b, .mins, .dst0x, .tmp1x, ._, ._ }, |
| | 124436 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124437 | .{ ._, .p_b, .mins, .dst0x, .tmp1x, ._, ._ }, |
| | 124438 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 124439 | .{ ._, .p_b, .mins, .dst0x, .tmp1x, ._, ._ }, |
| | 124440 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 124441 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 124442 | .{ ._, .p_b, .mins, .dst0x, .tmp1x, ._, ._ }, |
| | 124443 | } }, |
| | 124444 | }, .{ |
| | 124445 | .required_features = .{ .sse2, null, null, null }, |
| | 124446 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124447 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 124448 | .patterns = &.{ |
| | 124449 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124450 | }, |
| | 124451 | .extra_temps = .{ |
| | 124452 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124453 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124454 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124455 | .unused, |
| | 124456 | .unused, |
| | 124457 | .unused, |
| | 124458 | .unused, |
| | 124459 | .unused, |
| | 124460 | .unused, |
| | 124461 | .unused, |
| | 124462 | .unused, |
| | 124463 | }, |
| | 124464 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124465 | .clobbers = .{ .eflags = true }, |
| | 124466 | .each = .{ .once = &.{ |
| | 124467 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 124468 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 124469 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 124470 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 124471 | .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 124472 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 124473 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 124474 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 124475 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124476 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124477 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124478 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 124479 | .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 124480 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 124481 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 124482 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 124483 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124484 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 124485 | .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 124486 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 124487 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 124488 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 124489 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 124490 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 124491 | .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 124492 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 124493 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 124494 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 124495 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 124496 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 124497 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 124498 | .{ ._, .p_b, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 124499 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 124500 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 124501 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 124502 | } }, |
| | 124503 | }, .{ |
| | 124504 | .required_features = .{ .avx2, null, null, null }, |
| | 124505 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124506 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124507 | .patterns = &.{ |
| | 124508 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124509 | }, |
| | 124510 | .extra_temps = .{ |
| | 124511 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124512 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124513 | .unused, |
| | 124514 | .unused, |
| | 124515 | .unused, |
| | 124516 | .unused, |
| | 124517 | .unused, |
| | 124518 | .unused, |
| | 124519 | .unused, |
| | 124520 | .unused, |
| | 124521 | .unused, |
| | 124522 | }, |
| | 124523 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124524 | .clobbers = .{ .eflags = true }, |
| | 124525 | .each = .{ .once = &.{ |
| | 124526 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 124527 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 124528 | .{ .@"0:", .vp_b, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 124529 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 124530 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124531 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 124532 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124533 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124534 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124535 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124536 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124537 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 124538 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124539 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 124540 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124541 | } }, |
| | 124542 | }, .{ |
| | 124543 | .required_features = .{ .avx, null, null, null }, |
| | 124544 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124545 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 124546 | .patterns = &.{ |
| | 124547 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124548 | }, |
| | 124549 | .extra_temps = .{ |
| | 124550 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124551 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124552 | .unused, |
| | 124553 | .unused, |
| | 124554 | .unused, |
| | 124555 | .unused, |
| | 124556 | .unused, |
| | 124557 | .unused, |
| | 124558 | .unused, |
| | 124559 | .unused, |
| | 124560 | .unused, |
| | 124561 | }, |
| | 124562 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124563 | .clobbers = .{ .eflags = true }, |
| | 124564 | .each = .{ .once = &.{ |
| | 124565 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 124566 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 124567 | .{ .@"0:", .vp_b, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 124568 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124569 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124570 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124571 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124572 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124573 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124574 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 124575 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124576 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 124577 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 124578 | } }, |
| | 124579 | }, .{ |
| | 124580 | .required_features = .{ .sse2, null, null, null }, |
| | 124581 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124582 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 124583 | .patterns = &.{ |
| | 124584 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124585 | }, |
| | 124586 | .extra_temps = .{ |
| | 124587 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124588 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124589 | .unused, |
| | 124590 | .unused, |
| | 124591 | .unused, |
| | 124592 | .unused, |
| | 124593 | .unused, |
| | 124594 | .unused, |
| | 124595 | .unused, |
| | 124596 | .unused, |
| | 124597 | .unused, |
| | 124598 | }, |
| | 124599 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124600 | .clobbers = .{ .eflags = true }, |
| | 124601 | .each = .{ .once = &.{ |
| | 124602 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 124603 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 124604 | .{ .@"0:", .p_b, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 124605 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124606 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124607 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124608 | .{ ._, .p_b, .minu, .dst0x, .tmp1x, ._, ._ }, |
| | 124609 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 124610 | .{ ._, .p_b, .minu, .dst0x, .tmp1x, ._, ._ }, |
| | 124611 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 124612 | .{ ._, .p_b, .minu, .dst0x, .tmp1x, ._, ._ }, |
| | 124613 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 124614 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 124615 | .{ ._, .p_b, .minu, .dst0x, .tmp1x, ._, ._ }, |
| | 124616 | } }, |
| | 124617 | }, .{ |
| | 124618 | .required_features = .{ .avx512f, null, null, null }, |
| | 124619 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124620 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 124621 | .patterns = &.{ |
| | 124622 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124623 | }, |
| | 124624 | .extra_temps = .{ |
| | 124625 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124626 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124627 | .{ .type = .vector_64_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 124628 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, |
| | 124629 | .unused, |
| | 124630 | .unused, |
| | 124631 | .unused, |
| | 124632 | .unused, |
| | 124633 | .unused, |
| | 124634 | .unused, |
| | 124635 | .unused, |
| | 124636 | }, |
| | 124637 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124638 | .clobbers = .{ .eflags = true }, |
| | 124639 | .each = .{ .once = &.{ |
| | 124640 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124641 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124642 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 124643 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 124644 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 124645 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 124646 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 124647 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 124648 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 124649 | .{ .@"0:", .vp_b, .mins, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 124650 | .{ ._, .vp_b, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 124651 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 124652 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124653 | .{ ._, .vp_b, .mins, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 124654 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 124655 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124656 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124657 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124658 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124659 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124660 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 124661 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124662 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 124663 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124664 | } }, |
| | 124665 | }, .{ |
| | 124666 | .required_features = .{ .avx2, null, null, null }, |
| | 124667 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124668 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124669 | .patterns = &.{ |
| | 124670 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124671 | }, |
| | 124672 | .extra_temps = .{ |
| | 124673 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124674 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124675 | .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 124676 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124677 | .unused, |
| | 124678 | .unused, |
| | 124679 | .unused, |
| | 124680 | .unused, |
| | 124681 | .unused, |
| | 124682 | .unused, |
| | 124683 | .unused, |
| | 124684 | }, |
| | 124685 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124686 | .clobbers = .{ .eflags = true }, |
| | 124687 | .each = .{ .once = &.{ |
| | 124688 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124689 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124690 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 124691 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 124692 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 124693 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 124694 | .{ .@"0:", .vp_b, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 124695 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 124696 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124697 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 124698 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124699 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124700 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124701 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124702 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124703 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 124704 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124705 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 124706 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124707 | } }, |
| | 124708 | }, .{ |
| | 124709 | .required_features = .{ .avx, null, null, null }, |
| | 124710 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124711 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124712 | .patterns = &.{ |
| | 124713 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124714 | }, |
| | 124715 | .extra_temps = .{ |
| | 124716 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124717 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124718 | .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 124719 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124720 | .unused, |
| | 124721 | .unused, |
| | 124722 | .unused, |
| | 124723 | .unused, |
| | 124724 | .unused, |
| | 124725 | .unused, |
| | 124726 | .unused, |
| | 124727 | }, |
| | 124728 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124729 | .clobbers = .{ .eflags = true }, |
| | 124730 | .each = .{ .once = &.{ |
| | 124731 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124732 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124733 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 124734 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 124735 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 124736 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 124737 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 124738 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124739 | .{ .@"0:", .vp_b, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 124740 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124741 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124742 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124743 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124744 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124745 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124746 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 124747 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124748 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 124749 | .{ ._, .vp_b, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 124750 | } }, |
| | 124751 | }, .{ |
| | 124752 | .required_features = .{ .sse4_1, null, null, null }, |
| | 124753 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124754 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 124755 | .patterns = &.{ |
| | 124756 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124757 | }, |
| | 124758 | .extra_temps = .{ |
| | 124759 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124760 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124761 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 124762 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124763 | .unused, |
| | 124764 | .unused, |
| | 124765 | .unused, |
| | 124766 | .unused, |
| | 124767 | .unused, |
| | 124768 | .unused, |
| | 124769 | .unused, |
| | 124770 | }, |
| | 124771 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124772 | .clobbers = .{ .eflags = true }, |
| | 124773 | .each = .{ .once = &.{ |
| | 124774 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124775 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 124776 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 124777 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 124778 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 124779 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 124780 | .{ .@"0:", .p_b, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 124781 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124782 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124783 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124784 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 124785 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124786 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 124787 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 124788 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 124789 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 124790 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 124791 | .{ ._, .p_b, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 124792 | } }, |
| | 124793 | }, .{ |
| | 124794 | .required_features = .{ .sse2, null, null, null }, |
| | 124795 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 124796 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 124797 | .patterns = &.{ |
| | 124798 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124799 | }, |
| | 124800 | .extra_temps = .{ |
| | 124801 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124802 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 124803 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 124804 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124805 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 124806 | .unused, |
| | 124807 | .unused, |
| | 124808 | .unused, |
| | 124809 | .unused, |
| | 124810 | .unused, |
| | 124811 | .unused, |
| | 124812 | }, |
| | 124813 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124814 | .clobbers = .{ .eflags = true }, |
| | 124815 | .each = .{ .once = &.{ |
| | 124816 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124817 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 124818 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 124819 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 124820 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 124821 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 124822 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 124823 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 124824 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 124825 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 124826 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 124827 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 124828 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124829 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124830 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124831 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 124832 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 124833 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 124834 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 124835 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 124836 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 124837 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 124838 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 124839 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 124840 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 124841 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 124842 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 124843 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 124844 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 124845 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 124846 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 124847 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 124848 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 124849 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 124850 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 124851 | .{ ._, .p_b, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 124852 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 124853 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 124854 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 124855 | } }, |
| | 124856 | }, .{ |
| | 124857 | .required_features = .{ .avx512f, null, null, null }, |
| | 124858 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124859 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 124860 | .patterns = &.{ |
| | 124861 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124862 | }, |
| | 124863 | .extra_temps = .{ |
| | 124864 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124865 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 124866 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 124867 | .unused, |
| | 124868 | .unused, |
| | 124869 | .unused, |
| | 124870 | .unused, |
| | 124871 | .unused, |
| | 124872 | .unused, |
| | 124873 | .unused, |
| | 124874 | .unused, |
| | 124875 | }, |
| | 124876 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124877 | .clobbers = .{ .eflags = true }, |
| | 124878 | .each = .{ .once = &.{ |
| | 124879 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124880 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124881 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 124882 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 124883 | .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 124884 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 124885 | .{ .@"0:", .vp_b, .minu, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 124886 | .{ ._, .vp_b, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 124887 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 124888 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124889 | .{ ._, .vp_b, .minu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 124890 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124891 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124892 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124893 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124894 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124895 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124896 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 124897 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124898 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 124899 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124900 | } }, |
| | 124901 | }, .{ |
| | 124902 | .required_features = .{ .avx2, null, null, null }, |
| | 124903 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124904 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124905 | .patterns = &.{ |
| | 124906 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124907 | }, |
| | 124908 | .extra_temps = .{ |
| | 124909 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124910 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 124911 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124912 | .unused, |
| | 124913 | .unused, |
| | 124914 | .unused, |
| | 124915 | .unused, |
| | 124916 | .unused, |
| | 124917 | .unused, |
| | 124918 | .unused, |
| | 124919 | .unused, |
| | 124920 | }, |
| | 124921 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124922 | .clobbers = .{ .eflags = true }, |
| | 124923 | .each = .{ .once = &.{ |
| | 124924 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124925 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124926 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 124927 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 124928 | .{ .@"0:", .vp_b, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 124929 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 124930 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124931 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124932 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124933 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124934 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124935 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124936 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124937 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 124938 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124939 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 124940 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124941 | } }, |
| | 124942 | }, .{ |
| | 124943 | .required_features = .{ .avx, null, null, null }, |
| | 124944 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124945 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 124946 | .patterns = &.{ |
| | 124947 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124948 | }, |
| | 124949 | .extra_temps = .{ |
| | 124950 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124951 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 124952 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124953 | .unused, |
| | 124954 | .unused, |
| | 124955 | .unused, |
| | 124956 | .unused, |
| | 124957 | .unused, |
| | 124958 | .unused, |
| | 124959 | .unused, |
| | 124960 | .unused, |
| | 124961 | }, |
| | 124962 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 124963 | .clobbers = .{ .eflags = true }, |
| | 124964 | .each = .{ .once = &.{ |
| | 124965 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 124966 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 124967 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 124968 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 124969 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 124970 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124971 | .{ .@"0:", .vp_b, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 124972 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 124973 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 124974 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124975 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124976 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 124977 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124978 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 124979 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124980 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 124981 | .{ ._, .vp_b, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 124982 | } }, |
| | 124983 | }, .{ |
| | 124984 | .required_features = .{ .sse2, null, null, null }, |
| | 124985 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 124986 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 124987 | .patterns = &.{ |
| | 124988 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 124989 | }, |
| | 124990 | .extra_temps = .{ |
| | 124991 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 124992 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 124993 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 124994 | .unused, |
| | 124995 | .unused, |
| | 124996 | .unused, |
| | 124997 | .unused, |
| | 124998 | .unused, |
| | 124999 | .unused, |
| | 125000 | .unused, |
| | 125001 | .unused, |
| | 125002 | }, |
| | 125003 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 125004 | .clobbers = .{ .eflags = true }, |
| | 125005 | .each = .{ .once = &.{ |
| | 125006 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125007 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 125008 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 125009 | .{ ._, .p_, .@"or", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 125010 | .{ .@"0:", .p_b, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 125011 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 125012 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125013 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 125014 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 125015 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 125016 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 125017 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 125018 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 125019 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 125020 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 125021 | .{ ._, .p_b, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 125022 | } }, |
| | 125023 | }, .{ |
| | 125024 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| | 125025 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 125026 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 125027 | .patterns = &.{ |
| | 125028 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125029 | }, |
| | 125030 | .extra_temps = .{ |
| | 125031 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125032 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 125033 | .unused, |
| | 125034 | .unused, |
| | 125035 | .unused, |
| | 125036 | .unused, |
| | 125037 | .unused, |
| | 125038 | .unused, |
| | 125039 | .unused, |
| | 125040 | .unused, |
| | 125041 | .unused, |
| | 125042 | }, |
| | 125043 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 125044 | .clobbers = .{ .eflags = true }, |
| | 125045 | .each = .{ .once = &.{ |
| | 125046 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 125047 | .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 125048 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 125049 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 125050 | .{ ._, ._nl, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 125051 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 125052 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125053 | } }, |
| | 125054 | }, .{ |
| | 125055 | .required_features = .{ .cmov, null, null, null }, |
| | 125056 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 125057 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 125058 | .patterns = &.{ |
| | 125059 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125060 | }, |
| | 125061 | .extra_temps = .{ |
| | 125062 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125063 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 125064 | .unused, |
| | 125065 | .unused, |
| | 125066 | .unused, |
| | 125067 | .unused, |
| | 125068 | .unused, |
| | 125069 | .unused, |
| | 125070 | .unused, |
| | 125071 | .unused, |
| | 125072 | .unused, |
| | 125073 | }, |
| | 125074 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 125075 | .clobbers = .{ .eflags = true }, |
| | 125076 | .each = .{ .once = &.{ |
| | 125077 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 125078 | .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 125079 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 125080 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 125081 | .{ ._, ._nl, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 125082 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 125083 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 125084 | } }, |
| | 125085 | }, .{ |
| | 125086 | .required_features = .{ .slow_incdec, null, null, null }, |
| | 125087 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 125088 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 125089 | .patterns = &.{ |
| | 125090 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125091 | }, |
| | 125092 | .extra_temps = .{ |
| | 125093 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125094 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 125095 | .unused, |
| | 125096 | .unused, |
| | 125097 | .unused, |
| | 125098 | .unused, |
| | 125099 | .unused, |
| | 125100 | .unused, |
| | 125101 | .unused, |
| | 125102 | .unused, |
| | 125103 | .unused, |
| | 125104 | }, |
| | 125105 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 125106 | .clobbers = .{ .eflags = true }, |
| | 125107 | .each = .{ .once = &.{ |
| | 125108 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 125109 | .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 125110 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 125111 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 125112 | .{ ._, ._l, .j, .@"1f", ._, ._, ._ }, |
| | 125113 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 125114 | .{ .@"1:", ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 125115 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125116 | } }, |
| | 125117 | }, .{ |
| | 125118 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 125119 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 125120 | .patterns = &.{ |
| | 125121 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125122 | }, |
| | 125123 | .extra_temps = .{ |
| | 125124 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125125 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 125126 | .unused, |
| | 125127 | .unused, |
| | 125128 | .unused, |
| | 125129 | .unused, |
| | 125130 | .unused, |
| | 125131 | .unused, |
| | 125132 | .unused, |
| | 125133 | .unused, |
| | 125134 | .unused, |
| | 125135 | }, |
| | 125136 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 125137 | .clobbers = .{ .eflags = true }, |
| | 125138 | .each = .{ .once = &.{ |
| | 125139 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 125140 | .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 125141 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 125142 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 125143 | .{ ._, ._l, .j, .@"1f", ._, ._, ._ }, |
| | 125144 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 125145 | .{ .@"1:", ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 125146 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 125147 | } }, |
| | 125148 | }, .{ |
| | 125149 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| | 125150 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 125151 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 125152 | .patterns = &.{ |
| | 125153 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125154 | }, |
| | 125155 | .extra_temps = .{ |
| | 125156 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125157 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 125158 | .unused, |
| | 125159 | .unused, |
| | 125160 | .unused, |
| | 125161 | .unused, |
| | 125162 | .unused, |
| | 125163 | .unused, |
| | 125164 | .unused, |
| | 125165 | .unused, |
| | 125166 | .unused, |
| | 125167 | }, |
| | 125168 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 125169 | .clobbers = .{ .eflags = true }, |
| | 125170 | .each = .{ .once = &.{ |
| | 125171 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 125172 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 125173 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 125174 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 125175 | .{ ._, ._nb, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 125176 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 125177 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125178 | } }, |
| | 125179 | }, .{ |
| | 125180 | .required_features = .{ .cmov, null, null, null }, |
| | 125181 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 125182 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 125183 | .patterns = &.{ |
| | 125184 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125185 | }, |
| | 125186 | .extra_temps = .{ |
| | 125187 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125188 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 125189 | .unused, |
| | 125190 | .unused, |
| | 125191 | .unused, |
| | 125192 | .unused, |
| | 125193 | .unused, |
| | 125194 | .unused, |
| | 125195 | .unused, |
| | 125196 | .unused, |
| | 125197 | .unused, |
| | 125198 | }, |
| | 125199 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 125200 | .clobbers = .{ .eflags = true }, |
| | 125201 | .each = .{ .once = &.{ |
| | 125202 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 125203 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 125204 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 125205 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 125206 | .{ ._, ._nb, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 125207 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 125208 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 125209 | } }, |
| | 125210 | }, .{ |
| | 125211 | .required_features = .{ .slow_incdec, null, null, null }, |
| | 125212 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 125213 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 125214 | .patterns = &.{ |
| | 125215 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125216 | }, |
| | 125217 | .extra_temps = .{ |
| | 125218 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125219 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 125220 | .unused, |
| | 125221 | .unused, |
| | 125222 | .unused, |
| | 125223 | .unused, |
| | 125224 | .unused, |
| | 125225 | .unused, |
| | 125226 | .unused, |
| | 125227 | .unused, |
| | 125228 | .unused, |
| | 125229 | }, |
| | 125230 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 125231 | .clobbers = .{ .eflags = true }, |
| | 125232 | .each = .{ .once = &.{ |
| | 125233 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 125234 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 125235 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 125236 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 125237 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, |
| | 125238 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 125239 | .{ .@"1:", ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 125240 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 125241 | } }, |
| | 125242 | }, .{ |
| | 125243 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 125244 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 125245 | .patterns = &.{ |
| | 125246 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 125247 | }, |
| | 125248 | .extra_temps = .{ |
| | 125249 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 125250 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 125251 | .unused, |
| | 125252 | .unused, |
| | 125253 | .unused, |
| | 125254 | .unused, |
| | 125255 | .unused, |
| | 125256 | .unused, |
| | 125257 | .unused, |
| | 125258 | .unused, |
| | 125259 | .unused, |
| | 125260 | }, |
| | 125261 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 125262 | .clobbers = .{ .eflags = true }, |
| | 125263 | .each = .{ .once = &.{ |
| | 125264 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 125265 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 125266 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 125267 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 125268 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, |
| | 125269 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 125270 | .{ .@"1:", ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 125271 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 125272 | } }, |
| | 125273 | }, .{ |
| | 125274 | .required_features = .{ .avx, null, null, null }, |
| | 125275 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125276 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 125277 | .patterns = &.{ |
| | 125278 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125279 | }, |
| | 125280 | .extra_temps = .{ |
| | 125281 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125282 | .unused, |
| | 125283 | .unused, |
| | 125284 | .unused, |
| | 125285 | .unused, |
| | 125286 | .unused, |
| | 125287 | .unused, |
| | 125288 | .unused, |
| | 125289 | .unused, |
| | 125290 | .unused, |
| | 125291 | .unused, |
| | 125292 | }, |
| | 125293 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125294 | .each = .{ .once = &.{ |
| | 125295 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125296 | .{ ._, .vp_w, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 125297 | } }, |
| | 125298 | }, .{ |
| | 125299 | .required_features = .{ .sse2, null, null, null }, |
| | 125300 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125301 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 125302 | .patterns = &.{ |
| | 125303 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125304 | }, |
| | 125305 | .extra_temps = .{ |
| | 125306 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125307 | .unused, |
| | 125308 | .unused, |
| | 125309 | .unused, |
| | 125310 | .unused, |
| | 125311 | .unused, |
| | 125312 | .unused, |
| | 125313 | .unused, |
| | 125314 | .unused, |
| | 125315 | .unused, |
| | 125316 | .unused, |
| | 125317 | }, |
| | 125318 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125319 | .each = .{ .once = &.{ |
| | 125320 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125321 | .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 125322 | } }, |
| | 125323 | }, .{ |
| | 125324 | .required_features = .{ .avx, null, null, null }, |
| | 125325 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125326 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 125327 | .patterns = &.{ |
| | 125328 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125329 | }, |
| | 125330 | .extra_temps = .{ |
| | 125331 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125332 | .unused, |
| | 125333 | .unused, |
| | 125334 | .unused, |
| | 125335 | .unused, |
| | 125336 | .unused, |
| | 125337 | .unused, |
| | 125338 | .unused, |
| | 125339 | .unused, |
| | 125340 | .unused, |
| | 125341 | .unused, |
| | 125342 | }, |
| | 125343 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125344 | .each = .{ .once = &.{ |
| | 125345 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125346 | .{ ._, .vp_w, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 125347 | } }, |
| | 125348 | }, .{ |
| | 125349 | .required_features = .{ .sse4_1, null, null, null }, |
| | 125350 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125351 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 125352 | .patterns = &.{ |
| | 125353 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125354 | }, |
| | 125355 | .extra_temps = .{ |
| | 125356 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125357 | .unused, |
| | 125358 | .unused, |
| | 125359 | .unused, |
| | 125360 | .unused, |
| | 125361 | .unused, |
| | 125362 | .unused, |
| | 125363 | .unused, |
| | 125364 | .unused, |
| | 125365 | .unused, |
| | 125366 | .unused, |
| | 125367 | }, |
| | 125368 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125369 | .each = .{ .once = &.{ |
| | 125370 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125371 | .{ ._, .p_w, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 125372 | } }, |
| | 125373 | }, .{ |
| | 125374 | .required_features = .{ .sse2, null, null, null }, |
| | 125375 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125376 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 125377 | .patterns = &.{ |
| | 125378 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125379 | }, |
| | 125380 | .extra_temps = .{ |
| | 125381 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125382 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125383 | .unused, |
| | 125384 | .unused, |
| | 125385 | .unused, |
| | 125386 | .unused, |
| | 125387 | .unused, |
| | 125388 | .unused, |
| | 125389 | .unused, |
| | 125390 | .unused, |
| | 125391 | .unused, |
| | 125392 | }, |
| | 125393 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125394 | .each = .{ .once = &.{ |
| | 125395 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125396 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 125397 | .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ }, |
| | 125398 | .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ }, |
| | 125399 | } }, |
| | 125400 | }, .{ |
| | 125401 | .required_features = .{ .avx, null, null, null }, |
| | 125402 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125403 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125404 | .patterns = &.{ |
| | 125405 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125406 | }, |
| | 125407 | .extra_temps = .{ |
| | 125408 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125409 | .unused, |
| | 125410 | .unused, |
| | 125411 | .unused, |
| | 125412 | .unused, |
| | 125413 | .unused, |
| | 125414 | .unused, |
| | 125415 | .unused, |
| | 125416 | .unused, |
| | 125417 | .unused, |
| | 125418 | .unused, |
| | 125419 | }, |
| | 125420 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125421 | .each = .{ .once = &.{ |
| | 125422 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125423 | .{ ._, .vp_w, .mins, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 125424 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 125425 | .{ ._, .vp_w, .mins, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 125426 | } }, |
| | 125427 | }, .{ |
| | 125428 | .required_features = .{ .sse2, null, null, null }, |
| | 125429 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125430 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125431 | .patterns = &.{ |
| | 125432 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125433 | }, |
| | 125434 | .extra_temps = .{ |
| | 125435 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125436 | .unused, |
| | 125437 | .unused, |
| | 125438 | .unused, |
| | 125439 | .unused, |
| | 125440 | .unused, |
| | 125441 | .unused, |
| | 125442 | .unused, |
| | 125443 | .unused, |
| | 125444 | .unused, |
| | 125445 | .unused, |
| | 125446 | }, |
| | 125447 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125448 | .each = .{ .once = &.{ |
| | 125449 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125450 | .{ ._, .p_w, .mins, .tmp0x, .src0x, ._, ._ }, |
| | 125451 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 125452 | .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 125453 | } }, |
| | 125454 | }, .{ |
| | 125455 | .required_features = .{ .avx, null, null, null }, |
| | 125456 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125457 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125458 | .patterns = &.{ |
| | 125459 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125460 | }, |
| | 125461 | .extra_temps = .{ |
| | 125462 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125463 | .unused, |
| | 125464 | .unused, |
| | 125465 | .unused, |
| | 125466 | .unused, |
| | 125467 | .unused, |
| | 125468 | .unused, |
| | 125469 | .unused, |
| | 125470 | .unused, |
| | 125471 | .unused, |
| | 125472 | .unused, |
| | 125473 | }, |
| | 125474 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125475 | .each = .{ .once = &.{ |
| | 125476 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125477 | .{ ._, .vp_w, .minu, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 125478 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 125479 | .{ ._, .vp_w, .minu, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 125480 | } }, |
| | 125481 | }, .{ |
| | 125482 | .required_features = .{ .sse4_1, null, null, null }, |
| | 125483 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125484 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125485 | .patterns = &.{ |
| | 125486 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125487 | }, |
| | 125488 | .extra_temps = .{ |
| | 125489 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125490 | .unused, |
| | 125491 | .unused, |
| | 125492 | .unused, |
| | 125493 | .unused, |
| | 125494 | .unused, |
| | 125495 | .unused, |
| | 125496 | .unused, |
| | 125497 | .unused, |
| | 125498 | .unused, |
| | 125499 | .unused, |
| | 125500 | }, |
| | 125501 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125502 | .each = .{ .once = &.{ |
| | 125503 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125504 | .{ ._, .p_w, .minu, .tmp0x, .src0x, ._, ._ }, |
| | 125505 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 125506 | .{ ._, .p_w, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 125507 | } }, |
| | 125508 | }, .{ |
| | 125509 | .required_features = .{ .sse2, null, null, null }, |
| | 125510 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125511 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125512 | .patterns = &.{ |
| | 125513 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125514 | }, |
| | 125515 | .extra_temps = .{ |
| | 125516 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125517 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125518 | .unused, |
| | 125519 | .unused, |
| | 125520 | .unused, |
| | 125521 | .unused, |
| | 125522 | .unused, |
| | 125523 | .unused, |
| | 125524 | .unused, |
| | 125525 | .unused, |
| | 125526 | .unused, |
| | 125527 | }, |
| | 125528 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125529 | .each = .{ .once = &.{ |
| | 125530 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 125531 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 125532 | .{ ._, .p_w, .subus, .tmp1x, .src0x, ._, ._ }, |
| | 125533 | .{ ._, .p_w, .sub, .tmp0x, .tmp1x, ._, ._ }, |
| | 125534 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 125535 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 125536 | .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ }, |
| | 125537 | .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ }, |
| | 125538 | } }, |
| | 125539 | }, .{ |
| | 125540 | .required_features = .{ .avx, null, null, null }, |
| | 125541 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125542 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125543 | .patterns = &.{ |
| | 125544 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125545 | }, |
| | 125546 | .extra_temps = .{ |
| | 125547 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125548 | .unused, |
| | 125549 | .unused, |
| | 125550 | .unused, |
| | 125551 | .unused, |
| | 125552 | .unused, |
| | 125553 | .unused, |
| | 125554 | .unused, |
| | 125555 | .unused, |
| | 125556 | .unused, |
| | 125557 | .unused, |
| | 125558 | }, |
| | 125559 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125560 | .each = .{ .once = &.{ |
| | 125561 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 125562 | .{ ._, .vp_w, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 125563 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 125564 | .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 125565 | } }, |
| | 125566 | }, .{ |
| | 125567 | .required_features = .{ .sse2, null, null, null }, |
| | 125568 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125569 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125570 | .patterns = &.{ |
| | 125571 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125572 | }, |
| | 125573 | .extra_temps = .{ |
| | 125574 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125575 | .unused, |
| | 125576 | .unused, |
| | 125577 | .unused, |
| | 125578 | .unused, |
| | 125579 | .unused, |
| | 125580 | .unused, |
| | 125581 | .unused, |
| | 125582 | .unused, |
| | 125583 | .unused, |
| | 125584 | .unused, |
| | 125585 | }, |
| | 125586 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125587 | .each = .{ .once = &.{ |
| | 125588 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 125589 | .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 125590 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 125591 | .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 125592 | } }, |
| | 125593 | }, .{ |
| | 125594 | .required_features = .{ .avx, null, null, null }, |
| | 125595 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125596 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125597 | .patterns = &.{ |
| | 125598 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125599 | }, |
| | 125600 | .extra_temps = .{ |
| | 125601 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125602 | .unused, |
| | 125603 | .unused, |
| | 125604 | .unused, |
| | 125605 | .unused, |
| | 125606 | .unused, |
| | 125607 | .unused, |
| | 125608 | .unused, |
| | 125609 | .unused, |
| | 125610 | .unused, |
| | 125611 | .unused, |
| | 125612 | }, |
| | 125613 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125614 | .each = .{ .once = &.{ |
| | 125615 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 125616 | .{ ._, .vp_w, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 125617 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 125618 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 125619 | } }, |
| | 125620 | }, .{ |
| | 125621 | .required_features = .{ .sse4_1, null, null, null }, |
| | 125622 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125623 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125624 | .patterns = &.{ |
| | 125625 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125626 | }, |
| | 125627 | .extra_temps = .{ |
| | 125628 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125629 | .unused, |
| | 125630 | .unused, |
| | 125631 | .unused, |
| | 125632 | .unused, |
| | 125633 | .unused, |
| | 125634 | .unused, |
| | 125635 | .unused, |
| | 125636 | .unused, |
| | 125637 | .unused, |
| | 125638 | .unused, |
| | 125639 | }, |
| | 125640 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125641 | .each = .{ .once = &.{ |
| | 125642 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 125643 | .{ ._, .p_w, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 125644 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 125645 | .{ ._, .p_w, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 125646 | } }, |
| | 125647 | }, .{ |
| | 125648 | .required_features = .{ .sse2, null, null, null }, |
| | 125649 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125650 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 125651 | .patterns = &.{ |
| | 125652 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125653 | }, |
| | 125654 | .extra_temps = .{ |
| | 125655 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125656 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125657 | .unused, |
| | 125658 | .unused, |
| | 125659 | .unused, |
| | 125660 | .unused, |
| | 125661 | .unused, |
| | 125662 | .unused, |
| | 125663 | .unused, |
| | 125664 | .unused, |
| | 125665 | .unused, |
| | 125666 | }, |
| | 125667 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125668 | .each = .{ .once = &.{ |
| | 125669 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 125670 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 125671 | .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ }, |
| | 125672 | .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ }, |
| | 125673 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 125674 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 125675 | .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ }, |
| | 125676 | .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ }, |
| | 125677 | } }, |
| | 125678 | }, .{ |
| | 125679 | .required_features = .{ .avx2, null, null, null }, |
| | 125680 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125681 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125682 | .patterns = &.{ |
| | 125683 | .{ .src = .{ .mem, .none, .none } }, |
| | 125684 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125685 | }, |
| | 125686 | .extra_temps = .{ |
| | 125687 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125688 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 125689 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125690 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 125691 | .unused, |
| | 125692 | .unused, |
| | 125693 | .unused, |
| | 125694 | .unused, |
| | 125695 | .unused, |
| | 125696 | .unused, |
| | 125697 | .unused, |
| | 125698 | }, |
| | 125699 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125700 | .each = .{ .once = &.{ |
| | 125701 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125702 | .{ ._, .vp_w, .broadcast, .tmp2x, .lea(.tmp0w), ._, ._ }, |
| | 125703 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 125704 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, |
| | 125705 | .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| | 125706 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 125707 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 125708 | } }, |
| | 125709 | }, .{ |
| | 125710 | .required_features = .{ .avx, null, null, null }, |
| | 125711 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125712 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125713 | .patterns = &.{ |
| | 125714 | .{ .src = .{ .mem, .none, .none } }, |
| | 125715 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125716 | }, |
| | 125717 | .extra_temps = .{ |
| | 125718 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125719 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 125720 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125721 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 125722 | .unused, |
| | 125723 | .unused, |
| | 125724 | .unused, |
| | 125725 | .unused, |
| | 125726 | .unused, |
| | 125727 | .unused, |
| | 125728 | .unused, |
| | 125729 | }, |
| | 125730 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125731 | .each = .{ .once = &.{ |
| | 125732 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125733 | .{ ._, .v_ss, .broadcast, .tmp2x, .lea(.tmp0d), ._, ._ }, |
| | 125734 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 125735 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, |
| | 125736 | .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| | 125737 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 125738 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 125739 | } }, |
| | 125740 | }, .{ |
| | 125741 | .required_features = .{ .sse4_1, null, null, null }, |
| | 125742 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125743 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125744 | .patterns = &.{ |
| | 125745 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125746 | }, |
| | 125747 | .extra_temps = .{ |
| | 125748 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125749 | .{ .type = .vector_4_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 125750 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 125751 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125752 | .unused, |
| | 125753 | .unused, |
| | 125754 | .unused, |
| | 125755 | .unused, |
| | 125756 | .unused, |
| | 125757 | .unused, |
| | 125758 | .unused, |
| | 125759 | }, |
| | 125760 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125761 | .each = .{ .once = &.{ |
| | 125762 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125763 | .{ ._, ._, .movddup, .tmp3x, .lea(.tmp0q), ._, ._ }, |
| | 125764 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 125765 | .{ ._, .p_, .xor, .dst0x, .tmp3x, ._, ._ }, |
| | 125766 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 125767 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 125768 | .{ ._, .p_, .xor, .dst0x, .tmp3x, ._, ._ }, |
| | 125769 | } }, |
| | 125770 | }, .{ |
| | 125771 | .required_features = .{ .sse2, null, null, null }, |
| | 125772 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125773 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125774 | .patterns = &.{ |
| | 125775 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125776 | }, |
| | 125777 | .extra_temps = .{ |
| | 125778 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125779 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 125780 | .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 125781 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125782 | .unused, |
| | 125783 | .unused, |
| | 125784 | .unused, |
| | 125785 | .unused, |
| | 125786 | .unused, |
| | 125787 | .unused, |
| | 125788 | .unused, |
| | 125789 | }, |
| | 125790 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125791 | .each = .{ .once = &.{ |
| | 125792 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125793 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 125794 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 125795 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 125796 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 125797 | .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 125798 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 125799 | .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 125800 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 125801 | .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 125802 | } }, |
| | 125803 | }, .{ |
| | 125804 | .required_features = .{ .avx, null, null, null }, |
| | 125805 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125806 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125807 | .patterns = &.{ |
| | 125808 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125809 | }, |
| | 125810 | .extra_temps = .{ |
| | 125811 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125812 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 125813 | .unused, |
| | 125814 | .unused, |
| | 125815 | .unused, |
| | 125816 | .unused, |
| | 125817 | .unused, |
| | 125818 | .unused, |
| | 125819 | .unused, |
| | 125820 | .unused, |
| | 125821 | .unused, |
| | 125822 | }, |
| | 125823 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125824 | .each = .{ .once = &.{ |
| | 125825 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125826 | .{ ._, .vp_, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 125827 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 125828 | } }, |
| | 125829 | }, .{ |
| | 125830 | .required_features = .{ .sse4_1, null, null, null }, |
| | 125831 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125832 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125833 | .patterns = &.{ |
| | 125834 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125835 | }, |
| | 125836 | .extra_temps = .{ |
| | 125837 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125838 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 125839 | .unused, |
| | 125840 | .unused, |
| | 125841 | .unused, |
| | 125842 | .unused, |
| | 125843 | .unused, |
| | 125844 | .unused, |
| | 125845 | .unused, |
| | 125846 | .unused, |
| | 125847 | .unused, |
| | 125848 | }, |
| | 125849 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125850 | .each = .{ .once = &.{ |
| | 125851 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125852 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 125853 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 125854 | } }, |
| | 125855 | }, .{ |
| | 125856 | .required_features = .{ .sse2, null, null, null }, |
| | 125857 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 125858 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125859 | .patterns = &.{ |
| | 125860 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125861 | }, |
| | 125862 | .extra_temps = .{ |
| | 125863 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125864 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 125865 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125866 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 125867 | .unused, |
| | 125868 | .unused, |
| | 125869 | .unused, |
| | 125870 | .unused, |
| | 125871 | .unused, |
| | 125872 | .unused, |
| | 125873 | .unused, |
| | 125874 | }, |
| | 125875 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125876 | .each = .{ .once = &.{ |
| | 125877 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125878 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 125879 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 125880 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 125881 | .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ }, |
| | 125882 | .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ }, |
| | 125883 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 125884 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 125885 | .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ }, |
| | 125886 | .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ }, |
| | 125887 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 125888 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 125889 | .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ }, |
| | 125890 | .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ }, |
| | 125891 | } }, |
| | 125892 | }, .{ |
| | 125893 | .required_features = .{ .avx2, null, null, null }, |
| | 125894 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125895 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125896 | .patterns = &.{ |
| | 125897 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125898 | }, |
| | 125899 | .extra_temps = .{ |
| | 125900 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125901 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 125902 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125903 | .unused, |
| | 125904 | .unused, |
| | 125905 | .unused, |
| | 125906 | .unused, |
| | 125907 | .unused, |
| | 125908 | .unused, |
| | 125909 | .unused, |
| | 125910 | .unused, |
| | 125911 | }, |
| | 125912 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125913 | .each = .{ .once = &.{ |
| | 125914 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125915 | .{ ._, .vp_w, .broadcast, .tmp2x, .lea(.tmp0w), ._, ._ }, |
| | 125916 | .{ ._, .vp_, .xor, .dst0x, .src0x, .tmp2x, ._ }, |
| | 125917 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 125918 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 125919 | } }, |
| | 125920 | }, .{ |
| | 125921 | .required_features = .{ .avx, null, null, null }, |
| | 125922 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125923 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125924 | .patterns = &.{ |
| | 125925 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 125926 | }, |
| | 125927 | .extra_temps = .{ |
| | 125928 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125929 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 125930 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125931 | .unused, |
| | 125932 | .unused, |
| | 125933 | .unused, |
| | 125934 | .unused, |
| | 125935 | .unused, |
| | 125936 | .unused, |
| | 125937 | .unused, |
| | 125938 | .unused, |
| | 125939 | }, |
| | 125940 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 125941 | .each = .{ .once = &.{ |
| | 125942 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125943 | .{ ._, .v_ss, .broadcast, .tmp2x, .lea(.tmp0d), ._, ._ }, |
| | 125944 | .{ ._, .vp_, .xor, .dst0x, .src0x, .tmp2x, ._ }, |
| | 125945 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 125946 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 125947 | } }, |
| | 125948 | }, .{ |
| | 125949 | .required_features = .{ .sse4_1, null, null, null }, |
| | 125950 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125951 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125952 | .patterns = &.{ |
| | 125953 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125954 | }, |
| | 125955 | .extra_temps = .{ |
| | 125956 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 125957 | .{ .type = .vector_4_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 125958 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125959 | .unused, |
| | 125960 | .unused, |
| | 125961 | .unused, |
| | 125962 | .unused, |
| | 125963 | .unused, |
| | 125964 | .unused, |
| | 125965 | .unused, |
| | 125966 | .unused, |
| | 125967 | }, |
| | 125968 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125969 | .each = .{ .once = &.{ |
| | 125970 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 125971 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 125972 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 125973 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 125974 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 125975 | } }, |
| | 125976 | }, .{ |
| | 125977 | .required_features = .{ .sse2, null, null, null }, |
| | 125978 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 125979 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 125980 | .patterns = &.{ |
| | 125981 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 125982 | }, |
| | 125983 | .extra_temps = .{ |
| | 125984 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 125985 | .unused, |
| | 125986 | .unused, |
| | 125987 | .unused, |
| | 125988 | .unused, |
| | 125989 | .unused, |
| | 125990 | .unused, |
| | 125991 | .unused, |
| | 125992 | .unused, |
| | 125993 | .unused, |
| | 125994 | .unused, |
| | 125995 | }, |
| | 125996 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 125997 | .each = .{ .once = &.{ |
| | 125998 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 125999 | .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 126000 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 126001 | .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 126002 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 126003 | .{ ._, .p_w, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 126004 | } }, |
| | 126005 | }, .{ |
| | 126006 | .required_features = .{ .avx, null, null, null }, |
| | 126007 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126008 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126009 | .patterns = &.{ |
| | 126010 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126011 | }, |
| | 126012 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126013 | .each = .{ .once = &.{ |
| | 126014 | .{ ._, .vph_w, .minposu, .dst0x, .src0x, ._, ._ }, |
| | 126015 | } }, |
| | 126016 | }, .{ |
| | 126017 | .required_features = .{ .sse4_1, null, null, null }, |
| | 126018 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126019 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126020 | .patterns = &.{ |
| | 126021 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126022 | }, |
| | 126023 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126024 | .each = .{ .once = &.{ |
| | 126025 | .{ ._, .ph_w, .minposu, .dst0x, .src0x, ._, ._ }, |
| | 126026 | } }, |
| | 126027 | }, .{ |
| | 126028 | .required_features = .{ .sse2, null, null, null }, |
| | 126029 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126030 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126031 | .patterns = &.{ |
| | 126032 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 126033 | }, |
| | 126034 | .extra_temps = .{ |
| | 126035 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126036 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126037 | .unused, |
| | 126038 | .unused, |
| | 126039 | .unused, |
| | 126040 | .unused, |
| | 126041 | .unused, |
| | 126042 | .unused, |
| | 126043 | .unused, |
| | 126044 | .unused, |
| | 126045 | .unused, |
| | 126046 | }, |
| | 126047 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 126048 | .each = .{ .once = &.{ |
| | 126049 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 126050 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 126051 | .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ }, |
| | 126052 | .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ }, |
| | 126053 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 126054 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 126055 | .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ }, |
| | 126056 | .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ }, |
| | 126057 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 126058 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 126059 | .{ ._, .p_w, .subus, .tmp1x, .tmp0x, ._, ._ }, |
| | 126060 | .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ }, |
| | 126061 | } }, |
| | 126062 | }, .{ |
| | 126063 | .required_features = .{ .avx2, null, null, null }, |
| | 126064 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126065 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126066 | .patterns = &.{ |
| | 126067 | .{ .src = .{ .mem, .none, .none } }, |
| | 126068 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126069 | }, |
| | 126070 | .extra_temps = .{ |
| | 126071 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 126072 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126073 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 126074 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 126075 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126076 | .unused, |
| | 126077 | .unused, |
| | 126078 | .unused, |
| | 126079 | .unused, |
| | 126080 | .unused, |
| | 126081 | .unused, |
| | 126082 | }, |
| | 126083 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126084 | .each = .{ .once = &.{ |
| | 126085 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126086 | .{ ._, .vp_w, .broadcast, .tmp2y, .lea(.tmp0w), ._, ._ }, |
| | 126087 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 126088 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 126089 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 126090 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 126091 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp4x, ._ }, |
| | 126092 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126093 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126094 | } }, |
| | 126095 | }, .{ |
| | 126096 | .required_features = .{ .avx, null, null, null }, |
| | 126097 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126098 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126099 | .patterns = &.{ |
| | 126100 | .{ .src = .{ .mem, .none, .none } }, |
| | 126101 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126102 | }, |
| | 126103 | .extra_temps = .{ |
| | 126104 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 126105 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126106 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 126107 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 126108 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126109 | .unused, |
| | 126110 | .unused, |
| | 126111 | .unused, |
| | 126112 | .unused, |
| | 126113 | .unused, |
| | 126114 | .unused, |
| | 126115 | }, |
| | 126116 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126117 | .each = .{ .once = &.{ |
| | 126118 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126119 | .{ ._, .v_ss, .broadcast, .tmp2y, .lea(.tmp0d), ._, ._ }, |
| | 126120 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 126121 | .{ ._, .v_ps, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 126122 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 126123 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 126124 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp4x, ._ }, |
| | 126125 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126126 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126127 | } }, |
| | 126128 | }, .{ |
| | 126129 | .required_features = .{ .avx2, null, null, null }, |
| | 126130 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126131 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126132 | .patterns = &.{ |
| | 126133 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126134 | }, |
| | 126135 | .extra_temps = .{ |
| | 126136 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 126137 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 126138 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126139 | .unused, |
| | 126140 | .unused, |
| | 126141 | .unused, |
| | 126142 | .unused, |
| | 126143 | .unused, |
| | 126144 | .unused, |
| | 126145 | .unused, |
| | 126146 | .unused, |
| | 126147 | }, |
| | 126148 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126149 | .each = .{ .once = &.{ |
| | 126150 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126151 | .{ ._, .vp_, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 126152 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 126153 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126154 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126155 | } }, |
| | 126156 | }, .{ |
| | 126157 | .required_features = .{ .avx, null, null, null }, |
| | 126158 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126159 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126160 | .patterns = &.{ |
| | 126161 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126162 | }, |
| | 126163 | .extra_temps = .{ |
| | 126164 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 126165 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 126166 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126167 | .unused, |
| | 126168 | .unused, |
| | 126169 | .unused, |
| | 126170 | .unused, |
| | 126171 | .unused, |
| | 126172 | .unused, |
| | 126173 | .unused, |
| | 126174 | .unused, |
| | 126175 | }, |
| | 126176 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126177 | .each = .{ .once = &.{ |
| | 126178 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126179 | .{ ._, .v_ps, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 126180 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 126181 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126182 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126183 | } }, |
| | 126184 | }, .{ |
| | 126185 | .required_features = .{ .avx2, null, null, null }, |
| | 126186 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126187 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126188 | .patterns = &.{ |
| | 126189 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126190 | }, |
| | 126191 | .extra_temps = .{ |
| | 126192 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126193 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 126194 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126195 | .unused, |
| | 126196 | .unused, |
| | 126197 | .unused, |
| | 126198 | .unused, |
| | 126199 | .unused, |
| | 126200 | .unused, |
| | 126201 | .unused, |
| | 126202 | .unused, |
| | 126203 | }, |
| | 126204 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126205 | .each = .{ .once = &.{ |
| | 126206 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 126207 | .{ ._, .vp_w, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 126208 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 126209 | .{ ._, .vp_w, .broadcast, .tmp0x, .lea(.tmp1w), ._, ._ }, |
| | 126210 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 126211 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126212 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 126213 | } }, |
| | 126214 | }, .{ |
| | 126215 | .required_features = .{ .avx, null, null, null }, |
| | 126216 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126217 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126218 | .patterns = &.{ |
| | 126219 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126220 | }, |
| | 126221 | .extra_temps = .{ |
| | 126222 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126223 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 126224 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126225 | .unused, |
| | 126226 | .unused, |
| | 126227 | .unused, |
| | 126228 | .unused, |
| | 126229 | .unused, |
| | 126230 | .unused, |
| | 126231 | .unused, |
| | 126232 | .unused, |
| | 126233 | }, |
| | 126234 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126235 | .each = .{ .once = &.{ |
| | 126236 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 126237 | .{ ._, .vp_w, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 126238 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 126239 | .{ ._, .v_ss, .broadcast, .tmp0x, .lea(.tmp1d), ._, ._ }, |
| | 126240 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 126241 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126242 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 126243 | } }, |
| | 126244 | }, .{ |
| | 126245 | .required_features = .{ .avx2, null, null, null }, |
| | 126246 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126247 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126248 | .patterns = &.{ |
| | 126249 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126250 | }, |
| | 126251 | .extra_temps = .{ |
| | 126252 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126253 | .unused, |
| | 126254 | .unused, |
| | 126255 | .unused, |
| | 126256 | .unused, |
| | 126257 | .unused, |
| | 126258 | .unused, |
| | 126259 | .unused, |
| | 126260 | .unused, |
| | 126261 | .unused, |
| | 126262 | .unused, |
| | 126263 | }, |
| | 126264 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126265 | .each = .{ .once = &.{ |
| | 126266 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 126267 | .{ ._, .vp_w, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 126268 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126269 | } }, |
| | 126270 | }, .{ |
| | 126271 | .required_features = .{ .avx, null, null, null }, |
| | 126272 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126273 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126274 | .patterns = &.{ |
| | 126275 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 126276 | }, |
| | 126277 | .extra_temps = .{ |
| | 126278 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126279 | .unused, |
| | 126280 | .unused, |
| | 126281 | .unused, |
| | 126282 | .unused, |
| | 126283 | .unused, |
| | 126284 | .unused, |
| | 126285 | .unused, |
| | 126286 | .unused, |
| | 126287 | .unused, |
| | 126288 | .unused, |
| | 126289 | }, |
| | 126290 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 126291 | .each = .{ .once = &.{ |
| | 126292 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 126293 | .{ ._, .vp_w, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 126294 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126295 | } }, |
| | 126296 | }, .{ |
| | 126297 | .required_features = .{ .avx512f, null, null, null }, |
| | 126298 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126299 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 126300 | .patterns = &.{ |
| | 126301 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126302 | }, |
| | 126303 | .extra_temps = .{ |
| | 126304 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 126305 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126306 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 126307 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 126308 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 126309 | .unused, |
| | 126310 | .unused, |
| | 126311 | .unused, |
| | 126312 | .unused, |
| | 126313 | .unused, |
| | 126314 | .unused, |
| | 126315 | }, |
| | 126316 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126317 | .each = .{ .once = &.{ |
| | 126318 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126319 | .{ ._, .vp_w, .broadcast, .tmp2y, .lea(.tmp0w), ._, ._ }, |
| | 126320 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 126321 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .mem(.src0y), ._ }, |
| | 126322 | .{ ._, .vp_, .xor, .tmp4y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 126323 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 126324 | .{ ._, .vp_, .@"or", .tmp4y, .tmp4y, .lead(.tmp0y, 32), ._ }, |
| | 126325 | .{ ._, .vp_w, .minu, .dst0y, .dst0y, .tmp4y, ._ }, |
| | 126326 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 126327 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp4x, ._ }, |
| | 126328 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 126329 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126330 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126331 | } }, |
| | 126332 | }, .{ |
| | 126333 | .required_features = .{ .avx512f, null, null, null }, |
| | 126334 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126335 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 126336 | .patterns = &.{ |
| | 126337 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126338 | }, |
| | 126339 | .extra_temps = .{ |
| | 126340 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 126341 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 126342 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 126343 | .unused, |
| | 126344 | .unused, |
| | 126345 | .unused, |
| | 126346 | .unused, |
| | 126347 | .unused, |
| | 126348 | .unused, |
| | 126349 | .unused, |
| | 126350 | .unused, |
| | 126351 | }, |
| | 126352 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126353 | .each = .{ .once = &.{ |
| | 126354 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126355 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 126356 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 126357 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 126358 | .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 126359 | .{ ._, .vp_w, .minu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 126360 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 126361 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126362 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126363 | } }, |
| | 126364 | }, .{ |
| | 126365 | .required_features = .{ .avx512f, null, null, null }, |
| | 126366 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126367 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 126368 | .patterns = &.{ |
| | 126369 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126370 | }, |
| | 126371 | .extra_temps = .{ |
| | 126372 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126373 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 126374 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126375 | .unused, |
| | 126376 | .unused, |
| | 126377 | .unused, |
| | 126378 | .unused, |
| | 126379 | .unused, |
| | 126380 | .unused, |
| | 126381 | .unused, |
| | 126382 | .unused, |
| | 126383 | }, |
| | 126384 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126385 | .each = .{ .once = &.{ |
| | 126386 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 126387 | .{ ._, .vp_w, .mins, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 126388 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 126389 | .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 126390 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 126391 | .{ ._, .vp_w, .broadcast, .tmp0x, .lea(.tmp1w), ._, ._ }, |
| | 126392 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 126393 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126394 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 126395 | } }, |
| | 126396 | }, .{ |
| | 126397 | .required_features = .{ .avx512f, null, null, null }, |
| | 126398 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126399 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 126400 | .patterns = &.{ |
| | 126401 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126402 | }, |
| | 126403 | .extra_temps = .{ |
| | 126404 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126405 | .unused, |
| | 126406 | .unused, |
| | 126407 | .unused, |
| | 126408 | .unused, |
| | 126409 | .unused, |
| | 126410 | .unused, |
| | 126411 | .unused, |
| | 126412 | .unused, |
| | 126413 | .unused, |
| | 126414 | .unused, |
| | 126415 | }, |
| | 126416 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126417 | .each = .{ .once = &.{ |
| | 126418 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 126419 | .{ ._, .vp_w, .minu, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 126420 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 126421 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 126422 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126423 | } }, |
| | 126424 | }, .{ |
| | 126425 | .required_features = .{ .avx2, null, null, null }, |
| | 126426 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126427 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126428 | .patterns = &.{ |
| | 126429 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126430 | }, |
| | 126431 | .extra_temps = .{ |
| | 126432 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126433 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126434 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126435 | .unused, |
| | 126436 | .unused, |
| | 126437 | .unused, |
| | 126438 | .unused, |
| | 126439 | .unused, |
| | 126440 | .unused, |
| | 126441 | .unused, |
| | 126442 | .unused, |
| | 126443 | }, |
| | 126444 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126445 | .clobbers = .{ .eflags = true }, |
| | 126446 | .each = .{ .once = &.{ |
| | 126447 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 126448 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 126449 | .{ .@"0:", .vp_w, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 126450 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 126451 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126452 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 126453 | .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 126454 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 126455 | .{ ._, .vp_w, .broadcast, .tmp1x, .lea(.tmp0w), ._, ._ }, |
| | 126456 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 126457 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126458 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 126459 | } }, |
| | 126460 | }, .{ |
| | 126461 | .required_features = .{ .avx, null, null, null }, |
| | 126462 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126463 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126464 | .patterns = &.{ |
| | 126465 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126466 | }, |
| | 126467 | .extra_temps = .{ |
| | 126468 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126469 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126470 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126471 | .unused, |
| | 126472 | .unused, |
| | 126473 | .unused, |
| | 126474 | .unused, |
| | 126475 | .unused, |
| | 126476 | .unused, |
| | 126477 | .unused, |
| | 126478 | .unused, |
| | 126479 | }, |
| | 126480 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126481 | .clobbers = .{ .eflags = true }, |
| | 126482 | .each = .{ .once = &.{ |
| | 126483 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 126484 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 126485 | .{ .@"0:", .vp_w, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 126486 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 126487 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126488 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126489 | .{ ._, .v_ss, .broadcast, .tmp2x, .lea(.tmp0d), ._, ._ }, |
| | 126490 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126491 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126492 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126493 | } }, |
| | 126494 | }, .{ |
| | 126495 | .required_features = .{ .sse4_1, null, null, null }, |
| | 126496 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126497 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126498 | .patterns = &.{ |
| | 126499 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126500 | }, |
| | 126501 | .extra_temps = .{ |
| | 126502 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126503 | .{ .type = .vector_4_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126504 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126505 | .unused, |
| | 126506 | .unused, |
| | 126507 | .unused, |
| | 126508 | .unused, |
| | 126509 | .unused, |
| | 126510 | .unused, |
| | 126511 | .unused, |
| | 126512 | .unused, |
| | 126513 | }, |
| | 126514 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126515 | .clobbers = .{ .eflags = true }, |
| | 126516 | .each = .{ .once = &.{ |
| | 126517 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 126518 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 126519 | .{ .@"0:", .p_w, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 126520 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 126521 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126522 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126523 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 126524 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 126525 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126526 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 126527 | } }, |
| | 126528 | }, .{ |
| | 126529 | .required_features = .{ .sse2, null, null, null }, |
| | 126530 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126531 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126532 | .patterns = &.{ |
| | 126533 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126534 | }, |
| | 126535 | .extra_temps = .{ |
| | 126536 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126537 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126538 | .unused, |
| | 126539 | .unused, |
| | 126540 | .unused, |
| | 126541 | .unused, |
| | 126542 | .unused, |
| | 126543 | .unused, |
| | 126544 | .unused, |
| | 126545 | .unused, |
| | 126546 | .unused, |
| | 126547 | }, |
| | 126548 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126549 | .clobbers = .{ .eflags = true }, |
| | 126550 | .each = .{ .once = &.{ |
| | 126551 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 126552 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 126553 | .{ .@"0:", .p_w, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 126554 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 126555 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126556 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 126557 | .{ ._, .p_w, .mins, .dst0x, .tmp1x, ._, ._ }, |
| | 126558 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 126559 | .{ ._, .p_w, .mins, .dst0x, .tmp1x, ._, ._ }, |
| | 126560 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 126561 | .{ ._, .p_w, .mins, .dst0x, .tmp1x, ._, ._ }, |
| | 126562 | } }, |
| | 126563 | }, .{ |
| | 126564 | .required_features = .{ .avx2, null, null, null }, |
| | 126565 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126566 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126567 | .patterns = &.{ |
| | 126568 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126569 | }, |
| | 126570 | .extra_temps = .{ |
| | 126571 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126572 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126573 | .unused, |
| | 126574 | .unused, |
| | 126575 | .unused, |
| | 126576 | .unused, |
| | 126577 | .unused, |
| | 126578 | .unused, |
| | 126579 | .unused, |
| | 126580 | .unused, |
| | 126581 | .unused, |
| | 126582 | }, |
| | 126583 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126584 | .clobbers = .{ .eflags = true }, |
| | 126585 | .each = .{ .once = &.{ |
| | 126586 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 126587 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 126588 | .{ .@"0:", .vp_w, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 126589 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 126590 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126591 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 126592 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 126593 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126594 | } }, |
| | 126595 | }, .{ |
| | 126596 | .required_features = .{ .avx, null, null, null }, |
| | 126597 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126598 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126599 | .patterns = &.{ |
| | 126600 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126601 | }, |
| | 126602 | .extra_temps = .{ |
| | 126603 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126604 | .unused, |
| | 126605 | .unused, |
| | 126606 | .unused, |
| | 126607 | .unused, |
| | 126608 | .unused, |
| | 126609 | .unused, |
| | 126610 | .unused, |
| | 126611 | .unused, |
| | 126612 | .unused, |
| | 126613 | .unused, |
| | 126614 | }, |
| | 126615 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126616 | .clobbers = .{ .eflags = true }, |
| | 126617 | .each = .{ .once = &.{ |
| | 126618 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 126619 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 126620 | .{ .@"0:", .vp_w, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 126621 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 126622 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126623 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126624 | } }, |
| | 126625 | }, .{ |
| | 126626 | .required_features = .{ .sse4_1, null, null, null }, |
| | 126627 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126628 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126629 | .patterns = &.{ |
| | 126630 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126631 | }, |
| | 126632 | .extra_temps = .{ |
| | 126633 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126634 | .unused, |
| | 126635 | .unused, |
| | 126636 | .unused, |
| | 126637 | .unused, |
| | 126638 | .unused, |
| | 126639 | .unused, |
| | 126640 | .unused, |
| | 126641 | .unused, |
| | 126642 | .unused, |
| | 126643 | .unused, |
| | 126644 | }, |
| | 126645 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126646 | .clobbers = .{ .eflags = true }, |
| | 126647 | .each = .{ .once = &.{ |
| | 126648 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 126649 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 126650 | .{ .@"0:", .p_w, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 126651 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 126652 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126653 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126654 | } }, |
| | 126655 | }, .{ |
| | 126656 | .required_features = .{ .sse2, null, null, null }, |
| | 126657 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126658 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126659 | .patterns = &.{ |
| | 126660 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126661 | }, |
| | 126662 | .extra_temps = .{ |
| | 126663 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126664 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126665 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126666 | .unused, |
| | 126667 | .unused, |
| | 126668 | .unused, |
| | 126669 | .unused, |
| | 126670 | .unused, |
| | 126671 | .unused, |
| | 126672 | .unused, |
| | 126673 | .unused, |
| | 126674 | }, |
| | 126675 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126676 | .clobbers = .{ .eflags = true }, |
| | 126677 | .each = .{ .once = &.{ |
| | 126678 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 126679 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 126680 | .{ .@"0:", ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 126681 | .{ ._, .p_w, .subus, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 126682 | .{ ._, .p_w, .sub, .dst0x, .tmp1x, ._, ._ }, |
| | 126683 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 126684 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126685 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 126686 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 126687 | .{ ._, .p_w, .subus, .tmp2x, .tmp1x, ._, ._ }, |
| | 126688 | .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 126689 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 126690 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 126691 | .{ ._, .p_w, .subus, .tmp2x, .tmp1x, ._, ._ }, |
| | 126692 | .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 126693 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 126694 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 126695 | .{ ._, .p_w, .subus, .tmp2x, .tmp1x, ._, ._ }, |
| | 126696 | .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 126697 | } }, |
| | 126698 | }, .{ |
| | 126699 | .required_features = .{ .avx512f, null, null, null }, |
| | 126700 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126701 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 126702 | .patterns = &.{ |
| | 126703 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126704 | }, |
| | 126705 | .extra_temps = .{ |
| | 126706 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126707 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 126708 | .{ .type = .vector_32_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 126709 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 126710 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126711 | .unused, |
| | 126712 | .unused, |
| | 126713 | .unused, |
| | 126714 | .unused, |
| | 126715 | .unused, |
| | 126716 | .unused, |
| | 126717 | }, |
| | 126718 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126719 | .clobbers = .{ .eflags = true }, |
| | 126720 | .each = .{ .once = &.{ |
| | 126721 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126722 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 126723 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 126724 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 126725 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 126726 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 126727 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 126728 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 126729 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 126730 | .{ .@"0:", .vp_w, .mins, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 126731 | .{ ._, .vp_w, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 126732 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 126733 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126734 | .{ ._, .vp_w, .mins, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 126735 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 126736 | .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 126737 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ }, |
| | 126738 | .{ ._, .vp_w, .broadcast, .tmp3x, .lea(.tmp0w), ._, ._ }, |
| | 126739 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 126740 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126741 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 126742 | } }, |
| | 126743 | }, .{ |
| | 126744 | .required_features = .{ .avx2, null, null, null }, |
| | 126745 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126746 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126747 | .patterns = &.{ |
| | 126748 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126749 | }, |
| | 126750 | .extra_temps = .{ |
| | 126751 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126752 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 126753 | .{ .type = .vector_16_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 126754 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126755 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126756 | .unused, |
| | 126757 | .unused, |
| | 126758 | .unused, |
| | 126759 | .unused, |
| | 126760 | .unused, |
| | 126761 | .unused, |
| | 126762 | }, |
| | 126763 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126764 | .clobbers = .{ .eflags = true }, |
| | 126765 | .each = .{ .once = &.{ |
| | 126766 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126767 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 126768 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 126769 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 126770 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 126771 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 126772 | .{ .@"0:", .vp_w, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 126773 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 126774 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126775 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 126776 | .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 126777 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ }, |
| | 126778 | .{ ._, .vp_w, .broadcast, .tmp3x, .lea(.tmp0w), ._, ._ }, |
| | 126779 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 126780 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126781 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 126782 | } }, |
| | 126783 | }, .{ |
| | 126784 | .required_features = .{ .avx, null, null, null }, |
| | 126785 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126786 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126787 | .patterns = &.{ |
| | 126788 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126789 | }, |
| | 126790 | .extra_temps = .{ |
| | 126791 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126792 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 126793 | .{ .type = .vector_16_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 126794 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126795 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126796 | .unused, |
| | 126797 | .unused, |
| | 126798 | .unused, |
| | 126799 | .unused, |
| | 126800 | .unused, |
| | 126801 | .unused, |
| | 126802 | }, |
| | 126803 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126804 | .clobbers = .{ .eflags = true }, |
| | 126805 | .each = .{ .once = &.{ |
| | 126806 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126807 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 126808 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 126809 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 126810 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 126811 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 126812 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 126813 | .{ ._, .vp_w, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 126814 | .{ .@"0:", .vp_w, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 126815 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 126816 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126817 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ }, |
| | 126818 | .{ ._, .v_ss, .broadcast, .tmp3x, .lea(.tmp0d), ._, ._ }, |
| | 126819 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 126820 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126821 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 126822 | } }, |
| | 126823 | }, .{ |
| | 126824 | .required_features = .{ .sse4_1, null, null, null }, |
| | 126825 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126826 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126827 | .patterns = &.{ |
| | 126828 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126829 | }, |
| | 126830 | .extra_temps = .{ |
| | 126831 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126832 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 126833 | .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 126834 | .{ .type = .vector_4_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 126835 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126836 | .unused, |
| | 126837 | .unused, |
| | 126838 | .unused, |
| | 126839 | .unused, |
| | 126840 | .unused, |
| | 126841 | .unused, |
| | 126842 | }, |
| | 126843 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126844 | .clobbers = .{ .eflags = true }, |
| | 126845 | .each = .{ .once = &.{ |
| | 126846 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126847 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 126848 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 126849 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 126850 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 126851 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 126852 | .{ .@"0:", .p_w, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 126853 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 126854 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126855 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 126856 | .{ ._, ._, .movddup, .tmp4x, .lea(.tmp0q), ._, ._ }, |
| | 126857 | .{ ._, .p_, .xor, .dst0x, .tmp4x, ._, ._ }, |
| | 126858 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126859 | .{ ._, .p_, .xor, .dst0x, .tmp4x, ._, ._ }, |
| | 126860 | } }, |
| | 126861 | }, .{ |
| | 126862 | .required_features = .{ .sse2, null, null, null }, |
| | 126863 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 126864 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 126865 | .patterns = &.{ |
| | 126866 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126867 | }, |
| | 126868 | .extra_temps = .{ |
| | 126869 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126870 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 126871 | .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 126872 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 126873 | .unused, |
| | 126874 | .unused, |
| | 126875 | .unused, |
| | 126876 | .unused, |
| | 126877 | .unused, |
| | 126878 | .unused, |
| | 126879 | .unused, |
| | 126880 | }, |
| | 126881 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126882 | .clobbers = .{ .eflags = true }, |
| | 126883 | .each = .{ .once = &.{ |
| | 126884 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126885 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 126886 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 126887 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 126888 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 126889 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 126890 | .{ .@"0:", .p_w, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 126891 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 126892 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126893 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 126894 | .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 126895 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 126896 | .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 126897 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 126898 | .{ ._, .p_w, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 126899 | } }, |
| | 126900 | }, .{ |
| | 126901 | .required_features = .{ .avx512f, null, null, null }, |
| | 126902 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126903 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 126904 | .patterns = &.{ |
| | 126905 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126906 | }, |
| | 126907 | .extra_temps = .{ |
| | 126908 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126909 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 126910 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 126911 | .unused, |
| | 126912 | .unused, |
| | 126913 | .unused, |
| | 126914 | .unused, |
| | 126915 | .unused, |
| | 126916 | .unused, |
| | 126917 | .unused, |
| | 126918 | .unused, |
| | 126919 | }, |
| | 126920 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126921 | .clobbers = .{ .eflags = true }, |
| | 126922 | .each = .{ .once = &.{ |
| | 126923 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126924 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 126925 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 126926 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 126927 | .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 126928 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 126929 | .{ .@"0:", .vp_w, .minu, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 126930 | .{ ._, .vp_w, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 126931 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 126932 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126933 | .{ ._, .vp_w, .minu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 126934 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 126935 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126936 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126937 | } }, |
| | 126938 | }, .{ |
| | 126939 | .required_features = .{ .avx2, null, null, null }, |
| | 126940 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126941 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126942 | .patterns = &.{ |
| | 126943 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126944 | }, |
| | 126945 | .extra_temps = .{ |
| | 126946 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126947 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 126948 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126949 | .unused, |
| | 126950 | .unused, |
| | 126951 | .unused, |
| | 126952 | .unused, |
| | 126953 | .unused, |
| | 126954 | .unused, |
| | 126955 | .unused, |
| | 126956 | .unused, |
| | 126957 | }, |
| | 126958 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126959 | .clobbers = .{ .eflags = true }, |
| | 126960 | .each = .{ .once = &.{ |
| | 126961 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126962 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 126963 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 126964 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 126965 | .{ .@"0:", .vp_w, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 126966 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 126967 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 126968 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 126969 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 126970 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 126971 | } }, |
| | 126972 | }, .{ |
| | 126973 | .required_features = .{ .avx, null, null, null }, |
| | 126974 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 126975 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 126976 | .patterns = &.{ |
| | 126977 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 126978 | }, |
| | 126979 | .extra_temps = .{ |
| | 126980 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 126981 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 126982 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 126983 | .unused, |
| | 126984 | .unused, |
| | 126985 | .unused, |
| | 126986 | .unused, |
| | 126987 | .unused, |
| | 126988 | .unused, |
| | 126989 | .unused, |
| | 126990 | .unused, |
| | 126991 | }, |
| | 126992 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 126993 | .clobbers = .{ .eflags = true }, |
| | 126994 | .each = .{ .once = &.{ |
| | 126995 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 126996 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 126997 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 126998 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 126999 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 127000 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 127001 | .{ .@"0:", .vp_w, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 127002 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 127003 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 127004 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 127005 | } }, |
| | 127006 | }, .{ |
| | 127007 | .required_features = .{ .sse4_1, null, null, null }, |
| | 127008 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 127009 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 127010 | .patterns = &.{ |
| | 127011 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 127012 | }, |
| | 127013 | .extra_temps = .{ |
| | 127014 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 127015 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 127016 | .unused, |
| | 127017 | .unused, |
| | 127018 | .unused, |
| | 127019 | .unused, |
| | 127020 | .unused, |
| | 127021 | .unused, |
| | 127022 | .unused, |
| | 127023 | .unused, |
| | 127024 | .unused, |
| | 127025 | }, |
| | 127026 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127027 | .clobbers = .{ .eflags = true }, |
| | 127028 | .each = .{ .once = &.{ |
| | 127029 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127030 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 127031 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 127032 | .{ ._, .p_, .@"or", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 127033 | .{ .@"0:", .p_w, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 127034 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 127035 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 127036 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 127037 | } }, |
| | 127038 | }, .{ |
| | 127039 | .required_features = .{ .sse2, null, null, null }, |
| | 127040 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 127041 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 127042 | .patterns = &.{ |
| | 127043 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 127044 | }, |
| | 127045 | .extra_temps = .{ |
| | 127046 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 127047 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 127048 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 127049 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 127050 | .unused, |
| | 127051 | .unused, |
| | 127052 | .unused, |
| | 127053 | .unused, |
| | 127054 | .unused, |
| | 127055 | .unused, |
| | 127056 | .unused, |
| | 127057 | }, |
| | 127058 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 127059 | .clobbers = .{ .eflags = true }, |
| | 127060 | .each = .{ .once = &.{ |
| | 127061 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127062 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 127063 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 127064 | .{ ._, .p_, .@"or", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 127065 | .{ .@"0:", ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 127066 | .{ ._, .p_w, .subus, .tmp2x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 127067 | .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 127068 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 127069 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 127070 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 127071 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 127072 | .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ }, |
| | 127073 | .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ }, |
| | 127074 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 127075 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 127076 | .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ }, |
| | 127077 | .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ }, |
| | 127078 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 127079 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 127080 | .{ ._, .p_w, .subus, .tmp3x, .tmp2x, ._, ._ }, |
| | 127081 | .{ ._, .p_w, .sub, .dst0x, .tmp3x, ._, ._ }, |
| | 127082 | } }, |
| | 127083 | }, .{ |
| | 127084 | .required_features = .{ .cmov, null, null, null }, |
| | 127085 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 127086 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 127087 | .patterns = &.{ |
| | 127088 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 127089 | }, |
| | 127090 | .extra_temps = .{ |
| | 127091 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 127092 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| | 127093 | .unused, |
| | 127094 | .unused, |
| | 127095 | .unused, |
| | 127096 | .unused, |
| | 127097 | .unused, |
| | 127098 | .unused, |
| | 127099 | .unused, |
| | 127100 | .unused, |
| | 127101 | .unused, |
| | 127102 | }, |
| | 127103 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 127104 | .clobbers = .{ .eflags = true }, |
| | 127105 | .each = .{ .once = &.{ |
| | 127106 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 127107 | .{ ._, ._, .movsx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 127108 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 127109 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 127110 | .{ ._, ._nl, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 127111 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 127112 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 127113 | } }, |
| | 127114 | }, .{ |
| | 127115 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 127116 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 127117 | .patterns = &.{ |
| | 127118 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 127119 | }, |
| | 127120 | .extra_temps = .{ |
| | 127121 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 127122 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| | 127123 | .unused, |
| | 127124 | .unused, |
| | 127125 | .unused, |
| | 127126 | .unused, |
| | 127127 | .unused, |
| | 127128 | .unused, |
| | 127129 | .unused, |
| | 127130 | .unused, |
| | 127131 | .unused, |
| | 127132 | }, |
| | 127133 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 127134 | .clobbers = .{ .eflags = true }, |
| | 127135 | .each = .{ .once = &.{ |
| | 127136 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 127137 | .{ ._, ._, .movsx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 127138 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 127139 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 127140 | .{ ._, ._l, .j, .@"1f", ._, ._, ._ }, |
| | 127141 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 127142 | .{ .@"1:", ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 127143 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 127144 | } }, |
| | 127145 | }, .{ |
| | 127146 | .required_features = .{ .cmov, null, null, null }, |
| | 127147 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 127148 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 127149 | .patterns = &.{ |
| | 127150 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 127151 | }, |
| | 127152 | .extra_temps = .{ |
| | 127153 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 127154 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 127155 | .unused, |
| | 127156 | .unused, |
| | 127157 | .unused, |
| | 127158 | .unused, |
| | 127159 | .unused, |
| | 127160 | .unused, |
| | 127161 | .unused, |
| | 127162 | .unused, |
| | 127163 | .unused, |
| | 127164 | }, |
| | 127165 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 127166 | .clobbers = .{ .eflags = true }, |
| | 127167 | .each = .{ .once = &.{ |
| | 127168 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 127169 | .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 127170 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 127171 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 127172 | .{ ._, ._nb, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 127173 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 127174 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 127175 | } }, |
| | 127176 | }, .{ |
| | 127177 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 127178 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 127179 | .patterns = &.{ |
| | 127180 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 127181 | }, |
| | 127182 | .extra_temps = .{ |
| | 127183 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 127184 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 127185 | .unused, |
| | 127186 | .unused, |
| | 127187 | .unused, |
| | 127188 | .unused, |
| | 127189 | .unused, |
| | 127190 | .unused, |
| | 127191 | .unused, |
| | 127192 | .unused, |
| | 127193 | .unused, |
| | 127194 | }, |
| | 127195 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 127196 | .clobbers = .{ .eflags = true }, |
| | 127197 | .each = .{ .once = &.{ |
| | 127198 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 127199 | .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 127200 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 127201 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 127202 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, |
| | 127203 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 127204 | .{ .@"1:", ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 127205 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 127206 | } }, |
| | 127207 | }, .{ |
| | 127208 | .required_features = .{ .avx, null, null, null }, |
| | 127209 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127210 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 127211 | .patterns = &.{ |
| | 127212 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127213 | }, |
| | 127214 | .extra_temps = .{ |
| | 127215 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127216 | .unused, |
| | 127217 | .unused, |
| | 127218 | .unused, |
| | 127219 | .unused, |
| | 127220 | .unused, |
| | 127221 | .unused, |
| | 127222 | .unused, |
| | 127223 | .unused, |
| | 127224 | .unused, |
| | 127225 | .unused, |
| | 127226 | }, |
| | 127227 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127228 | .each = .{ .once = &.{ |
| | 127229 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127230 | .{ ._, .vp_d, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 127231 | } }, |
| | 127232 | }, .{ |
| | 127233 | .required_features = .{ .sse4_1, null, null, null }, |
| | 127234 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127235 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 127236 | .patterns = &.{ |
| | 127237 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127238 | }, |
| | 127239 | .extra_temps = .{ |
| | 127240 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127241 | .unused, |
| | 127242 | .unused, |
| | 127243 | .unused, |
| | 127244 | .unused, |
| | 127245 | .unused, |
| | 127246 | .unused, |
| | 127247 | .unused, |
| | 127248 | .unused, |
| | 127249 | .unused, |
| | 127250 | .unused, |
| | 127251 | }, |
| | 127252 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127253 | .each = .{ .once = &.{ |
| | 127254 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127255 | .{ ._, .p_d, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 127256 | } }, |
| | 127257 | }, .{ |
| | 127258 | .required_features = .{ .sse2, null, null, null }, |
| | 127259 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127260 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 127261 | .patterns = &.{ |
| | 127262 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127263 | }, |
| | 127264 | .extra_temps = .{ |
| | 127265 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127266 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127267 | .unused, |
| | 127268 | .unused, |
| | 127269 | .unused, |
| | 127270 | .unused, |
| | 127271 | .unused, |
| | 127272 | .unused, |
| | 127273 | .unused, |
| | 127274 | .unused, |
| | 127275 | .unused, |
| | 127276 | }, |
| | 127277 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127278 | .each = .{ .once = &.{ |
| | 127279 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127280 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 127281 | .{ ._, .p_d, .cmpgt, .tmp1x, .src0x, ._, ._ }, |
| | 127282 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 127283 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 127284 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 127285 | } }, |
| | 127286 | }, .{ |
| | 127287 | .required_features = .{ .avx, null, null, null }, |
| | 127288 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127289 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 127290 | .patterns = &.{ |
| | 127291 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127292 | }, |
| | 127293 | .extra_temps = .{ |
| | 127294 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 127295 | .unused, |
| | 127296 | .unused, |
| | 127297 | .unused, |
| | 127298 | .unused, |
| | 127299 | .unused, |
| | 127300 | .unused, |
| | 127301 | .unused, |
| | 127302 | .unused, |
| | 127303 | .unused, |
| | 127304 | .unused, |
| | 127305 | }, |
| | 127306 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127307 | .each = .{ .once = &.{ |
| | 127308 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127309 | .{ ._, .vp_d, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 127310 | } }, |
| | 127311 | }, .{ |
| | 127312 | .required_features = .{ .sse4_1, null, null, null }, |
| | 127313 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127314 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 127315 | .patterns = &.{ |
| | 127316 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127317 | }, |
| | 127318 | .extra_temps = .{ |
| | 127319 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 127320 | .unused, |
| | 127321 | .unused, |
| | 127322 | .unused, |
| | 127323 | .unused, |
| | 127324 | .unused, |
| | 127325 | .unused, |
| | 127326 | .unused, |
| | 127327 | .unused, |
| | 127328 | .unused, |
| | 127329 | .unused, |
| | 127330 | }, |
| | 127331 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127332 | .each = .{ .once = &.{ |
| | 127333 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127334 | .{ ._, .p_d, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 127335 | } }, |
| | 127336 | }, .{ |
| | 127337 | .required_features = .{ .sse3, null, null, null }, |
| | 127338 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127339 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 127340 | .patterns = &.{ |
| | 127341 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127342 | }, |
| | 127343 | .extra_temps = .{ |
| | 127344 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127345 | .{ .type = .vector_2_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 127346 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127347 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127348 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127349 | .unused, |
| | 127350 | .unused, |
| | 127351 | .unused, |
| | 127352 | .unused, |
| | 127353 | .unused, |
| | 127354 | .unused, |
| | 127355 | }, |
| | 127356 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127357 | .each = .{ .once = &.{ |
| | 127358 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127359 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 127360 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127361 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127362 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 127363 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 127364 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 127365 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 127366 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 127367 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127368 | } }, |
| | 127369 | }, .{ |
| | 127370 | .required_features = .{ .sse2, null, null, null }, |
| | 127371 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127372 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 127373 | .patterns = &.{ |
| | 127374 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127375 | }, |
| | 127376 | .extra_temps = .{ |
| | 127377 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127378 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 127379 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127380 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127381 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127382 | .unused, |
| | 127383 | .unused, |
| | 127384 | .unused, |
| | 127385 | .unused, |
| | 127386 | .unused, |
| | 127387 | .unused, |
| | 127388 | }, |
| | 127389 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127390 | .each = .{ .once = &.{ |
| | 127391 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127392 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 127393 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127394 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127395 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 127396 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 127397 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 127398 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 127399 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 127400 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127401 | } }, |
| | 127402 | }, .{ |
| | 127403 | .required_features = .{ .avx, null, null, null }, |
| | 127404 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127405 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127406 | .patterns = &.{ |
| | 127407 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127408 | }, |
| | 127409 | .extra_temps = .{ |
| | 127410 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127411 | .unused, |
| | 127412 | .unused, |
| | 127413 | .unused, |
| | 127414 | .unused, |
| | 127415 | .unused, |
| | 127416 | .unused, |
| | 127417 | .unused, |
| | 127418 | .unused, |
| | 127419 | .unused, |
| | 127420 | .unused, |
| | 127421 | }, |
| | 127422 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127423 | .each = .{ .once = &.{ |
| | 127424 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127425 | .{ ._, .vp_d, .mins, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 127426 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 127427 | .{ ._, .vp_d, .mins, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 127428 | } }, |
| | 127429 | }, .{ |
| | 127430 | .required_features = .{ .sse4_1, null, null, null }, |
| | 127431 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127432 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127433 | .patterns = &.{ |
| | 127434 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127435 | }, |
| | 127436 | .extra_temps = .{ |
| | 127437 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127438 | .unused, |
| | 127439 | .unused, |
| | 127440 | .unused, |
| | 127441 | .unused, |
| | 127442 | .unused, |
| | 127443 | .unused, |
| | 127444 | .unused, |
| | 127445 | .unused, |
| | 127446 | .unused, |
| | 127447 | .unused, |
| | 127448 | }, |
| | 127449 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127450 | .each = .{ .once = &.{ |
| | 127451 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127452 | .{ ._, .p_d, .mins, .tmp0x, .src0x, ._, ._ }, |
| | 127453 | .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 127454 | .{ ._, .p_d, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 127455 | } }, |
| | 127456 | }, .{ |
| | 127457 | .required_features = .{ .sse2, null, null, null }, |
| | 127458 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127459 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127460 | .patterns = &.{ |
| | 127461 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127462 | }, |
| | 127463 | .extra_temps = .{ |
| | 127464 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127465 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127466 | .unused, |
| | 127467 | .unused, |
| | 127468 | .unused, |
| | 127469 | .unused, |
| | 127470 | .unused, |
| | 127471 | .unused, |
| | 127472 | .unused, |
| | 127473 | .unused, |
| | 127474 | .unused, |
| | 127475 | }, |
| | 127476 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127477 | .each = .{ .once = &.{ |
| | 127478 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127479 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 127480 | .{ ._, .p_d, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 127481 | .{ ._, .p_, .@"and", .tmp0x, .tmp1x, ._, ._ }, |
| | 127482 | .{ ._, .p_, .andn, .tmp1x, .src0x, ._, ._ }, |
| | 127483 | .{ ._, .p_, .@"or", .tmp0x, .tmp1x, ._, ._ }, |
| | 127484 | .{ ._, .p_w, .shufl, .dst0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127485 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 127486 | .{ ._, .p_d, .cmpgt, .tmp1x, .dst0x, ._, ._ }, |
| | 127487 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 127488 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 127489 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 127490 | } }, |
| | 127491 | }, .{ |
| | 127492 | .required_features = .{ .avx, null, null, null }, |
| | 127493 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127494 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127495 | .patterns = &.{ |
| | 127496 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127497 | }, |
| | 127498 | .extra_temps = .{ |
| | 127499 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 127500 | .unused, |
| | 127501 | .unused, |
| | 127502 | .unused, |
| | 127503 | .unused, |
| | 127504 | .unused, |
| | 127505 | .unused, |
| | 127506 | .unused, |
| | 127507 | .unused, |
| | 127508 | .unused, |
| | 127509 | .unused, |
| | 127510 | }, |
| | 127511 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127512 | .each = .{ .once = &.{ |
| | 127513 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127514 | .{ ._, .vp_d, .minu, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 127515 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 127516 | .{ ._, .vp_d, .minu, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 127517 | } }, |
| | 127518 | }, .{ |
| | 127519 | .required_features = .{ .sse4_1, null, null, null }, |
| | 127520 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127521 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127522 | .patterns = &.{ |
| | 127523 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127524 | }, |
| | 127525 | .extra_temps = .{ |
| | 127526 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 127527 | .unused, |
| | 127528 | .unused, |
| | 127529 | .unused, |
| | 127530 | .unused, |
| | 127531 | .unused, |
| | 127532 | .unused, |
| | 127533 | .unused, |
| | 127534 | .unused, |
| | 127535 | .unused, |
| | 127536 | .unused, |
| | 127537 | }, |
| | 127538 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127539 | .each = .{ .once = &.{ |
| | 127540 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127541 | .{ ._, .p_d, .minu, .tmp0x, .src0x, ._, ._ }, |
| | 127542 | .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 127543 | .{ ._, .p_d, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 127544 | } }, |
| | 127545 | }, .{ |
| | 127546 | .required_features = .{ .sse3, null, null, null }, |
| | 127547 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127548 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127549 | .patterns = &.{ |
| | 127550 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127551 | }, |
| | 127552 | .extra_temps = .{ |
| | 127553 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127554 | .{ .type = .vector_2_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 127555 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127556 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127557 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127558 | .unused, |
| | 127559 | .unused, |
| | 127560 | .unused, |
| | 127561 | .unused, |
| | 127562 | .unused, |
| | 127563 | .unused, |
| | 127564 | }, |
| | 127565 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127566 | .each = .{ .once = &.{ |
| | 127567 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127568 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 127569 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127570 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127571 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 127572 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 127573 | .{ ._, .p_, .@"and", .tmp3x, .tmp4x, ._, ._ }, |
| | 127574 | .{ ._, .p_, .andn, .tmp4x, .dst0x, ._, ._ }, |
| | 127575 | .{ ._, .p_, .@"or", .tmp3x, .tmp4x, ._, ._ }, |
| | 127576 | .{ ._, .p_w, .shufl, .dst0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127577 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 127578 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 127579 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 127580 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 127581 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 127582 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127583 | } }, |
| | 127584 | }, .{ |
| | 127585 | .required_features = .{ .sse2, null, null, null }, |
| | 127586 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127587 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127588 | .patterns = &.{ |
| | 127589 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127590 | }, |
| | 127591 | .extra_temps = .{ |
| | 127592 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127593 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 127594 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127595 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127596 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127597 | .unused, |
| | 127598 | .unused, |
| | 127599 | .unused, |
| | 127600 | .unused, |
| | 127601 | .unused, |
| | 127602 | .unused, |
| | 127603 | }, |
| | 127604 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127605 | .each = .{ .once = &.{ |
| | 127606 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127607 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 127608 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127609 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127610 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 127611 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 127612 | .{ ._, .p_, .@"and", .tmp3x, .tmp4x, ._, ._ }, |
| | 127613 | .{ ._, .p_, .andn, .tmp4x, .dst0x, ._, ._ }, |
| | 127614 | .{ ._, .p_, .@"or", .tmp3x, .tmp4x, ._, ._ }, |
| | 127615 | .{ ._, .p_w, .shufl, .dst0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127616 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 127617 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 127618 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 127619 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 127620 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 127621 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127622 | } }, |
| | 127623 | }, .{ |
| | 127624 | .required_features = .{ .avx, null, null, null }, |
| | 127625 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127626 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127627 | .patterns = &.{ |
| | 127628 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127629 | }, |
| | 127630 | .extra_temps = .{ |
| | 127631 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 127632 | .unused, |
| | 127633 | .unused, |
| | 127634 | .unused, |
| | 127635 | .unused, |
| | 127636 | .unused, |
| | 127637 | .unused, |
| | 127638 | .unused, |
| | 127639 | .unused, |
| | 127640 | .unused, |
| | 127641 | .unused, |
| | 127642 | }, |
| | 127643 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127644 | .each = .{ .once = &.{ |
| | 127645 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127646 | .{ ._, .vp_d, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 127647 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127648 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 127649 | } }, |
| | 127650 | }, .{ |
| | 127651 | .required_features = .{ .sse4_1, null, null, null }, |
| | 127652 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127653 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127654 | .patterns = &.{ |
| | 127655 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127656 | }, |
| | 127657 | .extra_temps = .{ |
| | 127658 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127659 | .unused, |
| | 127660 | .unused, |
| | 127661 | .unused, |
| | 127662 | .unused, |
| | 127663 | .unused, |
| | 127664 | .unused, |
| | 127665 | .unused, |
| | 127666 | .unused, |
| | 127667 | .unused, |
| | 127668 | .unused, |
| | 127669 | }, |
| | 127670 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127671 | .each = .{ .once = &.{ |
| | 127672 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127673 | .{ ._, .p_d, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 127674 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127675 | .{ ._, .p_d, .mins, .dst0x, .tmp0x, ._, ._ }, |
| | 127676 | } }, |
| | 127677 | }, .{ |
| | 127678 | .required_features = .{ .sse2, null, null, null }, |
| | 127679 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127680 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127681 | .patterns = &.{ |
| | 127682 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127683 | }, |
| | 127684 | .extra_temps = .{ |
| | 127685 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127686 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127687 | .unused, |
| | 127688 | .unused, |
| | 127689 | .unused, |
| | 127690 | .unused, |
| | 127691 | .unused, |
| | 127692 | .unused, |
| | 127693 | .unused, |
| | 127694 | .unused, |
| | 127695 | .unused, |
| | 127696 | }, |
| | 127697 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127698 | .each = .{ .once = &.{ |
| | 127699 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127700 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 127701 | .{ ._, .p_d, .cmpgt, .tmp1x, .src0x, ._, ._ }, |
| | 127702 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 127703 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 127704 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 127705 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127706 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 127707 | .{ ._, .p_d, .cmpgt, .tmp1x, .dst0x, ._, ._ }, |
| | 127708 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 127709 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 127710 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 127711 | } }, |
| | 127712 | }, .{ |
| | 127713 | .required_features = .{ .avx, null, null, null }, |
| | 127714 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127715 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127716 | .patterns = &.{ |
| | 127717 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127718 | }, |
| | 127719 | .extra_temps = .{ |
| | 127720 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 127721 | .unused, |
| | 127722 | .unused, |
| | 127723 | .unused, |
| | 127724 | .unused, |
| | 127725 | .unused, |
| | 127726 | .unused, |
| | 127727 | .unused, |
| | 127728 | .unused, |
| | 127729 | .unused, |
| | 127730 | .unused, |
| | 127731 | }, |
| | 127732 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127733 | .each = .{ .once = &.{ |
| | 127734 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127735 | .{ ._, .vp_d, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 127736 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127737 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 127738 | } }, |
| | 127739 | }, .{ |
| | 127740 | .required_features = .{ .sse4_1, null, null, null }, |
| | 127741 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127742 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127743 | .patterns = &.{ |
| | 127744 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127745 | }, |
| | 127746 | .extra_temps = .{ |
| | 127747 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 127748 | .unused, |
| | 127749 | .unused, |
| | 127750 | .unused, |
| | 127751 | .unused, |
| | 127752 | .unused, |
| | 127753 | .unused, |
| | 127754 | .unused, |
| | 127755 | .unused, |
| | 127756 | .unused, |
| | 127757 | .unused, |
| | 127758 | }, |
| | 127759 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127760 | .each = .{ .once = &.{ |
| | 127761 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 127762 | .{ ._, .p_d, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 127763 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127764 | .{ ._, .p_d, .minu, .dst0x, .tmp0x, ._, ._ }, |
| | 127765 | } }, |
| | 127766 | }, .{ |
| | 127767 | .required_features = .{ .sse3, null, null, null }, |
| | 127768 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127769 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127770 | .patterns = &.{ |
| | 127771 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127772 | }, |
| | 127773 | .extra_temps = .{ |
| | 127774 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127775 | .{ .type = .vector_2_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 127776 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127777 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127778 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127779 | .unused, |
| | 127780 | .unused, |
| | 127781 | .unused, |
| | 127782 | .unused, |
| | 127783 | .unused, |
| | 127784 | .unused, |
| | 127785 | }, |
| | 127786 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127787 | .each = .{ .once = &.{ |
| | 127788 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127789 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 127790 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127791 | .{ ._, .p_d, .shuf, .tmp3x, .src0x, .ui(0b11_10), ._ }, |
| | 127792 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 127793 | .{ ._, .p_d, .cmpgt, .tmp4x, .src0x, ._, ._ }, |
| | 127794 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 127795 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 127796 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 127797 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127798 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 127799 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 127800 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 127801 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 127802 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 127803 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127804 | } }, |
| | 127805 | }, .{ |
| | 127806 | .required_features = .{ .sse2, null, null, null }, |
| | 127807 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127808 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 127809 | .patterns = &.{ |
| | 127810 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 127811 | }, |
| | 127812 | .extra_temps = .{ |
| | 127813 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127814 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 127815 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127816 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127817 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127818 | .unused, |
| | 127819 | .unused, |
| | 127820 | .unused, |
| | 127821 | .unused, |
| | 127822 | .unused, |
| | 127823 | .unused, |
| | 127824 | }, |
| | 127825 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 127826 | .each = .{ .once = &.{ |
| | 127827 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127828 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 127829 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127830 | .{ ._, .p_d, .shuf, .tmp3x, .src0x, .ui(0b11_10), ._ }, |
| | 127831 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 127832 | .{ ._, .p_d, .cmpgt, .tmp4x, .src0x, ._, ._ }, |
| | 127833 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 127834 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 127835 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 127836 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127837 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 127838 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 127839 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 127840 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 127841 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 127842 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 127843 | } }, |
| | 127844 | }, .{ |
| | 127845 | .required_features = .{ .avx2, null, null, null }, |
| | 127846 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127847 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 127848 | .patterns = &.{ |
| | 127849 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127850 | }, |
| | 127851 | .extra_temps = .{ |
| | 127852 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127853 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 127854 | .{ .type = .vector_8_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 127855 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127856 | .unused, |
| | 127857 | .unused, |
| | 127858 | .unused, |
| | 127859 | .unused, |
| | 127860 | .unused, |
| | 127861 | .unused, |
| | 127862 | .unused, |
| | 127863 | }, |
| | 127864 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127865 | .each = .{ .once = &.{ |
| | 127866 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127867 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 127868 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 127869 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 127870 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 127871 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 127872 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127873 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 127874 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127875 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 127876 | } }, |
| | 127877 | }, .{ |
| | 127878 | .required_features = .{ .avx, null, null, null }, |
| | 127879 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127880 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 127881 | .patterns = &.{ |
| | 127882 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127883 | }, |
| | 127884 | .extra_temps = .{ |
| | 127885 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127886 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 127887 | .{ .type = .vector_8_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 127888 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127889 | .unused, |
| | 127890 | .unused, |
| | 127891 | .unused, |
| | 127892 | .unused, |
| | 127893 | .unused, |
| | 127894 | .unused, |
| | 127895 | .unused, |
| | 127896 | }, |
| | 127897 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127898 | .each = .{ .once = &.{ |
| | 127899 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127900 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 127901 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 127902 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 127903 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 127904 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 127905 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127906 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 127907 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 127908 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 127909 | } }, |
| | 127910 | }, .{ |
| | 127911 | .required_features = .{ .avx2, null, null, null }, |
| | 127912 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127913 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 127914 | .patterns = &.{ |
| | 127915 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127916 | }, |
| | 127917 | .extra_temps = .{ |
| | 127918 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127919 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 127920 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 127921 | .unused, |
| | 127922 | .unused, |
| | 127923 | .unused, |
| | 127924 | .unused, |
| | 127925 | .unused, |
| | 127926 | .unused, |
| | 127927 | .unused, |
| | 127928 | .unused, |
| | 127929 | }, |
| | 127930 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127931 | .each = .{ .once = &.{ |
| | 127932 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127933 | .{ ._, .vp_, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 127934 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 127935 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 127936 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 127937 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 127938 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 127939 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 127940 | } }, |
| | 127941 | }, .{ |
| | 127942 | .required_features = .{ .avx, null, null, null }, |
| | 127943 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 127944 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 127945 | .patterns = &.{ |
| | 127946 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127947 | }, |
| | 127948 | .extra_temps = .{ |
| | 127949 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 127950 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 127951 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 127952 | .unused, |
| | 127953 | .unused, |
| | 127954 | .unused, |
| | 127955 | .unused, |
| | 127956 | .unused, |
| | 127957 | .unused, |
| | 127958 | .unused, |
| | 127959 | .unused, |
| | 127960 | }, |
| | 127961 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127962 | .each = .{ .once = &.{ |
| | 127963 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 127964 | .{ ._, .v_ps, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 127965 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 127966 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 127967 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 127968 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 127969 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 127970 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 127971 | } }, |
| | 127972 | }, .{ |
| | 127973 | .required_features = .{ .avx2, null, null, null }, |
| | 127974 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 127975 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 127976 | .patterns = &.{ |
| | 127977 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 127978 | }, |
| | 127979 | .extra_temps = .{ |
| | 127980 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 127981 | .unused, |
| | 127982 | .unused, |
| | 127983 | .unused, |
| | 127984 | .unused, |
| | 127985 | .unused, |
| | 127986 | .unused, |
| | 127987 | .unused, |
| | 127988 | .unused, |
| | 127989 | .unused, |
| | 127990 | .unused, |
| | 127991 | }, |
| | 127992 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 127993 | .each = .{ .once = &.{ |
| | 127994 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 127995 | .{ ._, .vp_d, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 127996 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127997 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 127998 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 127999 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128000 | } }, |
| | 128001 | }, .{ |
| | 128002 | .required_features = .{ .avx, null, null, null }, |
| | 128003 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128004 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 128005 | .patterns = &.{ |
| | 128006 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 128007 | }, |
| | 128008 | .extra_temps = .{ |
| | 128009 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128010 | .unused, |
| | 128011 | .unused, |
| | 128012 | .unused, |
| | 128013 | .unused, |
| | 128014 | .unused, |
| | 128015 | .unused, |
| | 128016 | .unused, |
| | 128017 | .unused, |
| | 128018 | .unused, |
| | 128019 | .unused, |
| | 128020 | }, |
| | 128021 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 128022 | .each = .{ .once = &.{ |
| | 128023 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 128024 | .{ ._, .vp_d, .mins, .dst0x, .src0x, .tmp0x, ._ }, |
| | 128025 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128026 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128027 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128028 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128029 | } }, |
| | 128030 | }, .{ |
| | 128031 | .required_features = .{ .avx2, null, null, null }, |
| | 128032 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128033 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 128034 | .patterns = &.{ |
| | 128035 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 128036 | }, |
| | 128037 | .extra_temps = .{ |
| | 128038 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 128039 | .unused, |
| | 128040 | .unused, |
| | 128041 | .unused, |
| | 128042 | .unused, |
| | 128043 | .unused, |
| | 128044 | .unused, |
| | 128045 | .unused, |
| | 128046 | .unused, |
| | 128047 | .unused, |
| | 128048 | .unused, |
| | 128049 | }, |
| | 128050 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 128051 | .each = .{ .once = &.{ |
| | 128052 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 128053 | .{ ._, .vp_d, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 128054 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128055 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128056 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128057 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128058 | } }, |
| | 128059 | }, .{ |
| | 128060 | .required_features = .{ .avx, null, null, null }, |
| | 128061 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128062 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 128063 | .patterns = &.{ |
| | 128064 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 128065 | }, |
| | 128066 | .extra_temps = .{ |
| | 128067 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 128068 | .unused, |
| | 128069 | .unused, |
| | 128070 | .unused, |
| | 128071 | .unused, |
| | 128072 | .unused, |
| | 128073 | .unused, |
| | 128074 | .unused, |
| | 128075 | .unused, |
| | 128076 | .unused, |
| | 128077 | .unused, |
| | 128078 | }, |
| | 128079 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 128080 | .each = .{ .once = &.{ |
| | 128081 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 128082 | .{ ._, .vp_d, .minu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 128083 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128084 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128085 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128086 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128087 | } }, |
| | 128088 | }, .{ |
| | 128089 | .required_features = .{ .avx512f, null, null, null }, |
| | 128090 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128091 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 128092 | .patterns = &.{ |
| | 128093 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128094 | }, |
| | 128095 | .extra_temps = .{ |
| | 128096 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 128097 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 128098 | .{ .type = .vector_16_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 128099 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| | 128100 | .unused, |
| | 128101 | .unused, |
| | 128102 | .unused, |
| | 128103 | .unused, |
| | 128104 | .unused, |
| | 128105 | .unused, |
| | 128106 | .unused, |
| | 128107 | }, |
| | 128108 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128109 | .each = .{ .once = &.{ |
| | 128110 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128111 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 128112 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 128113 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 128114 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 128115 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 128116 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 128117 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 128118 | .{ ._, .vp_d, .mins, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 128119 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 128120 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128121 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128122 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128123 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128124 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128125 | } }, |
| | 128126 | }, .{ |
| | 128127 | .required_features = .{ .avx512f, null, null, null }, |
| | 128128 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128129 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 128130 | .patterns = &.{ |
| | 128131 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128132 | }, |
| | 128133 | .extra_temps = .{ |
| | 128134 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 128135 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 128136 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 128137 | .unused, |
| | 128138 | .unused, |
| | 128139 | .unused, |
| | 128140 | .unused, |
| | 128141 | .unused, |
| | 128142 | .unused, |
| | 128143 | .unused, |
| | 128144 | .unused, |
| | 128145 | }, |
| | 128146 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128147 | .each = .{ .once = &.{ |
| | 128148 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128149 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 128150 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 128151 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 128152 | .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 128153 | .{ ._, .vp_d, .minu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 128154 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 128155 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128156 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128157 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128158 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128159 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128160 | } }, |
| | 128161 | }, .{ |
| | 128162 | .required_features = .{ .avx512f, null, null, null }, |
| | 128163 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128164 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 128165 | .patterns = &.{ |
| | 128166 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128167 | }, |
| | 128168 | .extra_temps = .{ |
| | 128169 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128170 | .unused, |
| | 128171 | .unused, |
| | 128172 | .unused, |
| | 128173 | .unused, |
| | 128174 | .unused, |
| | 128175 | .unused, |
| | 128176 | .unused, |
| | 128177 | .unused, |
| | 128178 | .unused, |
| | 128179 | .unused, |
| | 128180 | }, |
| | 128181 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128182 | .each = .{ .once = &.{ |
| | 128183 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 128184 | .{ ._, .vp_d, .mins, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 128185 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 128186 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128187 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128188 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128189 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128190 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128191 | } }, |
| | 128192 | }, .{ |
| | 128193 | .required_features = .{ .avx512f, null, null, null }, |
| | 128194 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128195 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 128196 | .patterns = &.{ |
| | 128197 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128198 | }, |
| | 128199 | .extra_temps = .{ |
| | 128200 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 128201 | .unused, |
| | 128202 | .unused, |
| | 128203 | .unused, |
| | 128204 | .unused, |
| | 128205 | .unused, |
| | 128206 | .unused, |
| | 128207 | .unused, |
| | 128208 | .unused, |
| | 128209 | .unused, |
| | 128210 | .unused, |
| | 128211 | }, |
| | 128212 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128213 | .each = .{ .once = &.{ |
| | 128214 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 128215 | .{ ._, .vp_d, .minu, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 128216 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 128217 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128218 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128219 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128220 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 128221 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 128222 | } }, |
| | 128223 | }, .{ |
| | 128224 | .required_features = .{ .avx2, null, null, null }, |
| | 128225 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128226 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 128227 | .patterns = &.{ |
| | 128228 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128229 | }, |
| | 128230 | .extra_temps = .{ |
| | 128231 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128232 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128233 | .unused, |
| | 128234 | .unused, |
| | 128235 | .unused, |
| | 128236 | .unused, |
| | 128237 | .unused, |
| | 128238 | .unused, |
| | 128239 | .unused, |
| | 128240 | .unused, |
| | 128241 | .unused, |
| | 128242 | }, |
| | 128243 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128244 | .clobbers = .{ .eflags = true }, |
| | 128245 | .each = .{ .once = &.{ |
| | 128246 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 128247 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 128248 | .{ .@"0:", .vp_d, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 128249 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 128250 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128251 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 128252 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128253 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128254 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128255 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128256 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128257 | } }, |
| | 128258 | }, .{ |
| | 128259 | .required_features = .{ .avx, null, null, null }, |
| | 128260 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128261 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128262 | .patterns = &.{ |
| | 128263 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128264 | }, |
| | 128265 | .extra_temps = .{ |
| | 128266 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128267 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128268 | .unused, |
| | 128269 | .unused, |
| | 128270 | .unused, |
| | 128271 | .unused, |
| | 128272 | .unused, |
| | 128273 | .unused, |
| | 128274 | .unused, |
| | 128275 | .unused, |
| | 128276 | .unused, |
| | 128277 | }, |
| | 128278 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128279 | .clobbers = .{ .eflags = true }, |
| | 128280 | .each = .{ .once = &.{ |
| | 128281 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 128282 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 128283 | .{ .@"0:", .vp_d, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 128284 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128285 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128286 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128287 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128288 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128289 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128290 | } }, |
| | 128291 | }, .{ |
| | 128292 | .required_features = .{ .sse4_1, null, null, null }, |
| | 128293 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128294 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128295 | .patterns = &.{ |
| | 128296 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128297 | }, |
| | 128298 | .extra_temps = .{ |
| | 128299 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128300 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128301 | .unused, |
| | 128302 | .unused, |
| | 128303 | .unused, |
| | 128304 | .unused, |
| | 128305 | .unused, |
| | 128306 | .unused, |
| | 128307 | .unused, |
| | 128308 | .unused, |
| | 128309 | .unused, |
| | 128310 | }, |
| | 128311 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128312 | .clobbers = .{ .eflags = true }, |
| | 128313 | .each = .{ .once = &.{ |
| | 128314 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 128315 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 128316 | .{ .@"0:", .p_d, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 128317 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128318 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128319 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128320 | .{ ._, .p_d, .mins, .dst0x, .tmp1x, ._, ._ }, |
| | 128321 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128322 | .{ ._, .p_d, .mins, .dst0x, .tmp1x, ._, ._ }, |
| | 128323 | } }, |
| | 128324 | }, .{ |
| | 128325 | .required_features = .{ .sse2, null, null, null }, |
| | 128326 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128327 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128328 | .patterns = &.{ |
| | 128329 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128330 | }, |
| | 128331 | .extra_temps = .{ |
| | 128332 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128333 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128334 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128335 | .unused, |
| | 128336 | .unused, |
| | 128337 | .unused, |
| | 128338 | .unused, |
| | 128339 | .unused, |
| | 128340 | .unused, |
| | 128341 | .unused, |
| | 128342 | .unused, |
| | 128343 | }, |
| | 128344 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128345 | .clobbers = .{ .eflags = true }, |
| | 128346 | .each = .{ .once = &.{ |
| | 128347 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 128348 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 128349 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 128350 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 128351 | .{ ._, .p_d, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 128352 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 128353 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 128354 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 128355 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128356 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128357 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128358 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 128359 | .{ ._, .p_d, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 128360 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 128361 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 128362 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 128363 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128364 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 128365 | .{ ._, .p_d, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 128366 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 128367 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 128368 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 128369 | } }, |
| | 128370 | }, .{ |
| | 128371 | .required_features = .{ .avx2, null, null, null }, |
| | 128372 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128373 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 128374 | .patterns = &.{ |
| | 128375 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128376 | }, |
| | 128377 | .extra_temps = .{ |
| | 128378 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128379 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 128380 | .unused, |
| | 128381 | .unused, |
| | 128382 | .unused, |
| | 128383 | .unused, |
| | 128384 | .unused, |
| | 128385 | .unused, |
| | 128386 | .unused, |
| | 128387 | .unused, |
| | 128388 | .unused, |
| | 128389 | }, |
| | 128390 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128391 | .clobbers = .{ .eflags = true }, |
| | 128392 | .each = .{ .once = &.{ |
| | 128393 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 128394 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 128395 | .{ .@"0:", .vp_d, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 128396 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 128397 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128398 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 128399 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128400 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128401 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128402 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128403 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128404 | } }, |
| | 128405 | }, .{ |
| | 128406 | .required_features = .{ .avx, null, null, null }, |
| | 128407 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128408 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128409 | .patterns = &.{ |
| | 128410 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128411 | }, |
| | 128412 | .extra_temps = .{ |
| | 128413 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128414 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 128415 | .unused, |
| | 128416 | .unused, |
| | 128417 | .unused, |
| | 128418 | .unused, |
| | 128419 | .unused, |
| | 128420 | .unused, |
| | 128421 | .unused, |
| | 128422 | .unused, |
| | 128423 | .unused, |
| | 128424 | }, |
| | 128425 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128426 | .clobbers = .{ .eflags = true }, |
| | 128427 | .each = .{ .once = &.{ |
| | 128428 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 128429 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 128430 | .{ .@"0:", .vp_d, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 128431 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128432 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128433 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128434 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128435 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128436 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 128437 | } }, |
| | 128438 | }, .{ |
| | 128439 | .required_features = .{ .sse4_1, null, null, null }, |
| | 128440 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128441 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128442 | .patterns = &.{ |
| | 128443 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128444 | }, |
| | 128445 | .extra_temps = .{ |
| | 128446 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128447 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 128448 | .unused, |
| | 128449 | .unused, |
| | 128450 | .unused, |
| | 128451 | .unused, |
| | 128452 | .unused, |
| | 128453 | .unused, |
| | 128454 | .unused, |
| | 128455 | .unused, |
| | 128456 | .unused, |
| | 128457 | }, |
| | 128458 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128459 | .clobbers = .{ .eflags = true }, |
| | 128460 | .each = .{ .once = &.{ |
| | 128461 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 128462 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 128463 | .{ .@"0:", .p_d, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 128464 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128465 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128466 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128467 | .{ ._, .p_d, .minu, .dst0x, .tmp1x, ._, ._ }, |
| | 128468 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 128469 | .{ ._, .p_d, .minu, .dst0x, .tmp1x, ._, ._ }, |
| | 128470 | } }, |
| | 128471 | }, .{ |
| | 128472 | .required_features = .{ .sse3, null, null, null }, |
| | 128473 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128474 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128475 | .patterns = &.{ |
| | 128476 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128477 | }, |
| | 128478 | .extra_temps = .{ |
| | 128479 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128480 | .{ .type = .vector_2_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 128481 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128482 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128483 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128484 | .unused, |
| | 128485 | .unused, |
| | 128486 | .unused, |
| | 128487 | .unused, |
| | 128488 | .unused, |
| | 128489 | .unused, |
| | 128490 | }, |
| | 128491 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128492 | .clobbers = .{ .eflags = true }, |
| | 128493 | .each = .{ .once = &.{ |
| | 128494 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128495 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 128496 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 128497 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 128498 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 128499 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 128500 | .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ }, |
| | 128501 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 128502 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 128503 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 128504 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 128505 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 128506 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128507 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128508 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128509 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 128510 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 128511 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 128512 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 128513 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 128514 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128515 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 128516 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 128517 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 128518 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 128519 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 128520 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 128521 | } }, |
| | 128522 | }, .{ |
| | 128523 | .required_features = .{ .sse2, null, null, null }, |
| | 128524 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128525 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128526 | .patterns = &.{ |
| | 128527 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128528 | }, |
| | 128529 | .extra_temps = .{ |
| | 128530 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128531 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 128532 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128533 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128534 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128535 | .unused, |
| | 128536 | .unused, |
| | 128537 | .unused, |
| | 128538 | .unused, |
| | 128539 | .unused, |
| | 128540 | .unused, |
| | 128541 | }, |
| | 128542 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128543 | .clobbers = .{ .eflags = true }, |
| | 128544 | .each = .{ .once = &.{ |
| | 128545 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128546 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 128547 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 128548 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 128549 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 128550 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 128551 | .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ }, |
| | 128552 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 128553 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 128554 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 128555 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 128556 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 128557 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128558 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128559 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128560 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 128561 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 128562 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 128563 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 128564 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 128565 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128566 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 128567 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 128568 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 128569 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 128570 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 128571 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 128572 | } }, |
| | 128573 | }, .{ |
| | 128574 | .required_features = .{ .avx512f, null, null, null }, |
| | 128575 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128576 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 128577 | .patterns = &.{ |
| | 128578 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128579 | }, |
| | 128580 | .extra_temps = .{ |
| | 128581 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128582 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 128583 | .{ .type = .vector_16_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 128584 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| | 128585 | .unused, |
| | 128586 | .unused, |
| | 128587 | .unused, |
| | 128588 | .unused, |
| | 128589 | .unused, |
| | 128590 | .unused, |
| | 128591 | .unused, |
| | 128592 | }, |
| | 128593 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128594 | .clobbers = .{ .eflags = true }, |
| | 128595 | .each = .{ .once = &.{ |
| | 128596 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128597 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 128598 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 128599 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 128600 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 128601 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 128602 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 128603 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 128604 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 128605 | .{ .@"0:", .vp_d, .mins, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 128606 | .{ ._, .vp_d, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 128607 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 128608 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128609 | .{ ._, .vp_d, .mins, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 128610 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 128611 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128612 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128613 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128614 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128615 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128616 | } }, |
| | 128617 | }, .{ |
| | 128618 | .required_features = .{ .avx2, null, null, null }, |
| | 128619 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128620 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 128621 | .patterns = &.{ |
| | 128622 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128623 | }, |
| | 128624 | .extra_temps = .{ |
| | 128625 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128626 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 128627 | .{ .type = .vector_16_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 128628 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| | 128629 | .unused, |
| | 128630 | .unused, |
| | 128631 | .unused, |
| | 128632 | .unused, |
| | 128633 | .unused, |
| | 128634 | .unused, |
| | 128635 | .unused, |
| | 128636 | }, |
| | 128637 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128638 | .clobbers = .{ .eflags = true }, |
| | 128639 | .each = .{ .once = &.{ |
| | 128640 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128641 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 128642 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 128643 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 128644 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 128645 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 128646 | .{ .@"0:", .vp_d, .mins, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 128647 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 128648 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128649 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 128650 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128651 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128652 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128653 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128654 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128655 | } }, |
| | 128656 | }, .{ |
| | 128657 | .required_features = .{ .avx, null, null, null }, |
| | 128658 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128659 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 128660 | .patterns = &.{ |
| | 128661 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128662 | }, |
| | 128663 | .extra_temps = .{ |
| | 128664 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128665 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 128666 | .{ .type = .vector_8_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 128667 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128668 | .unused, |
| | 128669 | .unused, |
| | 128670 | .unused, |
| | 128671 | .unused, |
| | 128672 | .unused, |
| | 128673 | .unused, |
| | 128674 | .unused, |
| | 128675 | }, |
| | 128676 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128677 | .clobbers = .{ .eflags = true }, |
| | 128678 | .each = .{ .once = &.{ |
| | 128679 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128680 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 128681 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 128682 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 128683 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 128684 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 128685 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 128686 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128687 | .{ .@"0:", .vp_d, .mins, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 128688 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128689 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128690 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128691 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128692 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128693 | .{ ._, .vp_d, .mins, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 128694 | } }, |
| | 128695 | }, .{ |
| | 128696 | .required_features = .{ .sse4_1, null, null, null }, |
| | 128697 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128698 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128699 | .patterns = &.{ |
| | 128700 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128701 | }, |
| | 128702 | .extra_temps = .{ |
| | 128703 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128704 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 128705 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 128706 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128707 | .unused, |
| | 128708 | .unused, |
| | 128709 | .unused, |
| | 128710 | .unused, |
| | 128711 | .unused, |
| | 128712 | .unused, |
| | 128713 | .unused, |
| | 128714 | }, |
| | 128715 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128716 | .clobbers = .{ .eflags = true }, |
| | 128717 | .each = .{ .once = &.{ |
| | 128718 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128719 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 128720 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 128721 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 128722 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 128723 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 128724 | .{ .@"0:", .p_d, .mins, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 128725 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128726 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128727 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128728 | .{ ._, .p_d, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 128729 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128730 | .{ ._, .p_d, .mins, .dst0x, .tmp3x, ._, ._ }, |
| | 128731 | } }, |
| | 128732 | }, .{ |
| | 128733 | .required_features = .{ .sse2, null, null, null }, |
| | 128734 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 128735 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128736 | .patterns = &.{ |
| | 128737 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128738 | }, |
| | 128739 | .extra_temps = .{ |
| | 128740 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128741 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 128742 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 128743 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128744 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128745 | .unused, |
| | 128746 | .unused, |
| | 128747 | .unused, |
| | 128748 | .unused, |
| | 128749 | .unused, |
| | 128750 | .unused, |
| | 128751 | }, |
| | 128752 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128753 | .clobbers = .{ .eflags = true }, |
| | 128754 | .each = .{ .once = &.{ |
| | 128755 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128756 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 128757 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 128758 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 128759 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 128760 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 128761 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 128762 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 128763 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 128764 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 128765 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 128766 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 128767 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128768 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128769 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128770 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 128771 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 128772 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 128773 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 128774 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 128775 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 128776 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 128777 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 128778 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 128779 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 128780 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 128781 | } }, |
| | 128782 | }, .{ |
| | 128783 | .required_features = .{ .avx512f, null, null, null }, |
| | 128784 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128785 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 128786 | .patterns = &.{ |
| | 128787 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128788 | }, |
| | 128789 | .extra_temps = .{ |
| | 128790 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128791 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 128792 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 128793 | .unused, |
| | 128794 | .unused, |
| | 128795 | .unused, |
| | 128796 | .unused, |
| | 128797 | .unused, |
| | 128798 | .unused, |
| | 128799 | .unused, |
| | 128800 | .unused, |
| | 128801 | }, |
| | 128802 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128803 | .clobbers = .{ .eflags = true }, |
| | 128804 | .each = .{ .once = &.{ |
| | 128805 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128806 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 128807 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 128808 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 128809 | .{ ._, .vp_, .@"or", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 128810 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 128811 | .{ .@"0:", .vp_d, .minu, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 128812 | .{ ._, .vp_d, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 128813 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 128814 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128815 | .{ ._, .vp_d, .minu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 128816 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 128817 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128818 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128819 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128820 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128821 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128822 | } }, |
| | 128823 | }, .{ |
| | 128824 | .required_features = .{ .avx2, null, null, null }, |
| | 128825 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128826 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 128827 | .patterns = &.{ |
| | 128828 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128829 | }, |
| | 128830 | .extra_temps = .{ |
| | 128831 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128832 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 128833 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 128834 | .unused, |
| | 128835 | .unused, |
| | 128836 | .unused, |
| | 128837 | .unused, |
| | 128838 | .unused, |
| | 128839 | .unused, |
| | 128840 | .unused, |
| | 128841 | .unused, |
| | 128842 | }, |
| | 128843 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128844 | .clobbers = .{ .eflags = true }, |
| | 128845 | .each = .{ .once = &.{ |
| | 128846 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128847 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 128848 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 128849 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 128850 | .{ .@"0:", .vp_d, .minu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 128851 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 128852 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128853 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 128854 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128855 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128856 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128857 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128858 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128859 | } }, |
| | 128860 | }, .{ |
| | 128861 | .required_features = .{ .avx, null, null, null }, |
| | 128862 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128863 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 128864 | .patterns = &.{ |
| | 128865 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128866 | }, |
| | 128867 | .extra_temps = .{ |
| | 128868 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128869 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 128870 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 128871 | .unused, |
| | 128872 | .unused, |
| | 128873 | .unused, |
| | 128874 | .unused, |
| | 128875 | .unused, |
| | 128876 | .unused, |
| | 128877 | .unused, |
| | 128878 | .unused, |
| | 128879 | }, |
| | 128880 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128881 | .clobbers = .{ .eflags = true }, |
| | 128882 | .each = .{ .once = &.{ |
| | 128883 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128884 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 128885 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 128886 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 128887 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 128888 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128889 | .{ .@"0:", .vp_d, .minu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 128890 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128891 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128892 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128893 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128894 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128895 | .{ ._, .vp_d, .minu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 128896 | } }, |
| | 128897 | }, .{ |
| | 128898 | .required_features = .{ .sse4_1, null, null, null }, |
| | 128899 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128900 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128901 | .patterns = &.{ |
| | 128902 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128903 | }, |
| | 128904 | .extra_temps = .{ |
| | 128905 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128906 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 128907 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 128908 | .unused, |
| | 128909 | .unused, |
| | 128910 | .unused, |
| | 128911 | .unused, |
| | 128912 | .unused, |
| | 128913 | .unused, |
| | 128914 | .unused, |
| | 128915 | .unused, |
| | 128916 | }, |
| | 128917 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128918 | .clobbers = .{ .eflags = true }, |
| | 128919 | .each = .{ .once = &.{ |
| | 128920 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128921 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 128922 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 128923 | .{ ._, .p_, .@"or", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 128924 | .{ .@"0:", .p_d, .minu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 128925 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128926 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128927 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128928 | .{ ._, .p_d, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 128929 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 128930 | .{ ._, .p_d, .minu, .dst0x, .tmp2x, ._, ._ }, |
| | 128931 | } }, |
| | 128932 | }, .{ |
| | 128933 | .required_features = .{ .sse3, null, null, null }, |
| | 128934 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128935 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128936 | .patterns = &.{ |
| | 128937 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128938 | }, |
| | 128939 | .extra_temps = .{ |
| | 128940 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128941 | .{ .type = .vector_2_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 128942 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128943 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 128944 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128945 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128946 | .unused, |
| | 128947 | .unused, |
| | 128948 | .unused, |
| | 128949 | .unused, |
| | 128950 | .unused, |
| | 128951 | }, |
| | 128952 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 128953 | .clobbers = .{ .eflags = true }, |
| | 128954 | .each = .{ .once = &.{ |
| | 128955 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 128956 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 128957 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 128958 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 128959 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 128960 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 128961 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 128962 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 128963 | .{ ._, .p_, .xor, .tmp4x, .tmp2x, ._, ._ }, |
| | 128964 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| | 128965 | .{ ._, .p_d, .cmpgt, .tmp5x, .dst0x, ._, ._ }, |
| | 128966 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 128967 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 128968 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 128969 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 128970 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 128971 | .{ ._, .p_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 128972 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| | 128973 | .{ ._, .p_d, .cmpgt, .tmp5x, .dst0x, ._, ._ }, |
| | 128974 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 128975 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 128976 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 128977 | .{ ._, .p_w, .shufl, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 128978 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| | 128979 | .{ ._, .p_d, .cmpgt, .tmp5x, .dst0x, ._, ._ }, |
| | 128980 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 128981 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 128982 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 128983 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 128984 | } }, |
| | 128985 | }, .{ |
| | 128986 | .required_features = .{ .sse2, null, null, null }, |
| | 128987 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 128988 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 128989 | .patterns = &.{ |
| | 128990 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 128991 | }, |
| | 128992 | .extra_temps = .{ |
| | 128993 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 128994 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 128995 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128996 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 128997 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128998 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 128999 | .unused, |
| | 129000 | .unused, |
| | 129001 | .unused, |
| | 129002 | .unused, |
| | 129003 | .unused, |
| | 129004 | }, |
| | 129005 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129006 | .clobbers = .{ .eflags = true }, |
| | 129007 | .each = .{ .once = &.{ |
| | 129008 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129009 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 129010 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 129011 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 129012 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 129013 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 129014 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 129015 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 129016 | .{ ._, .p_, .xor, .tmp4x, .tmp2x, ._, ._ }, |
| | 129017 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| | 129018 | .{ ._, .p_d, .cmpgt, .tmp5x, .dst0x, ._, ._ }, |
| | 129019 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 129020 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 129021 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 129022 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 129023 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129024 | .{ ._, .p_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 129025 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| | 129026 | .{ ._, .p_d, .cmpgt, .tmp5x, .dst0x, ._, ._ }, |
| | 129027 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 129028 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 129029 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 129030 | .{ ._, .p_w, .shufl, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 129031 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| | 129032 | .{ ._, .p_d, .cmpgt, .tmp5x, .dst0x, ._, ._ }, |
| | 129033 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 129034 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 129035 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 129036 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 129037 | } }, |
| | 129038 | }, .{ |
| | 129039 | .required_features = .{ .cmov, null, null, null }, |
| | 129040 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 129041 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 129042 | .patterns = &.{ |
| | 129043 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129044 | }, |
| | 129045 | .extra_temps = .{ |
| | 129046 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129047 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| | 129048 | .unused, |
| | 129049 | .unused, |
| | 129050 | .unused, |
| | 129051 | .unused, |
| | 129052 | .unused, |
| | 129053 | .unused, |
| | 129054 | .unused, |
| | 129055 | .unused, |
| | 129056 | .unused, |
| | 129057 | }, |
| | 129058 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 129059 | .clobbers = .{ .eflags = true }, |
| | 129060 | .each = .{ .once = &.{ |
| | 129061 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 129062 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 129063 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 129064 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 129065 | .{ ._, ._nl, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 129066 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 129067 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129068 | } }, |
| | 129069 | }, .{ |
| | 129070 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 129071 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 129072 | .patterns = &.{ |
| | 129073 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129074 | }, |
| | 129075 | .extra_temps = .{ |
| | 129076 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129077 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| | 129078 | .unused, |
| | 129079 | .unused, |
| | 129080 | .unused, |
| | 129081 | .unused, |
| | 129082 | .unused, |
| | 129083 | .unused, |
| | 129084 | .unused, |
| | 129085 | .unused, |
| | 129086 | .unused, |
| | 129087 | }, |
| | 129088 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 129089 | .clobbers = .{ .eflags = true }, |
| | 129090 | .each = .{ .once = &.{ |
| | 129091 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 129092 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 129093 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 129094 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 129095 | .{ ._, ._l, .j, .@"1f", ._, ._, ._ }, |
| | 129096 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 129097 | .{ .@"1:", ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 129098 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129099 | } }, |
| | 129100 | }, .{ |
| | 129101 | .required_features = .{ .cmov, null, null, null }, |
| | 129102 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 129103 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 129104 | .patterns = &.{ |
| | 129105 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129106 | }, |
| | 129107 | .extra_temps = .{ |
| | 129108 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129109 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129110 | .unused, |
| | 129111 | .unused, |
| | 129112 | .unused, |
| | 129113 | .unused, |
| | 129114 | .unused, |
| | 129115 | .unused, |
| | 129116 | .unused, |
| | 129117 | .unused, |
| | 129118 | .unused, |
| | 129119 | }, |
| | 129120 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 129121 | .clobbers = .{ .eflags = true }, |
| | 129122 | .each = .{ .once = &.{ |
| | 129123 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 129124 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 129125 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 129126 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 129127 | .{ ._, ._nb, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 129128 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 129129 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129130 | } }, |
| | 129131 | }, .{ |
| | 129132 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 129133 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 129134 | .patterns = &.{ |
| | 129135 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129136 | }, |
| | 129137 | .extra_temps = .{ |
| | 129138 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129139 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129140 | .unused, |
| | 129141 | .unused, |
| | 129142 | .unused, |
| | 129143 | .unused, |
| | 129144 | .unused, |
| | 129145 | .unused, |
| | 129146 | .unused, |
| | 129147 | .unused, |
| | 129148 | .unused, |
| | 129149 | }, |
| | 129150 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 129151 | .clobbers = .{ .eflags = true }, |
| | 129152 | .each = .{ .once = &.{ |
| | 129153 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 129154 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 129155 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 129156 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 129157 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, |
| | 129158 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 129159 | .{ .@"1:", ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 129160 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129161 | } }, |
| | 129162 | }, .{ |
| | 129163 | .required_features = .{ .avx, null, null, null }, |
| | 129164 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129165 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 129166 | .patterns = &.{ |
| | 129167 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129168 | }, |
| | 129169 | .extra_temps = .{ |
| | 129170 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129171 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129172 | .unused, |
| | 129173 | .unused, |
| | 129174 | .unused, |
| | 129175 | .unused, |
| | 129176 | .unused, |
| | 129177 | .unused, |
| | 129178 | .unused, |
| | 129179 | .unused, |
| | 129180 | .unused, |
| | 129181 | }, |
| | 129182 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129183 | .each = .{ .once = &.{ |
| | 129184 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 129185 | .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 129186 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .tmp0x, .tmp1x }, |
| | 129187 | } }, |
| | 129188 | }, .{ |
| | 129189 | .required_features = .{ .sse4_2, null, null, null }, |
| | 129190 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129191 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 129192 | .patterns = &.{ |
| | 129193 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 129194 | }, |
| | 129195 | .extra_temps = .{ |
| | 129196 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129197 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 129198 | .unused, |
| | 129199 | .unused, |
| | 129200 | .unused, |
| | 129201 | .unused, |
| | 129202 | .unused, |
| | 129203 | .unused, |
| | 129204 | .unused, |
| | 129205 | .unused, |
| | 129206 | .unused, |
| | 129207 | }, |
| | 129208 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 129209 | .each = .{ .once = &.{ |
| | 129210 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 129211 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 129212 | .{ ._, .p_q, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 129213 | .{ ._, .p_b, .blendv, .dst0x, .tmp0x, .tmp1x, ._ }, |
| | 129214 | } }, |
| | 129215 | }, .{ |
| | 129216 | .required_features = .{ .avx2, null, null, null }, |
| | 129217 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129218 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 129219 | .patterns = &.{ |
| | 129220 | .{ .src = .{ .mem, .none, .none } }, |
| | 129221 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129222 | }, |
| | 129223 | .extra_temps = .{ |
| | 129224 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129225 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129226 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129227 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129228 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129229 | .unused, |
| | 129230 | .unused, |
| | 129231 | .unused, |
| | 129232 | .unused, |
| | 129233 | .unused, |
| | 129234 | .unused, |
| | 129235 | }, |
| | 129236 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129237 | .each = .{ .once = &.{ |
| | 129238 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129239 | .{ ._, .vp_q, .broadcast, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 129240 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, |
| | 129241 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129242 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129243 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129244 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129245 | } }, |
| | 129246 | }, .{ |
| | 129247 | .required_features = .{ .avx, null, null, null }, |
| | 129248 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129249 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 129250 | .patterns = &.{ |
| | 129251 | .{ .src = .{ .mem, .none, .none } }, |
| | 129252 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129253 | }, |
| | 129254 | .extra_temps = .{ |
| | 129255 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129256 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129257 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129258 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129259 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129260 | .unused, |
| | 129261 | .unused, |
| | 129262 | .unused, |
| | 129263 | .unused, |
| | 129264 | .unused, |
| | 129265 | .unused, |
| | 129266 | }, |
| | 129267 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129268 | .each = .{ .once = &.{ |
| | 129269 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129270 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 129271 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, |
| | 129272 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129273 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129274 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129275 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129276 | } }, |
| | 129277 | }, .{ |
| | 129278 | .required_features = .{ .sse4_2, null, null, null }, |
| | 129279 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129280 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 129281 | .patterns = &.{ |
| | 129282 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 129283 | }, |
| | 129284 | .extra_temps = .{ |
| | 129285 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129286 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129287 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129288 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129289 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 129290 | .unused, |
| | 129291 | .unused, |
| | 129292 | .unused, |
| | 129293 | .unused, |
| | 129294 | .unused, |
| | 129295 | .unused, |
| | 129296 | }, |
| | 129297 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 129298 | .each = .{ .once = &.{ |
| | 129299 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129300 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 129301 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 129302 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129303 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 129304 | .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 129305 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 129306 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 129307 | } }, |
| | 129308 | }, .{ |
| | 129309 | .required_features = .{ .avx2, null, null, null }, |
| | 129310 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129311 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129312 | .patterns = &.{ |
| | 129313 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129314 | }, |
| | 129315 | .extra_temps = .{ |
| | 129316 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129317 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129318 | .unused, |
| | 129319 | .unused, |
| | 129320 | .unused, |
| | 129321 | .unused, |
| | 129322 | .unused, |
| | 129323 | .unused, |
| | 129324 | .unused, |
| | 129325 | .unused, |
| | 129326 | .unused, |
| | 129327 | }, |
| | 129328 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129329 | .each = .{ .once = &.{ |
| | 129330 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 129331 | .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 129332 | .{ ._, .vp_b, .blendv, .tmp0x, .src0x, .tmp0x, .tmp1x }, |
| | 129333 | .{ ._, .v_i128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 129334 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 129335 | .{ ._, .vp_b, .blendv, .dst0x, .tmp0x, .dst0x, .tmp1x }, |
| | 129336 | } }, |
| | 129337 | }, .{ |
| | 129338 | .required_features = .{ .avx, null, null, null }, |
| | 129339 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129340 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129341 | .patterns = &.{ |
| | 129342 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129343 | }, |
| | 129344 | .extra_temps = .{ |
| | 129345 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129346 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129347 | .unused, |
| | 129348 | .unused, |
| | 129349 | .unused, |
| | 129350 | .unused, |
| | 129351 | .unused, |
| | 129352 | .unused, |
| | 129353 | .unused, |
| | 129354 | .unused, |
| | 129355 | .unused, |
| | 129356 | }, |
| | 129357 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129358 | .each = .{ .once = &.{ |
| | 129359 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 129360 | .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 129361 | .{ ._, .vp_b, .blendv, .tmp0x, .src0x, .tmp0x, .tmp1x }, |
| | 129362 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 129363 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 129364 | .{ ._, .vp_b, .blendv, .dst0x, .tmp0x, .dst0x, .tmp1x }, |
| | 129365 | } }, |
| | 129366 | }, .{ |
| | 129367 | .required_features = .{ .avx2, null, null, null }, |
| | 129368 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129369 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129370 | .patterns = &.{ |
| | 129371 | .{ .src = .{ .mem, .none, .none } }, |
| | 129372 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129373 | }, |
| | 129374 | .extra_temps = .{ |
| | 129375 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129376 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129377 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129378 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129379 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129380 | .unused, |
| | 129381 | .unused, |
| | 129382 | .unused, |
| | 129383 | .unused, |
| | 129384 | .unused, |
| | 129385 | .unused, |
| | 129386 | }, |
| | 129387 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129388 | .each = .{ .once = &.{ |
| | 129389 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129390 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 129391 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 129392 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129393 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129394 | .{ ._, .vp_b, .blendv, .tmp3x, .dst0x, .tmp3x, .tmp4x }, |
| | 129395 | .{ ._, .v_i128, .extract, .dst0x, .dst0y, .ui(1), ._ }, |
| | 129396 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 129397 | .{ ._, .vp_b, .blendv, .dst0x, .tmp3x, .dst0x, .tmp4x }, |
| | 129398 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129399 | } }, |
| | 129400 | }, .{ |
| | 129401 | .required_features = .{ .avx, null, null, null }, |
| | 129402 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129403 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129404 | .patterns = &.{ |
| | 129405 | .{ .src = .{ .mem, .none, .none } }, |
| | 129406 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129407 | }, |
| | 129408 | .extra_temps = .{ |
| | 129409 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129410 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129411 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129412 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129413 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129414 | .unused, |
| | 129415 | .unused, |
| | 129416 | .unused, |
| | 129417 | .unused, |
| | 129418 | .unused, |
| | 129419 | .unused, |
| | 129420 | }, |
| | 129421 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129422 | .each = .{ .once = &.{ |
| | 129423 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129424 | .{ ._, .v_sd, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 129425 | .{ ._, .v_pd, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 129426 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129427 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129428 | .{ ._, .vp_b, .blendv, .tmp3x, .dst0x, .tmp3x, .tmp4x }, |
| | 129429 | .{ ._, .v_f128, .extract, .dst0x, .dst0y, .ui(1), ._ }, |
| | 129430 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 129431 | .{ ._, .vp_b, .blendv, .dst0x, .tmp3x, .dst0x, .tmp4x }, |
| | 129432 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129433 | } }, |
| | 129434 | }, .{ |
| | 129435 | .required_features = .{ .avx2, null, null, null }, |
| | 129436 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129437 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129438 | .patterns = &.{ |
| | 129439 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129440 | }, |
| | 129441 | .extra_temps = .{ |
| | 129442 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129443 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129444 | .unused, |
| | 129445 | .unused, |
| | 129446 | .unused, |
| | 129447 | .unused, |
| | 129448 | .unused, |
| | 129449 | .unused, |
| | 129450 | .unused, |
| | 129451 | .unused, |
| | 129452 | .unused, |
| | 129453 | }, |
| | 129454 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129455 | .each = .{ .once = &.{ |
| | 129456 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 129457 | .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 129458 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .tmp0x, .tmp1x }, |
| | 129459 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 129460 | .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 129461 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| | 129462 | } }, |
| | 129463 | }, .{ |
| | 129464 | .required_features = .{ .avx, null, null, null }, |
| | 129465 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129466 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129467 | .patterns = &.{ |
| | 129468 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129469 | }, |
| | 129470 | .extra_temps = .{ |
| | 129471 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129472 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129473 | .unused, |
| | 129474 | .unused, |
| | 129475 | .unused, |
| | 129476 | .unused, |
| | 129477 | .unused, |
| | 129478 | .unused, |
| | 129479 | .unused, |
| | 129480 | .unused, |
| | 129481 | .unused, |
| | 129482 | }, |
| | 129483 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129484 | .each = .{ .once = &.{ |
| | 129485 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 129486 | .{ ._, .vp_q, .cmpgt, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 129487 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .tmp0x, .tmp1x }, |
| | 129488 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 129489 | .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 129490 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| | 129491 | } }, |
| | 129492 | }, .{ |
| | 129493 | .required_features = .{ .avx2, null, null, null }, |
| | 129494 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129495 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129496 | .patterns = &.{ |
| | 129497 | .{ .src = .{ .mem, .none, .none } }, |
| | 129498 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129499 | }, |
| | 129500 | .extra_temps = .{ |
| | 129501 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129502 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129503 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129504 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129505 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129506 | .unused, |
| | 129507 | .unused, |
| | 129508 | .unused, |
| | 129509 | .unused, |
| | 129510 | .unused, |
| | 129511 | .unused, |
| | 129512 | }, |
| | 129513 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129514 | .each = .{ .once = &.{ |
| | 129515 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129516 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 129517 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 129518 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 129519 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129520 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129521 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129522 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129523 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129524 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129525 | } }, |
| | 129526 | }, .{ |
| | 129527 | .required_features = .{ .avx, null, null, null }, |
| | 129528 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129529 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129530 | .patterns = &.{ |
| | 129531 | .{ .src = .{ .mem, .none, .none } }, |
| | 129532 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 129533 | }, |
| | 129534 | .extra_temps = .{ |
| | 129535 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129536 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129537 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129538 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129539 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129540 | .unused, |
| | 129541 | .unused, |
| | 129542 | .unused, |
| | 129543 | .unused, |
| | 129544 | .unused, |
| | 129545 | .unused, |
| | 129546 | }, |
| | 129547 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 129548 | .each = .{ .once = &.{ |
| | 129549 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129550 | .{ ._, .v_sd, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 129551 | .{ ._, .v_pd, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 129552 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 129553 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129554 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129555 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129556 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129557 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129558 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129559 | } }, |
| | 129560 | }, .{ |
| | 129561 | .required_features = .{ .avx512f, null, null, null }, |
| | 129562 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129563 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 129564 | .patterns = &.{ |
| | 129565 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129566 | }, |
| | 129567 | .extra_temps = .{ |
| | 129568 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129569 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 129570 | .{ .type = .vector_8_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 129571 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129572 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129573 | .unused, |
| | 129574 | .unused, |
| | 129575 | .unused, |
| | 129576 | .unused, |
| | 129577 | .unused, |
| | 129578 | .unused, |
| | 129579 | }, |
| | 129580 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129581 | .each = .{ .once = &.{ |
| | 129582 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129583 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 129584 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 129585 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 129586 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 129587 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 129588 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 129589 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 129590 | .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 129591 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 129592 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 129593 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129594 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129595 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129596 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129597 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129598 | } }, |
| | 129599 | }, .{ |
| | 129600 | .required_features = .{ .avx512f, null, null, null }, |
| | 129601 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129602 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 129603 | .patterns = &.{ |
| | 129604 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129605 | }, |
| | 129606 | .extra_temps = .{ |
| | 129607 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129608 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129609 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129610 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 129611 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129612 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129613 | .unused, |
| | 129614 | .unused, |
| | 129615 | .unused, |
| | 129616 | .unused, |
| | 129617 | .unused, |
| | 129618 | }, |
| | 129619 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129620 | .each = .{ .once = &.{ |
| | 129621 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129622 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 129623 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 129624 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 129625 | .{ ._, .v_dqa, .mov, .tmp4y, .memd(.src0y, 32), ._, ._ }, |
| | 129626 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 129627 | .{ ._, .vp_, .@"or", .tmp4y, .tmp4y, .lead(.tmp0y, 32), ._ }, |
| | 129628 | .{ ._, .vp_, .xor, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 129629 | .{ ._, .vp_, .xor, .tmp4y, .tmp4y, .tmp2y, ._ }, |
| | 129630 | .{ ._, .vp_q, .cmpgt, .tmp5y, .dst0y, .tmp4y, ._ }, |
| | 129631 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y }, |
| | 129632 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 129633 | .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ }, |
| | 129634 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 129635 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 129636 | .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ }, |
| | 129637 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 129638 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129639 | } }, |
| | 129640 | }, .{ |
| | 129641 | .required_features = .{ .avx512f, null, null, null }, |
| | 129642 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129643 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 129644 | .patterns = &.{ |
| | 129645 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129646 | }, |
| | 129647 | .extra_temps = .{ |
| | 129648 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129649 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129650 | .unused, |
| | 129651 | .unused, |
| | 129652 | .unused, |
| | 129653 | .unused, |
| | 129654 | .unused, |
| | 129655 | .unused, |
| | 129656 | .unused, |
| | 129657 | .unused, |
| | 129658 | .unused, |
| | 129659 | }, |
| | 129660 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129661 | .each = .{ .once = &.{ |
| | 129662 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 129663 | .{ ._, .v_dqa, .mov, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 129664 | .{ ._, .vp_q, .cmpgt, .tmp1y, .dst0y, .tmp0y, ._ }, |
| | 129665 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp0y, .tmp1y }, |
| | 129666 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 129667 | .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 129668 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| | 129669 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 129670 | .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 129671 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| | 129672 | } }, |
| | 129673 | }, .{ |
| | 129674 | .required_features = .{ .avx512f, null, null, null }, |
| | 129675 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129676 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 129677 | .patterns = &.{ |
| | 129678 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129679 | }, |
| | 129680 | .extra_temps = .{ |
| | 129681 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 129682 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129683 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129684 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129685 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129686 | .unused, |
| | 129687 | .unused, |
| | 129688 | .unused, |
| | 129689 | .unused, |
| | 129690 | .unused, |
| | 129691 | .unused, |
| | 129692 | }, |
| | 129693 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129694 | .each = .{ .once = &.{ |
| | 129695 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129696 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 129697 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .mem(.src0y), ._ }, |
| | 129698 | .{ ._, .vp_, .xor, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 129699 | .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 129700 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 129701 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 129702 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129703 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129704 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129705 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129706 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129707 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129708 | } }, |
| | 129709 | }, .{ |
| | 129710 | .required_features = .{ .avx2, null, null, null }, |
| | 129711 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129712 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129713 | .patterns = &.{ |
| | 129714 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129715 | }, |
| | 129716 | .extra_temps = .{ |
| | 129717 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129718 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129719 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129720 | .unused, |
| | 129721 | .unused, |
| | 129722 | .unused, |
| | 129723 | .unused, |
| | 129724 | .unused, |
| | 129725 | .unused, |
| | 129726 | .unused, |
| | 129727 | .unused, |
| | 129728 | }, |
| | 129729 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129730 | .clobbers = .{ .eflags = true }, |
| | 129731 | .each = .{ .once = &.{ |
| | 129732 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 129733 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 129734 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 129735 | .{ ._, .vp_q, .cmpgt, .tmp2y, .dst0y, .tmp1y, ._ }, |
| | 129736 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp1y, .tmp2y }, |
| | 129737 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 129738 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129739 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 129740 | .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 129741 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x }, |
| | 129742 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 129743 | .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 129744 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x }, |
| | 129745 | } }, |
| | 129746 | }, .{ |
| | 129747 | .required_features = .{ .avx, null, null, null }, |
| | 129748 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129749 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 129750 | .patterns = &.{ |
| | 129751 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129752 | }, |
| | 129753 | .extra_temps = .{ |
| | 129754 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129755 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129756 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129757 | .unused, |
| | 129758 | .unused, |
| | 129759 | .unused, |
| | 129760 | .unused, |
| | 129761 | .unused, |
| | 129762 | .unused, |
| | 129763 | .unused, |
| | 129764 | .unused, |
| | 129765 | }, |
| | 129766 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129767 | .clobbers = .{ .eflags = true }, |
| | 129768 | .each = .{ .once = &.{ |
| | 129769 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 129770 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 129771 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 129772 | .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 129773 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x }, |
| | 129774 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 129775 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129776 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 129777 | .{ ._, .vp_q, .cmpgt, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 129778 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x }, |
| | 129779 | } }, |
| | 129780 | }, .{ |
| | 129781 | .required_features = .{ .sse4_2, null, null, null }, |
| | 129782 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129783 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 129784 | .patterns = &.{ |
| | 129785 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129786 | }, |
| | 129787 | .extra_temps = .{ |
| | 129788 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129789 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129790 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 129791 | .unused, |
| | 129792 | .unused, |
| | 129793 | .unused, |
| | 129794 | .unused, |
| | 129795 | .unused, |
| | 129796 | .unused, |
| | 129797 | .unused, |
| | 129798 | .unused, |
| | 129799 | }, |
| | 129800 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129801 | .clobbers = .{ .eflags = true }, |
| | 129802 | .each = .{ .once = &.{ |
| | 129803 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 129804 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 129805 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 129806 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 129807 | .{ ._, .p_q, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 129808 | .{ ._, .p_b, .blendv, .dst0x, .tmp1x, .tmp2x, ._ }, |
| | 129809 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 129810 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129811 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 129812 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 129813 | .{ ._, .p_q, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 129814 | .{ ._, .p_b, .blendv, .dst0x, .tmp1x, .tmp2x, ._ }, |
| | 129815 | } }, |
| | 129816 | }, .{ |
| | 129817 | .required_features = .{ .avx2, null, null, null }, |
| | 129818 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129819 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129820 | .patterns = &.{ |
| | 129821 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129822 | }, |
| | 129823 | .extra_temps = .{ |
| | 129824 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129825 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129826 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129827 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129828 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129829 | .unused, |
| | 129830 | .unused, |
| | 129831 | .unused, |
| | 129832 | .unused, |
| | 129833 | .unused, |
| | 129834 | .unused, |
| | 129835 | }, |
| | 129836 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129837 | .clobbers = .{ .eflags = true }, |
| | 129838 | .each = .{ .once = &.{ |
| | 129839 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129840 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 129841 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 129842 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .memad(.src0y, .add_unaligned_size, -32), ._ }, |
| | 129843 | .{ .@"0:", .vp_, .xor, .tmp3y, .tmp2y, .memi(.src0y, .tmp0), ._ }, |
| | 129844 | .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 129845 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 129846 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 129847 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129848 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 129849 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129850 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129851 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129852 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129853 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129854 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129855 | } }, |
| | 129856 | }, .{ |
| | 129857 | .required_features = .{ .avx, null, null, null }, |
| | 129858 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129859 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 129860 | .patterns = &.{ |
| | 129861 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129862 | }, |
| | 129863 | .extra_temps = .{ |
| | 129864 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129865 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129866 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129867 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129868 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129869 | .unused, |
| | 129870 | .unused, |
| | 129871 | .unused, |
| | 129872 | .unused, |
| | 129873 | .unused, |
| | 129874 | .unused, |
| | 129875 | }, |
| | 129876 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129877 | .clobbers = .{ .eflags = true }, |
| | 129878 | .each = .{ .once = &.{ |
| | 129879 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129880 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 129881 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 129882 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .memad(.src0x, .add_unaligned_size, -16), ._ }, |
| | 129883 | .{ .@"0:", .vp_, .xor, .tmp3x, .tmp2x, .memi(.src0x, .tmp0), ._ }, |
| | 129884 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129885 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129886 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 129887 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129888 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129889 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129890 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129891 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 129892 | } }, |
| | 129893 | }, .{ |
| | 129894 | .required_features = .{ .sse4_2, null, null, null }, |
| | 129895 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 129896 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 129897 | .patterns = &.{ |
| | 129898 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129899 | }, |
| | 129900 | .extra_temps = .{ |
| | 129901 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129902 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 129903 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129904 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 129905 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 129906 | .unused, |
| | 129907 | .unused, |
| | 129908 | .unused, |
| | 129909 | .unused, |
| | 129910 | .unused, |
| | 129911 | .unused, |
| | 129912 | }, |
| | 129913 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129914 | .clobbers = .{ .eflags = true }, |
| | 129915 | .each = .{ .once = &.{ |
| | 129916 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129917 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 129918 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 129919 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 129920 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 129921 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 129922 | .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ }, |
| | 129923 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 129924 | .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 129925 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 129926 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 129927 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129928 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129929 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 129930 | .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 129931 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 129932 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 129933 | } }, |
| | 129934 | }, .{ |
| | 129935 | .required_features = .{ .avx512f, null, null, null }, |
| | 129936 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129937 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 129938 | .patterns = &.{ |
| | 129939 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129940 | }, |
| | 129941 | .extra_temps = .{ |
| | 129942 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129943 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 129944 | .{ .type = .vector_8_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 129945 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129946 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129947 | .unused, |
| | 129948 | .unused, |
| | 129949 | .unused, |
| | 129950 | .unused, |
| | 129951 | .unused, |
| | 129952 | .unused, |
| | 129953 | }, |
| | 129954 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 129955 | .clobbers = .{ .eflags = true }, |
| | 129956 | .each = .{ .once = &.{ |
| | 129957 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 129958 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 129959 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 129960 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 129961 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 129962 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 129963 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 129964 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 129965 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| | 129966 | .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 129967 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 129968 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 129969 | .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 129970 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 129971 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 129972 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 129973 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 129974 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129975 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129976 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 129977 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 129978 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 129979 | } }, |
| | 129980 | }, .{ |
| | 129981 | .required_features = .{ .avx2, null, null, null }, |
| | 129982 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 129983 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 129984 | .patterns = &.{ |
| | 129985 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 129986 | }, |
| | 129987 | .extra_temps = .{ |
| | 129988 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 129989 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 129990 | .{ .type = .vector_4_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 129991 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129992 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 129993 | .unused, |
| | 129994 | .unused, |
| | 129995 | .unused, |
| | 129996 | .unused, |
| | 129997 | .unused, |
| | 129998 | .unused, |
| | 129999 | }, |
| | 130000 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130001 | .clobbers = .{ .eflags = true }, |
| | 130002 | .each = .{ .once = &.{ |
| | 130003 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130004 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 130005 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 130006 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 130007 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 130008 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 130009 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 130010 | .{ ._, .vp_q, .cmpgt, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 130011 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 130012 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 130013 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130014 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 130015 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130016 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 130017 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 130018 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130019 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 130020 | } }, |
| | 130021 | }, .{ |
| | 130022 | .required_features = .{ .avx, null, null, null }, |
| | 130023 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 130024 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 130025 | .patterns = &.{ |
| | 130026 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130027 | }, |
| | 130028 | .extra_temps = .{ |
| | 130029 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130030 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130031 | .{ .type = .vector_4_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 130032 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 130033 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 130034 | .unused, |
| | 130035 | .unused, |
| | 130036 | .unused, |
| | 130037 | .unused, |
| | 130038 | .unused, |
| | 130039 | .unused, |
| | 130040 | }, |
| | 130041 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130042 | .clobbers = .{ .eflags = true }, |
| | 130043 | .each = .{ .once = &.{ |
| | 130044 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130045 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 130046 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 130047 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 130048 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 130049 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 130050 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 130051 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130052 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 130053 | .{ .@"0:", .v_dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130054 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130055 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 130056 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130057 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130058 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 130059 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130060 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 130061 | } }, |
| | 130062 | }, .{ |
| | 130063 | .required_features = .{ .sse4_2, null, null, null }, |
| | 130064 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 130065 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 130066 | .patterns = &.{ |
| | 130067 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130068 | }, |
| | 130069 | .extra_temps = .{ |
| | 130070 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130071 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130072 | .{ .type = .vector_2_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smax } } }, |
| | 130073 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 130074 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 130075 | .unused, |
| | 130076 | .unused, |
| | 130077 | .unused, |
| | 130078 | .unused, |
| | 130079 | .unused, |
| | 130080 | .unused, |
| | 130081 | }, |
| | 130082 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130083 | .clobbers = .{ .eflags = true }, |
| | 130084 | .each = .{ .once = &.{ |
| | 130085 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130086 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 130087 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 130088 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 130089 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 130090 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 130091 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130092 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 130093 | .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 130094 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 130095 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130096 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130097 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 130098 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 130099 | .{ ._, .p_q, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 130100 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 130101 | } }, |
| | 130102 | }, .{ |
| | 130103 | .required_features = .{ .avx512f, null, null, null }, |
| | 130104 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 130105 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 130106 | .patterns = &.{ |
| | 130107 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130108 | }, |
| | 130109 | .extra_temps = .{ |
| | 130110 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130111 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 130112 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 130113 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 130114 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 130115 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 130116 | .unused, |
| | 130117 | .unused, |
| | 130118 | .unused, |
| | 130119 | .unused, |
| | 130120 | .unused, |
| | 130121 | }, |
| | 130122 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130123 | .clobbers = .{ .eflags = true }, |
| | 130124 | .each = .{ .once = &.{ |
| | 130125 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130126 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 130127 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 130128 | .{ ._, .v_dqa, .mov, .tmp4y, .memad(.src0y, .add_size, -32), ._, ._ }, |
| | 130129 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_size, -64), ._, ._ }, |
| | 130130 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 130131 | .{ ._, .vp_, .@"or", .tmp4y, .tmp4y, .lead(.tmp0y, 32), ._ }, |
| | 130132 | .{ ._, .vp_, .xor, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130133 | .{ ._, .vp_, .xor, .tmp4y, .tmp4y, .tmp2y, ._ }, |
| | 130134 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| | 130135 | .{ ._, .vp_q, .cmpgt, .tmp5y, .dst0y, .tmp4y, ._ }, |
| | 130136 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y }, |
| | 130137 | .{ .@"0:", .vp_, .xor, .tmp4y, .tmp2y, .memi(.src0y, .tmp0), ._ }, |
| | 130138 | .{ ._, .vp_q, .cmpgt, .tmp5y, .dst0y, .tmp4y, ._ }, |
| | 130139 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y }, |
| | 130140 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 130141 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130142 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 130143 | .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ }, |
| | 130144 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 130145 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 130146 | .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ }, |
| | 130147 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 130148 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130149 | } }, |
| | 130150 | }, .{ |
| | 130151 | .required_features = .{ .avx2, null, null, null }, |
| | 130152 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 130153 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 130154 | .patterns = &.{ |
| | 130155 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130156 | }, |
| | 130157 | .extra_temps = .{ |
| | 130158 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130159 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 130160 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 130161 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 130162 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 130163 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 130164 | .unused, |
| | 130165 | .unused, |
| | 130166 | .unused, |
| | 130167 | .unused, |
| | 130168 | .unused, |
| | 130169 | }, |
| | 130170 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130171 | .clobbers = .{ .eflags = true }, |
| | 130172 | .each = .{ .once = &.{ |
| | 130173 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130174 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 130175 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 130176 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_size, -32), ._, ._ }, |
| | 130177 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 130178 | .{ ._, .vp_, .xor, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130179 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 130180 | .{ .@"0:", .vp_, .xor, .tmp4y, .tmp2y, .memi(.src0y, .tmp0), ._ }, |
| | 130181 | .{ ._, .vp_q, .cmpgt, .tmp5y, .dst0y, .tmp4y, ._ }, |
| | 130182 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y }, |
| | 130183 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 130184 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130185 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 130186 | .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ }, |
| | 130187 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 130188 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 130189 | .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ }, |
| | 130190 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 130191 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130192 | } }, |
| | 130193 | }, .{ |
| | 130194 | .required_features = .{ .avx, null, null, null }, |
| | 130195 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 130196 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 130197 | .patterns = &.{ |
| | 130198 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130199 | }, |
| | 130200 | .extra_temps = .{ |
| | 130201 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130202 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 130203 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 130204 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 130205 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 130206 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 130207 | .unused, |
| | 130208 | .unused, |
| | 130209 | .unused, |
| | 130210 | .unused, |
| | 130211 | .unused, |
| | 130212 | }, |
| | 130213 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130214 | .clobbers = .{ .eflags = true }, |
| | 130215 | .each = .{ .once = &.{ |
| | 130216 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130217 | .{ ._, .v_sd, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 130218 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 130219 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_size, -32), ._, ._ }, |
| | 130220 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 130221 | .{ ._, .v_ps, .xor, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 130222 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 130223 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 130224 | .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ }, |
| | 130225 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 130226 | .{ .@"0:", .vp_, .xor, .tmp4x, .tmp2x, .memi(.src0x, .tmp0), ._ }, |
| | 130227 | .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ }, |
| | 130228 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 130229 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130230 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130231 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 130232 | .{ ._, .vp_q, .cmpgt, .tmp5x, .dst0x, .tmp4x, ._ }, |
| | 130233 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 130234 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 130235 | } }, |
| | 130236 | }, .{ |
| | 130237 | .required_features = .{ .sse4_2, null, null, null }, |
| | 130238 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 130239 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 130240 | .patterns = &.{ |
| | 130241 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130242 | }, |
| | 130243 | .extra_temps = .{ |
| | 130244 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130245 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 130246 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 130247 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 130248 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 130249 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 130250 | .unused, |
| | 130251 | .unused, |
| | 130252 | .unused, |
| | 130253 | .unused, |
| | 130254 | .unused, |
| | 130255 | }, |
| | 130256 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130257 | .clobbers = .{ .eflags = true }, |
| | 130258 | .each = .{ .once = &.{ |
| | 130259 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130260 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 130261 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 130262 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 130263 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 130264 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 130265 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 130266 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130267 | .{ ._, .p_, .xor, .tmp4x, .tmp2x, ._, ._ }, |
| | 130268 | .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ }, |
| | 130269 | .{ ._, .p_q, .cmpgt, .tmp5x, .tmp4x, ._, ._ }, |
| | 130270 | .{ ._, .p_b, .blendv, .dst0x, .tmp4x, .tmp5x, ._ }, |
| | 130271 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130272 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130273 | .{ ._, .p_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 130274 | .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ }, |
| | 130275 | .{ ._, .p_q, .cmpgt, .tmp5x, .tmp4x, ._, ._ }, |
| | 130276 | .{ ._, .p_b, .blendv, .dst0x, .tmp4x, .tmp5x, ._ }, |
| | 130277 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 130278 | } }, |
| | 130279 | }, .{ |
| | 130280 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 130281 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 130282 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 130283 | .patterns = &.{ |
| | 130284 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130285 | }, |
| | 130286 | .extra_temps = .{ |
| | 130287 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130288 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| | 130289 | .unused, |
| | 130290 | .unused, |
| | 130291 | .unused, |
| | 130292 | .unused, |
| | 130293 | .unused, |
| | 130294 | .unused, |
| | 130295 | .unused, |
| | 130296 | .unused, |
| | 130297 | .unused, |
| | 130298 | }, |
| | 130299 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 130300 | .clobbers = .{ .eflags = true }, |
| | 130301 | .each = .{ .once = &.{ |
| | 130302 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 130303 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 130304 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 130305 | .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ }, |
| | 130306 | .{ ._, ._nl, .cmov, .dst0q, .tmp1q, ._, ._ }, |
| | 130307 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 130308 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130309 | } }, |
| | 130310 | }, .{ |
| | 130311 | .required_features = .{ .@"64bit", null, null, null }, |
| | 130312 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 130313 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 130314 | .patterns = &.{ |
| | 130315 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130316 | }, |
| | 130317 | .extra_temps = .{ |
| | 130318 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130319 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| | 130320 | .unused, |
| | 130321 | .unused, |
| | 130322 | .unused, |
| | 130323 | .unused, |
| | 130324 | .unused, |
| | 130325 | .unused, |
| | 130326 | .unused, |
| | 130327 | .unused, |
| | 130328 | .unused, |
| | 130329 | }, |
| | 130330 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 130331 | .clobbers = .{ .eflags = true }, |
| | 130332 | .each = .{ .once = &.{ |
| | 130333 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 130334 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 130335 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 130336 | .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ }, |
| | 130337 | .{ ._, ._l, .j, .@"1f", ._, ._, ._ }, |
| | 130338 | .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ }, |
| | 130339 | .{ .@"1:", ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 130340 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130341 | } }, |
| | 130342 | }, .{ |
| | 130343 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 130344 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 130345 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 130346 | .patterns = &.{ |
| | 130347 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130348 | }, |
| | 130349 | .extra_temps = .{ |
| | 130350 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130351 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 130352 | .unused, |
| | 130353 | .unused, |
| | 130354 | .unused, |
| | 130355 | .unused, |
| | 130356 | .unused, |
| | 130357 | .unused, |
| | 130358 | .unused, |
| | 130359 | .unused, |
| | 130360 | .unused, |
| | 130361 | }, |
| | 130362 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 130363 | .clobbers = .{ .eflags = true }, |
| | 130364 | .each = .{ .once = &.{ |
| | 130365 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 130366 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 130367 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 130368 | .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ }, |
| | 130369 | .{ ._, ._nb, .cmov, .dst0q, .tmp1q, ._, ._ }, |
| | 130370 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 130371 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130372 | } }, |
| | 130373 | }, .{ |
| | 130374 | .required_features = .{ .@"64bit", null, null, null }, |
| | 130375 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 130376 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 130377 | .patterns = &.{ |
| | 130378 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130379 | }, |
| | 130380 | .extra_temps = .{ |
| | 130381 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130382 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 130383 | .unused, |
| | 130384 | .unused, |
| | 130385 | .unused, |
| | 130386 | .unused, |
| | 130387 | .unused, |
| | 130388 | .unused, |
| | 130389 | .unused, |
| | 130390 | .unused, |
| | 130391 | .unused, |
| | 130392 | }, |
| | 130393 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 130394 | .clobbers = .{ .eflags = true }, |
| | 130395 | .each = .{ .once = &.{ |
| | 130396 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 130397 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 130398 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 130399 | .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ }, |
| | 130400 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, |
| | 130401 | .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ }, |
| | 130402 | .{ .@"1:", ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 130403 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130404 | } }, |
| | 130405 | }, .{ |
| | 130406 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 130407 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 130408 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 130409 | .patterns = &.{ |
| | 130410 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130411 | }, |
| | 130412 | .extra_temps = .{ |
| | 130413 | .{ .type = .u32, .kind = .{ .reg = .rdi } }, |
| | 130414 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, |
| | 130415 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 130416 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130417 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 130418 | .unused, |
| | 130419 | .unused, |
| | 130420 | .unused, |
| | 130421 | .unused, |
| | 130422 | .unused, |
| | 130423 | .unused, |
| | 130424 | }, |
| | 130425 | .dst_temps = .{ .mem, .unused }, |
| | 130426 | .clobbers = .{ .eflags = true }, |
| | 130427 | .each = .{ .once = &.{ |
| | 130428 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 130429 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 130430 | .{ .@"0:", ._, .mov, .tmp2p, .sia(1, .dst0, .sub_size_div_8), ._, ._ }, |
| | 130431 | .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ }, |
| | 130432 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| | 130433 | .{ .@"1:", ._, .mov, .tmp4q, .leasiad(.tmp1q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ }, |
| | 130434 | .{ ._, ._, .sbb, .tmp4q, .leasiad(.tmp3q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ }, |
| | 130435 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, |
| | 130436 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 130437 | .{ ._, ._, .mov, .tmp4q, .leaad(.tmp1q, .add_src0_elem_size, -8), ._, ._ }, |
| | 130438 | .{ ._, ._, .sbb, .tmp4q, .leaad(.tmp3q, .add_src0_elem_size, -8), ._, ._ }, |
| | 130439 | .{ ._, ._nl, .cmov, .tmp1p, .tmp3p, ._, ._ }, |
| | 130440 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 130441 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130442 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 130443 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 130444 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 130445 | } }, |
| | 130446 | }, .{ |
| | 130447 | .required_features = .{ .@"64bit", null, null, null }, |
| | 130448 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 130449 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 130450 | .patterns = &.{ |
| | 130451 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130452 | }, |
| | 130453 | .extra_temps = .{ |
| | 130454 | .{ .type = .u32, .kind = .{ .reg = .rdi } }, |
| | 130455 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, |
| | 130456 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 130457 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130458 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 130459 | .unused, |
| | 130460 | .unused, |
| | 130461 | .unused, |
| | 130462 | .unused, |
| | 130463 | .unused, |
| | 130464 | .unused, |
| | 130465 | }, |
| | 130466 | .dst_temps = .{ .mem, .unused }, |
| | 130467 | .clobbers = .{ .eflags = true }, |
| | 130468 | .each = .{ .once = &.{ |
| | 130469 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 130470 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 130471 | .{ .@"0:", ._, .mov, .tmp2p, .sia(1, .dst0, .sub_size_div_8), ._, ._ }, |
| | 130472 | .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ }, |
| | 130473 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| | 130474 | .{ .@"1:", ._, .mov, .tmp4q, .leasiad(.tmp1q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ }, |
| | 130475 | .{ ._, ._, .sbb, .tmp4q, .leasiad(.tmp3q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ }, |
| | 130476 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, |
| | 130477 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 130478 | .{ ._, ._, .mov, .tmp4q, .leaad(.tmp1q, .add_src0_elem_size, -8), ._, ._ }, |
| | 130479 | .{ ._, ._, .sbb, .tmp4q, .leaad(.tmp3q, .add_src0_elem_size, -8), ._, ._ }, |
| | 130480 | .{ ._, ._l, .j, .@"1f", ._, ._, ._ }, |
| | 130481 | .{ ._, ._, .mov, .tmp1p, .tmp3p, ._, ._ }, |
| | 130482 | .{ .@"1:", ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 130483 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130484 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 130485 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 130486 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 130487 | } }, |
| | 130488 | }, .{ |
| | 130489 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 130490 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 130491 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 130492 | .patterns = &.{ |
| | 130493 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130494 | }, |
| | 130495 | .extra_temps = .{ |
| | 130496 | .{ .type = .u32, .kind = .{ .reg = .rdi } }, |
| | 130497 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, |
| | 130498 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 130499 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130500 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 130501 | .unused, |
| | 130502 | .unused, |
| | 130503 | .unused, |
| | 130504 | .unused, |
| | 130505 | .unused, |
| | 130506 | .unused, |
| | 130507 | }, |
| | 130508 | .dst_temps = .{ .mem, .unused }, |
| | 130509 | .clobbers = .{ .eflags = true }, |
| | 130510 | .each = .{ .once = &.{ |
| | 130511 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 130512 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 130513 | .{ .@"0:", ._, .mov, .tmp2p, .sa(.dst0, .sub_size_div_8), ._, ._ }, |
| | 130514 | .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ }, |
| | 130515 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| | 130516 | .{ .@"1:", ._, .mov, .tmp4q, .leasia(.tmp1q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ }, |
| | 130517 | .{ ._, ._, .sbb, .tmp4q, .leasia(.tmp3q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ }, |
| | 130518 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, |
| | 130519 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 130520 | .{ ._, ._nb, .cmov, .tmp1p, .tmp3p, ._, ._ }, |
| | 130521 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 130522 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130523 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 130524 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 130525 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 130526 | } }, |
| | 130527 | }, .{ |
| | 130528 | .required_features = .{ .@"64bit", null, null, null }, |
| | 130529 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 130530 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 130531 | .patterns = &.{ |
| | 130532 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130533 | }, |
| | 130534 | .extra_temps = .{ |
| | 130535 | .{ .type = .u32, .kind = .{ .reg = .rdi } }, |
| | 130536 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, |
| | 130537 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 130538 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130539 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 130540 | .unused, |
| | 130541 | .unused, |
| | 130542 | .unused, |
| | 130543 | .unused, |
| | 130544 | .unused, |
| | 130545 | .unused, |
| | 130546 | }, |
| | 130547 | .dst_temps = .{ .mem, .unused }, |
| | 130548 | .clobbers = .{ .eflags = true }, |
| | 130549 | .each = .{ .once = &.{ |
| | 130550 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 130551 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 130552 | .{ .@"0:", ._, .mov, .tmp2p, .sa(.dst0, .sub_size_div_8), ._, ._ }, |
| | 130553 | .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ }, |
| | 130554 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| | 130555 | .{ .@"1:", ._, .mov, .tmp4q, .leasia(.tmp1q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ }, |
| | 130556 | .{ ._, ._, .sbb, .tmp4q, .leasia(.tmp3q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ }, |
| | 130557 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, |
| | 130558 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 130559 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, |
| | 130560 | .{ ._, ._, .mov, .tmp1p, .tmp3p, ._, ._ }, |
| | 130561 | .{ .@"1:", ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 130562 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130563 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 130564 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 130565 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 130566 | } }, |
| | 130567 | }, .{ |
| | 130568 | .required_features = .{ .f16c, null, null, null }, |
| | 130569 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130570 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 130571 | .patterns = &.{ |
| | 130572 | .{ .src = .{ .mem, .none, .none } }, |
| | 130573 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130574 | }, |
| | 130575 | .extra_temps = .{ |
| | 130576 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130577 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130578 | .unused, |
| | 130579 | .unused, |
| | 130580 | .unused, |
| | 130581 | .unused, |
| | 130582 | .unused, |
| | 130583 | .unused, |
| | 130584 | .unused, |
| | 130585 | .unused, |
| | 130586 | .unused, |
| | 130587 | }, |
| | 130588 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130589 | .each = .{ .once = &.{ |
| | 130590 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 130591 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130592 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130593 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130594 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130595 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130596 | } }, |
| | 130597 | }, .{ |
| | 130598 | .required_features = .{ .f16c, null, null, null }, |
| | 130599 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130600 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 130601 | .patterns = &.{ |
| | 130602 | .{ .src = .{ .mem, .none, .none } }, |
| | 130603 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130604 | }, |
| | 130605 | .extra_temps = .{ |
| | 130606 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130607 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130608 | .unused, |
| | 130609 | .unused, |
| | 130610 | .unused, |
| | 130611 | .unused, |
| | 130612 | .unused, |
| | 130613 | .unused, |
| | 130614 | .unused, |
| | 130615 | .unused, |
| | 130616 | .unused, |
| | 130617 | }, |
| | 130618 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130619 | .each = .{ .once = &.{ |
| | 130620 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 130621 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 130622 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130623 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130624 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130625 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130626 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130627 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130628 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130629 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130630 | } }, |
| | 130631 | }, .{ |
| | 130632 | .required_features = .{ .f16c, null, null, null }, |
| | 130633 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130634 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 130635 | .patterns = &.{ |
| | 130636 | .{ .src = .{ .mem, .none, .none } }, |
| | 130637 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130638 | }, |
| | 130639 | .extra_temps = .{ |
| | 130640 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130641 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 130642 | .unused, |
| | 130643 | .unused, |
| | 130644 | .unused, |
| | 130645 | .unused, |
| | 130646 | .unused, |
| | 130647 | .unused, |
| | 130648 | .unused, |
| | 130649 | .unused, |
| | 130650 | .unused, |
| | 130651 | }, |
| | 130652 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130653 | .each = .{ .once = &.{ |
| | 130654 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 130655 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 130656 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130657 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130658 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130659 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130660 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130661 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130662 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130663 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130664 | } }, |
| | 130665 | }, .{ |
| | 130666 | .required_features = .{ .f16c, null, null, null }, |
| | 130667 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130668 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 130669 | .patterns = &.{ |
| | 130670 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130671 | }, |
| | 130672 | .extra_temps = .{ |
| | 130673 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130674 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130675 | .{ .type = .vector_8_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 130676 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130677 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130678 | .unused, |
| | 130679 | .unused, |
| | 130680 | .unused, |
| | 130681 | .unused, |
| | 130682 | .unused, |
| | 130683 | .unused, |
| | 130684 | }, |
| | 130685 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130686 | .each = .{ .once = &.{ |
| | 130687 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130688 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 130689 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 130690 | .{ ._, .v_ps, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 130691 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 130692 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 130693 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130694 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 130695 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 130696 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 130697 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130698 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 130699 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 130700 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130701 | .{ ._, .v_ss, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130702 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 130703 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 130704 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130705 | } }, |
| | 130706 | }, .{ |
| | 130707 | .required_features = .{ .f16c, null, null, null }, |
| | 130708 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130709 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 130710 | .patterns = &.{ |
| | 130711 | .{ .src = .{ .mem, .none, .none } }, |
| | 130712 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130713 | }, |
| | 130714 | .extra_temps = .{ |
| | 130715 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130716 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130717 | .unused, |
| | 130718 | .unused, |
| | 130719 | .unused, |
| | 130720 | .unused, |
| | 130721 | .unused, |
| | 130722 | .unused, |
| | 130723 | .unused, |
| | 130724 | .unused, |
| | 130725 | .unused, |
| | 130726 | }, |
| | 130727 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130728 | .each = .{ .once = &.{ |
| | 130729 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 130730 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 130731 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130732 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130733 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130734 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 130735 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130736 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130737 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130738 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130739 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130740 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130741 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130742 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130743 | } }, |
| | 130744 | }, .{ |
| | 130745 | .required_features = .{ .f16c, null, null, null }, |
| | 130746 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130747 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 130748 | .patterns = &.{ |
| | 130749 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130750 | }, |
| | 130751 | .extra_temps = .{ |
| | 130752 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130753 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130754 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 130755 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130756 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130757 | .unused, |
| | 130758 | .unused, |
| | 130759 | .unused, |
| | 130760 | .unused, |
| | 130761 | .unused, |
| | 130762 | .unused, |
| | 130763 | }, |
| | 130764 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130765 | .each = .{ .once = &.{ |
| | 130766 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130767 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 130768 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 130769 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 130770 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 130771 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 130772 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 130773 | .{ ._, .v_ps, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 130774 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 130775 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 130776 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 130777 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130778 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 130779 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 130780 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 130781 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130782 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 130783 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 130784 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130785 | .{ ._, .v_ss, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130786 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 130787 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 130788 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130789 | } }, |
| | 130790 | }, .{ |
| | 130791 | .required_features = .{ .f16c, null, null, null }, |
| | 130792 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130793 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 130794 | .patterns = &.{ |
| | 130795 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 130796 | }, |
| | 130797 | .extra_temps = .{ |
| | 130798 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130799 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130800 | .unused, |
| | 130801 | .unused, |
| | 130802 | .unused, |
| | 130803 | .unused, |
| | 130804 | .unused, |
| | 130805 | .unused, |
| | 130806 | .unused, |
| | 130807 | .unused, |
| | 130808 | .unused, |
| | 130809 | }, |
| | 130810 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 130811 | .each = .{ .once = &.{ |
| | 130812 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 130813 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 130814 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 130815 | .{ ._, .v_ps, .min, .tmp1y, .dst0y, .tmp0y, ._ }, |
| | 130816 | .{ ._, .v_ps, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.ord) }, |
| | 130817 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp1y, .tmp0y }, |
| | 130818 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 130819 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130820 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130821 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130822 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 130823 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130824 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130825 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130826 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130827 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130828 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130829 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130830 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130831 | } }, |
| | 130832 | }, .{ |
| | 130833 | .required_features = .{ .avx512f, null, null, null }, |
| | 130834 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130835 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 130836 | .patterns = &.{ |
| | 130837 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130838 | }, |
| | 130839 | .extra_temps = .{ |
| | 130840 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 130841 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130842 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 130843 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130844 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130845 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130846 | .unused, |
| | 130847 | .unused, |
| | 130848 | .unused, |
| | 130849 | .unused, |
| | 130850 | .unused, |
| | 130851 | }, |
| | 130852 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130853 | .each = .{ .once = &.{ |
| | 130854 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 130855 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 130856 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 130857 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 130858 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 130859 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 130860 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 130861 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 130862 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 130863 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 130864 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 130865 | .{ ._, .v_ps, .min, .tmp5y, .tmp3y, .tmp4y, ._ }, |
| | 130866 | .{ ._, .v_ps, .cmp, .tmp4y, .tmp4y, .tmp4y, .vp(.ord) }, |
| | 130867 | .{ ._, .v_ps, .blendv, .tmp3y, .tmp3y, .tmp5y, .tmp4y }, |
| | 130868 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 130869 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 130870 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 130871 | .{ ._, .v_ps, .min, .tmp5y, .dst0y, .tmp4y, ._ }, |
| | 130872 | .{ ._, .v_ps, .cmp, .tmp4y, .tmp4y, .tmp4y, .vp(.ord) }, |
| | 130873 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp5y, .tmp4y }, |
| | 130874 | .{ ._, .v_ps, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 130875 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 130876 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 130877 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 130878 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130879 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 130880 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 130881 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 130882 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130883 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 130884 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 130885 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130886 | .{ ._, .v_ss, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 130887 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 130888 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 130889 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130890 | } }, |
| | 130891 | }, .{ |
| | 130892 | .required_features = .{ .avx512f, null, null, null }, |
| | 130893 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130894 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 130895 | .patterns = &.{ |
| | 130896 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130897 | }, |
| | 130898 | .extra_temps = .{ |
| | 130899 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130900 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130901 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130902 | .unused, |
| | 130903 | .unused, |
| | 130904 | .unused, |
| | 130905 | .unused, |
| | 130906 | .unused, |
| | 130907 | .unused, |
| | 130908 | .unused, |
| | 130909 | .unused, |
| | 130910 | }, |
| | 130911 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130912 | .each = .{ .once = &.{ |
| | 130913 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 130914 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 130915 | .{ ._, .v_f128, .extract, .tmp1x, .tmp0y, .ui(1), ._ }, |
| | 130916 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 130917 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 130918 | .{ ._, .v_ps, .min, .tmp2y, .tmp0y, .tmp1y, ._ }, |
| | 130919 | .{ ._, .v_ps, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 130920 | .{ ._, .v_ps, .blendv, .tmp0y, .tmp0y, .tmp2y, .tmp1y }, |
| | 130921 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 130922 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 130923 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 130924 | .{ ._, .v_ps, .min, .tmp2y, .dst0y, .tmp1y, ._ }, |
| | 130925 | .{ ._, .v_ps, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 130926 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp2y, .tmp1y }, |
| | 130927 | .{ ._, .v_ps, .min, .tmp1y, .dst0y, .tmp0y, ._ }, |
| | 130928 | .{ ._, .v_ps, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.ord) }, |
| | 130929 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp1y, .tmp0y }, |
| | 130930 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 130931 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130932 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130933 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130934 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 130935 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130936 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130937 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130938 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130939 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 130940 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 130941 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 130942 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130943 | } }, |
| | 130944 | }, .{ |
| | 130945 | .required_features = .{ .f16c, null, null, null }, |
| | 130946 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130947 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 130948 | .patterns = &.{ |
| | 130949 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130950 | }, |
| | 130951 | .extra_temps = .{ |
| | 130952 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130953 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130954 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 130955 | .unused, |
| | 130956 | .unused, |
| | 130957 | .unused, |
| | 130958 | .unused, |
| | 130959 | .unused, |
| | 130960 | .unused, |
| | 130961 | .unused, |
| | 130962 | .unused, |
| | 130963 | }, |
| | 130964 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 130965 | .clobbers = .{ .eflags = true }, |
| | 130966 | .each = .{ .once = &.{ |
| | 130967 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 130968 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 130969 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 130970 | .{ ._, .v_ps, .min, .tmp2y, .dst0y, .tmp1y, ._ }, |
| | 130971 | .{ ._, .v_ps, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 130972 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp2y, .tmp1y }, |
| | 130973 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 130974 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 130975 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 130976 | .{ ._, .v_ps, .min, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 130977 | .{ ._, .v_ps, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 130978 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 130979 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 130980 | .{ ._, .v_ps, .min, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 130981 | .{ ._, .v_ps, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 130982 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 130983 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 130984 | .{ ._, .v_ss, .min, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 130985 | .{ ._, .v_ss, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 130986 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 130987 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 130988 | } }, |
| | 130989 | }, .{ |
| | 130990 | .required_features = .{ .avx512f, null, null, null }, |
| | 130991 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 130992 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 130993 | .patterns = &.{ |
| | 130994 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 130995 | }, |
| | 130996 | .extra_temps = .{ |
| | 130997 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 130998 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 130999 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 131000 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131001 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131002 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131003 | .unused, |
| | 131004 | .unused, |
| | 131005 | .unused, |
| | 131006 | .unused, |
| | 131007 | .unused, |
| | 131008 | }, |
| | 131009 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131010 | .clobbers = .{ .eflags = true }, |
| | 131011 | .each = .{ .once = &.{ |
| | 131012 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131013 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 131014 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 131015 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 131016 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 131017 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 131018 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 131019 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 131020 | .{ ._, ._, .mov, .tmp0d, .sia(-80, .src0, .add_size), ._, ._ }, |
| | 131021 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 131022 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 131023 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 131024 | .{ ._, .v_ps, .min, .tmp5y, .tmp3y, .tmp4y, ._ }, |
| | 131025 | .{ ._, .v_ps, .cmp, .tmp4y, .tmp4y, .tmp4y, .vp(.ord) }, |
| | 131026 | .{ ._, .v_ps, .blendv, .tmp3y, .tmp3y, .tmp5y, .tmp4y }, |
| | 131027 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 131028 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 131029 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 131030 | .{ ._, .v_ps, .min, .tmp5y, .dst0y, .tmp4y, ._ }, |
| | 131031 | .{ ._, .v_ps, .cmp, .tmp4y, .tmp4y, .tmp4y, .vp(.ord) }, |
| | 131032 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp5y, .tmp4y }, |
| | 131033 | .{ ._, .v_ps, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 131034 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 131035 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 131036 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131037 | .{ ._, .v_ps, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 131038 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 131039 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 131040 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131041 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131042 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 131043 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131044 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131045 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131046 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 131047 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131048 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131049 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131050 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131051 | .{ ._, .v_ss, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131052 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131053 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131054 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 131055 | } }, |
| | 131056 | }, .{ |
| | 131057 | .required_features = .{ .f16c, null, null, null }, |
| | 131058 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 131059 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 131060 | .patterns = &.{ |
| | 131061 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131062 | }, |
| | 131063 | .extra_temps = .{ |
| | 131064 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131065 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131066 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 131067 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131068 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131069 | .unused, |
| | 131070 | .unused, |
| | 131071 | .unused, |
| | 131072 | .unused, |
| | 131073 | .unused, |
| | 131074 | .unused, |
| | 131075 | }, |
| | 131076 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131077 | .clobbers = .{ .eflags = true }, |
| | 131078 | .each = .{ .once = &.{ |
| | 131079 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131080 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 131081 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 131082 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 131083 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 131084 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 131085 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 131086 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 131087 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 131088 | .{ ._, .v_ps, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 131089 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 131090 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 131091 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131092 | .{ ._, .v_ps, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 131093 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 131094 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 131095 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131096 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131097 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 131098 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131099 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131100 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131101 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 131102 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131103 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131104 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131105 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131106 | .{ ._, .v_ss, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131107 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131108 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131109 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 131110 | } }, |
| | 131111 | }, .{ |
| | 131112 | .required_features = .{ .avx, null, null, null }, |
| | 131113 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 131114 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 131115 | .patterns = &.{ |
| | 131116 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131117 | }, |
| | 131118 | .call_frame = .{ .alignment = .@"16" }, |
| | 131119 | .extra_temps = .{ |
| | 131120 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131121 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 131122 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| | 131123 | .unused, |
| | 131124 | .unused, |
| | 131125 | .unused, |
| | 131126 | .unused, |
| | 131127 | .unused, |
| | 131128 | .unused, |
| | 131129 | .unused, |
| | 131130 | .unused, |
| | 131131 | }, |
| | 131132 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 131133 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 131134 | .each = .{ .once = &.{ |
| | 131135 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 131136 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 131137 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0) }, |
| | 131138 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 131139 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 131140 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 131141 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 131142 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131143 | } }, |
| | 131144 | }, .{ |
| | 131145 | .required_features = .{ .sse2, null, null, null }, |
| | 131146 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 131147 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 131148 | .patterns = &.{ |
| | 131149 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131150 | }, |
| | 131151 | .call_frame = .{ .alignment = .@"16" }, |
| | 131152 | .extra_temps = .{ |
| | 131153 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131154 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 131155 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| | 131156 | .unused, |
| | 131157 | .unused, |
| | 131158 | .unused, |
| | 131159 | .unused, |
| | 131160 | .unused, |
| | 131161 | .unused, |
| | 131162 | .unused, |
| | 131163 | .unused, |
| | 131164 | }, |
| | 131165 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 131166 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 131167 | .each = .{ .once = &.{ |
| | 131168 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 131169 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 131170 | .{ ._, .p_w, .insr, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0), ._ }, |
| | 131171 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 131172 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 131173 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 131174 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 131175 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131176 | } }, |
| | 131177 | }, .{ |
| | 131178 | .required_features = .{ .sse, null, null, null }, |
| | 131179 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 131180 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 131181 | .patterns = &.{ |
| | 131182 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131183 | }, |
| | 131184 | .call_frame = .{ .alignment = .@"16" }, |
| | 131185 | .extra_temps = .{ |
| | 131186 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131187 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 131188 | .{ .type = .f32, .kind = .mem }, |
| | 131189 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 131190 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| | 131191 | .unused, |
| | 131192 | .unused, |
| | 131193 | .unused, |
| | 131194 | .unused, |
| | 131195 | .unused, |
| | 131196 | .unused, |
| | 131197 | }, |
| | 131198 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 131199 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 131200 | .each = .{ .once = &.{ |
| | 131201 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 131202 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 131203 | .{ ._, ._, .movzx, .tmp1d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 131204 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 131205 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 131206 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 131207 | .{ ._, ._ss, .mov, .tmp3x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 131208 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 131209 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 131210 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131211 | } }, |
| | 131212 | }, .{ |
| | 131213 | .required_features = .{ .avx, null, null, null }, |
| | 131214 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131215 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 131216 | .patterns = &.{ |
| | 131217 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131218 | }, |
| | 131219 | .extra_temps = .{ |
| | 131220 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131221 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131222 | .unused, |
| | 131223 | .unused, |
| | 131224 | .unused, |
| | 131225 | .unused, |
| | 131226 | .unused, |
| | 131227 | .unused, |
| | 131228 | .unused, |
| | 131229 | .unused, |
| | 131230 | .unused, |
| | 131231 | }, |
| | 131232 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131233 | .each = .{ .once = &.{ |
| | 131234 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 131235 | .{ ._, .v_ss, .min, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 131236 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131237 | .{ ._, .v_ps, .blendv, .dst0x, .src0x, .tmp1x, .tmp0x }, |
| | 131238 | } }, |
| | 131239 | }, .{ |
| | 131240 | .required_features = .{ .sse4_1, null, null, null }, |
| | 131241 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131242 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 131243 | .patterns = &.{ |
| | 131244 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 131245 | }, |
| | 131246 | .extra_temps = .{ |
| | 131247 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 131248 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131249 | .unused, |
| | 131250 | .unused, |
| | 131251 | .unused, |
| | 131252 | .unused, |
| | 131253 | .unused, |
| | 131254 | .unused, |
| | 131255 | .unused, |
| | 131256 | .unused, |
| | 131257 | .unused, |
| | 131258 | }, |
| | 131259 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 131260 | .each = .{ .once = &.{ |
| | 131261 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 131262 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 131263 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 131264 | .{ ._, ._ss, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131265 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 131266 | .{ ._, ._ps, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 131267 | } }, |
| | 131268 | }, .{ |
| | 131269 | .required_features = .{ .sse, null, null, null }, |
| | 131270 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131271 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 131272 | .patterns = &.{ |
| | 131273 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 131274 | }, |
| | 131275 | .extra_temps = .{ |
| | 131276 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131277 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131278 | .unused, |
| | 131279 | .unused, |
| | 131280 | .unused, |
| | 131281 | .unused, |
| | 131282 | .unused, |
| | 131283 | .unused, |
| | 131284 | .unused, |
| | 131285 | .unused, |
| | 131286 | .unused, |
| | 131287 | }, |
| | 131288 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 131289 | .each = .{ .once = &.{ |
| | 131290 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 131291 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 131292 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 131293 | .{ ._, ._ss, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131294 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 131295 | .{ ._, ._ps, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 131296 | .{ ._, ._ps, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 131297 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 131298 | } }, |
| | 131299 | }, .{ |
| | 131300 | .required_features = .{ .avx, null, null, null }, |
| | 131301 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131302 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131303 | .patterns = &.{ |
| | 131304 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131305 | }, |
| | 131306 | .extra_temps = .{ |
| | 131307 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131308 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131309 | .unused, |
| | 131310 | .unused, |
| | 131311 | .unused, |
| | 131312 | .unused, |
| | 131313 | .unused, |
| | 131314 | .unused, |
| | 131315 | .unused, |
| | 131316 | .unused, |
| | 131317 | .unused, |
| | 131318 | }, |
| | 131319 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131320 | .each = .{ .once = &.{ |
| | 131321 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 131322 | .{ ._, .v_ss, .min, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 131323 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131324 | .{ ._, .v_ps, .blendv, .tmp0x, .src0x, .tmp1x, .tmp0x }, |
| | 131325 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| | 131326 | .{ ._, .v_ss, .min, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 131327 | .{ ._, .v_ss, .cmp, .dst0x, .dst0x, .dst0x, .vp(.ord) }, |
| | 131328 | .{ ._, .v_ps, .blendv, .dst0x, .tmp0x, .tmp1x, .dst0x }, |
| | 131329 | } }, |
| | 131330 | }, .{ |
| | 131331 | .required_features = .{ .sse4_1, null, null, null }, |
| | 131332 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131333 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131334 | .patterns = &.{ |
| | 131335 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 131336 | }, |
| | 131337 | .extra_temps = .{ |
| | 131338 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 131339 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131340 | .unused, |
| | 131341 | .unused, |
| | 131342 | .unused, |
| | 131343 | .unused, |
| | 131344 | .unused, |
| | 131345 | .unused, |
| | 131346 | .unused, |
| | 131347 | .unused, |
| | 131348 | .unused, |
| | 131349 | }, |
| | 131350 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 131351 | .each = .{ .once = &.{ |
| | 131352 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 131353 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 131354 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 131355 | .{ ._, ._ss, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131356 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 131357 | .{ ._, ._ps, .blendv, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 131358 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 131359 | .{ ._, ._ps, .mova, .tmp0x, .tmp1x, ._, ._ }, |
| | 131360 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 131361 | .{ ._, ._ss, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131362 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 131363 | .{ ._, ._ps, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 131364 | } }, |
| | 131365 | }, .{ |
| | 131366 | .required_features = .{ .sse, null, null, null }, |
| | 131367 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131368 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131369 | .patterns = &.{ |
| | 131370 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 131371 | }, |
| | 131372 | .extra_temps = .{ |
| | 131373 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131374 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131375 | .unused, |
| | 131376 | .unused, |
| | 131377 | .unused, |
| | 131378 | .unused, |
| | 131379 | .unused, |
| | 131380 | .unused, |
| | 131381 | .unused, |
| | 131382 | .unused, |
| | 131383 | .unused, |
| | 131384 | }, |
| | 131385 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 131386 | .each = .{ .once = &.{ |
| | 131387 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 131388 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 131389 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 131390 | .{ ._, ._ss, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131391 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 131392 | .{ ._, ._ps, .@"and", .tmp1x, .tmp0x, ._, ._ }, |
| | 131393 | .{ ._, ._ps, .andn, .tmp0x, .dst0x, ._, ._ }, |
| | 131394 | .{ ._, ._ps, .@"or", .tmp0x, .tmp1x, ._, ._ }, |
| | 131395 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 131396 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 131397 | .{ ._, ._ss, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131398 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 131399 | .{ ._, ._ps, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 131400 | .{ ._, ._ps, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 131401 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 131402 | } }, |
| | 131403 | }, .{ |
| | 131404 | .required_features = .{ .avx, null, null, null }, |
| | 131405 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131406 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131407 | .patterns = &.{ |
| | 131408 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131409 | }, |
| | 131410 | .extra_temps = .{ |
| | 131411 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131412 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131413 | .unused, |
| | 131414 | .unused, |
| | 131415 | .unused, |
| | 131416 | .unused, |
| | 131417 | .unused, |
| | 131418 | .unused, |
| | 131419 | .unused, |
| | 131420 | .unused, |
| | 131421 | .unused, |
| | 131422 | }, |
| | 131423 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131424 | .each = .{ .once = &.{ |
| | 131425 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 131426 | .{ ._, .v_ps, .min, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 131427 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131428 | .{ ._, .v_ps, .blendv, .dst0x, .src0x, .tmp1x, .tmp0x }, |
| | 131429 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131430 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 131431 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131432 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 131433 | } }, |
| | 131434 | }, .{ |
| | 131435 | .required_features = .{ .sse4_1, null, null, null }, |
| | 131436 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131437 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131438 | .patterns = &.{ |
| | 131439 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 131440 | }, |
| | 131441 | .extra_temps = .{ |
| | 131442 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 131443 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131444 | .unused, |
| | 131445 | .unused, |
| | 131446 | .unused, |
| | 131447 | .unused, |
| | 131448 | .unused, |
| | 131449 | .unused, |
| | 131450 | .unused, |
| | 131451 | .unused, |
| | 131452 | .unused, |
| | 131453 | }, |
| | 131454 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 131455 | .each = .{ .once = &.{ |
| | 131456 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 131457 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 131458 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 131459 | .{ ._, ._ps, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131460 | .{ ._, ._ps, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 131461 | .{ ._, ._ps, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 131462 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 131463 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 131464 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 131465 | .{ ._, ._ss, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131466 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 131467 | .{ ._, ._ps, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 131468 | } }, |
| | 131469 | }, .{ |
| | 131470 | .required_features = .{ .sse, null, null, null }, |
| | 131471 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131472 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131473 | .patterns = &.{ |
| | 131474 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 131475 | }, |
| | 131476 | .extra_temps = .{ |
| | 131477 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131478 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131479 | .unused, |
| | 131480 | .unused, |
| | 131481 | .unused, |
| | 131482 | .unused, |
| | 131483 | .unused, |
| | 131484 | .unused, |
| | 131485 | .unused, |
| | 131486 | .unused, |
| | 131487 | .unused, |
| | 131488 | }, |
| | 131489 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 131490 | .each = .{ .once = &.{ |
| | 131491 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 131492 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 131493 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 131494 | .{ ._, ._ps, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131495 | .{ ._, ._ps, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 131496 | .{ ._, ._ps, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 131497 | .{ ._, ._ps, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 131498 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 131499 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 131500 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 131501 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 131502 | .{ ._, ._ss, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 131503 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 131504 | .{ ._, ._ps, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 131505 | .{ ._, ._ps, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 131506 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 131507 | } }, |
| | 131508 | }, .{ |
| | 131509 | .required_features = .{ .avx, null, null, null }, |
| | 131510 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131511 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 131512 | .patterns = &.{ |
| | 131513 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131514 | }, |
| | 131515 | .extra_temps = .{ |
| | 131516 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 131517 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131518 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 131519 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131520 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131521 | .unused, |
| | 131522 | .unused, |
| | 131523 | .unused, |
| | 131524 | .unused, |
| | 131525 | .unused, |
| | 131526 | .unused, |
| | 131527 | }, |
| | 131528 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131529 | .each = .{ .once = &.{ |
| | 131530 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131531 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 131532 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 131533 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 131534 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 131535 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131536 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131537 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131538 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 131539 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131540 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131541 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131542 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131543 | .{ ._, .v_ss, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131544 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131545 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131546 | } }, |
| | 131547 | }, .{ |
| | 131548 | .required_features = .{ .avx, null, null, null }, |
| | 131549 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131550 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 131551 | .patterns = &.{ |
| | 131552 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 131553 | }, |
| | 131554 | .extra_temps = .{ |
| | 131555 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131556 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131557 | .unused, |
| | 131558 | .unused, |
| | 131559 | .unused, |
| | 131560 | .unused, |
| | 131561 | .unused, |
| | 131562 | .unused, |
| | 131563 | .unused, |
| | 131564 | .unused, |
| | 131565 | .unused, |
| | 131566 | }, |
| | 131567 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 131568 | .each = .{ .once = &.{ |
| | 131569 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 131570 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 131571 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131572 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 131573 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 131574 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 131575 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131576 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 131577 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131578 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 131579 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131580 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 131581 | } }, |
| | 131582 | }, .{ |
| | 131583 | .required_features = .{ .avx512f, null, null, null }, |
| | 131584 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131585 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 131586 | .patterns = &.{ |
| | 131587 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131588 | }, |
| | 131589 | .extra_temps = .{ |
| | 131590 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 131591 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131592 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 131593 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131594 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131595 | .unused, |
| | 131596 | .unused, |
| | 131597 | .unused, |
| | 131598 | .unused, |
| | 131599 | .unused, |
| | 131600 | .unused, |
| | 131601 | }, |
| | 131602 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131603 | .each = .{ .once = &.{ |
| | 131604 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131605 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 131606 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 131607 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 131608 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 131609 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 131610 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 131611 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 131612 | .{ ._, .v_ps, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 131613 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 131614 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 131615 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 131616 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131617 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131618 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131619 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 131620 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131621 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131622 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131623 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131624 | .{ ._, .v_ss, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131625 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131626 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131627 | } }, |
| | 131628 | }, .{ |
| | 131629 | .required_features = .{ .avx512f, null, null, null }, |
| | 131630 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131631 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 131632 | .patterns = &.{ |
| | 131633 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131634 | }, |
| | 131635 | .extra_temps = .{ |
| | 131636 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131637 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131638 | .unused, |
| | 131639 | .unused, |
| | 131640 | .unused, |
| | 131641 | .unused, |
| | 131642 | .unused, |
| | 131643 | .unused, |
| | 131644 | .unused, |
| | 131645 | .unused, |
| | 131646 | .unused, |
| | 131647 | }, |
| | 131648 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131649 | .each = .{ .once = &.{ |
| | 131650 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 131651 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 131652 | .{ ._, .v_ps, .min, .tmp1y, .dst0y, .tmp0y, ._ }, |
| | 131653 | .{ ._, .v_ps, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.ord) }, |
| | 131654 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp1y, .tmp0y }, |
| | 131655 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 131656 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 131657 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131658 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 131659 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 131660 | .{ ._, .v_ps, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 131661 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131662 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 131663 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131664 | .{ ._, .v_ss, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 131665 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 131666 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 131667 | } }, |
| | 131668 | }, .{ |
| | 131669 | .required_features = .{ .avx, null, null, null }, |
| | 131670 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131671 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 131672 | .patterns = &.{ |
| | 131673 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131674 | }, |
| | 131675 | .extra_temps = .{ |
| | 131676 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131677 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131678 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131679 | .unused, |
| | 131680 | .unused, |
| | 131681 | .unused, |
| | 131682 | .unused, |
| | 131683 | .unused, |
| | 131684 | .unused, |
| | 131685 | .unused, |
| | 131686 | .unused, |
| | 131687 | }, |
| | 131688 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131689 | .clobbers = .{ .eflags = true }, |
| | 131690 | .each = .{ .once = &.{ |
| | 131691 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 131692 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 131693 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 131694 | .{ ._, .v_ps, .min, .tmp2y, .dst0y, .tmp1y, ._ }, |
| | 131695 | .{ ._, .v_ps, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 131696 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp2y, .tmp1y }, |
| | 131697 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 131698 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131699 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 131700 | .{ ._, .v_ps, .min, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 131701 | .{ ._, .v_ps, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 131702 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 131703 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 131704 | .{ ._, .v_ps, .min, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 131705 | .{ ._, .v_ps, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 131706 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 131707 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131708 | .{ ._, .v_ss, .min, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 131709 | .{ ._, .v_ss, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 131710 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 131711 | } }, |
| | 131712 | }, .{ |
| | 131713 | .required_features = .{ .sse4_1, null, null, null }, |
| | 131714 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131715 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131716 | .patterns = &.{ |
| | 131717 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131718 | }, |
| | 131719 | .extra_temps = .{ |
| | 131720 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131721 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 131722 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131723 | .unused, |
| | 131724 | .unused, |
| | 131725 | .unused, |
| | 131726 | .unused, |
| | 131727 | .unused, |
| | 131728 | .unused, |
| | 131729 | .unused, |
| | 131730 | .unused, |
| | 131731 | }, |
| | 131732 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131733 | .clobbers = .{ .eflags = true }, |
| | 131734 | .each = .{ .once = &.{ |
| | 131735 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 131736 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 131737 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131738 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 131739 | .{ ._, ._ps, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 131740 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 131741 | .{ ._, ._ps, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 131742 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131743 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131744 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 131745 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 131746 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 131747 | .{ ._, ._ps, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 131748 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 131749 | .{ ._, ._ps, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 131750 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 131751 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ }, |
| | 131752 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 131753 | .{ ._, ._ss, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 131754 | .{ ._, ._ss, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 131755 | .{ ._, ._ps, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 131756 | } }, |
| | 131757 | }, .{ |
| | 131758 | .required_features = .{ .sse, null, null, null }, |
| | 131759 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131760 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131761 | .patterns = &.{ |
| | 131762 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131763 | }, |
| | 131764 | .extra_temps = .{ |
| | 131765 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131766 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131767 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131768 | .unused, |
| | 131769 | .unused, |
| | 131770 | .unused, |
| | 131771 | .unused, |
| | 131772 | .unused, |
| | 131773 | .unused, |
| | 131774 | .unused, |
| | 131775 | .unused, |
| | 131776 | }, |
| | 131777 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131778 | .clobbers = .{ .eflags = true }, |
| | 131779 | .each = .{ .once = &.{ |
| | 131780 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 131781 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 131782 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131783 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 131784 | .{ ._, ._ps, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 131785 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 131786 | .{ ._, ._ps, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 131787 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 131788 | .{ ._, ._ps, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 131789 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131790 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131791 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 131792 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 131793 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 131794 | .{ ._, ._ps, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 131795 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 131796 | .{ ._, ._ps, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 131797 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 131798 | .{ ._, ._ps, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 131799 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 131800 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ }, |
| | 131801 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 131802 | .{ ._, ._ss, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 131803 | .{ ._, ._ss, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 131804 | .{ ._, ._ps, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 131805 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 131806 | .{ ._, ._ps, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 131807 | } }, |
| | 131808 | }, .{ |
| | 131809 | .required_features = .{ .avx512f, null, null, null }, |
| | 131810 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131811 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 131812 | .patterns = &.{ |
| | 131813 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131814 | }, |
| | 131815 | .extra_temps = .{ |
| | 131816 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131817 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131818 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 131819 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131820 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 131821 | .unused, |
| | 131822 | .unused, |
| | 131823 | .unused, |
| | 131824 | .unused, |
| | 131825 | .unused, |
| | 131826 | .unused, |
| | 131827 | }, |
| | 131828 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131829 | .clobbers = .{ .eflags = true }, |
| | 131830 | .each = .{ .once = &.{ |
| | 131831 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131832 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 131833 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 131834 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 131835 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 131836 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 131837 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 131838 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 131839 | .{ ._, .v_ps, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 131840 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 131841 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 131842 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| | 131843 | .{ .@"0:", .v_ps, .mova, .tmp3y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 131844 | .{ ._, .v_ps, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 131845 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 131846 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 131847 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 131848 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131849 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 131850 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131851 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131852 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131853 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 131854 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131855 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131856 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131857 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131858 | .{ ._, .v_ss, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131859 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131860 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131861 | } }, |
| | 131862 | }, .{ |
| | 131863 | .required_features = .{ .avx, null, null, null }, |
| | 131864 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131865 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 131866 | .patterns = &.{ |
| | 131867 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131868 | }, |
| | 131869 | .extra_temps = .{ |
| | 131870 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131871 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131872 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 131873 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131874 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131875 | .unused, |
| | 131876 | .unused, |
| | 131877 | .unused, |
| | 131878 | .unused, |
| | 131879 | .unused, |
| | 131880 | .unused, |
| | 131881 | }, |
| | 131882 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131883 | .clobbers = .{ .eflags = true }, |
| | 131884 | .each = .{ .once = &.{ |
| | 131885 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131886 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 131887 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 131888 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 131889 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 131890 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 131891 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 131892 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131893 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131894 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131895 | .{ .@"0:", .v_ps, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131896 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131897 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131898 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131899 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131900 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131901 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 131902 | .{ ._, .v_ps, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131903 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131904 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131905 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 131906 | .{ ._, .v_ss, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 131907 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 131908 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 131909 | } }, |
| | 131910 | }, .{ |
| | 131911 | .required_features = .{ .sse4_1, null, null, null }, |
| | 131912 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131913 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131914 | .patterns = &.{ |
| | 131915 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131916 | }, |
| | 131917 | .extra_temps = .{ |
| | 131918 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131919 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131920 | .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 131921 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 131922 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131923 | .unused, |
| | 131924 | .unused, |
| | 131925 | .unused, |
| | 131926 | .unused, |
| | 131927 | .unused, |
| | 131928 | .unused, |
| | 131929 | }, |
| | 131930 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131931 | .clobbers = .{ .eflags = true }, |
| | 131932 | .each = .{ .once = &.{ |
| | 131933 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131934 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 131935 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 131936 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 131937 | .{ ._, ._ps, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 131938 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 131939 | .{ .@"0:", ._ps, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131940 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 131941 | .{ ._, ._ps, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 131942 | .{ ._, ._ps, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 131943 | .{ ._, ._ps, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 131944 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131945 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131946 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 131947 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 131948 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 131949 | .{ ._, ._ps, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 131950 | .{ ._, ._ps, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 131951 | .{ ._, ._ps, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 131952 | .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ }, |
| | 131953 | .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ }, |
| | 131954 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 131955 | .{ ._, ._ss, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 131956 | .{ ._, ._ss, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 131957 | .{ ._, ._ps, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 131958 | } }, |
| | 131959 | }, .{ |
| | 131960 | .required_features = .{ .sse, null, null, null }, |
| | 131961 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 131962 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 131963 | .patterns = &.{ |
| | 131964 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 131965 | }, |
| | 131966 | .extra_temps = .{ |
| | 131967 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 131968 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 131969 | .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 131970 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131971 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 131972 | .unused, |
| | 131973 | .unused, |
| | 131974 | .unused, |
| | 131975 | .unused, |
| | 131976 | .unused, |
| | 131977 | .unused, |
| | 131978 | }, |
| | 131979 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 131980 | .clobbers = .{ .eflags = true }, |
| | 131981 | .each = .{ .once = &.{ |
| | 131982 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 131983 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 131984 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 131985 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 131986 | .{ ._, ._ps, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 131987 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 131988 | .{ .@"0:", ._ps, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 131989 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 131990 | .{ ._, ._ps, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 131991 | .{ ._, ._ps, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 131992 | .{ ._, ._ps, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 131993 | .{ ._, ._ps, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 131994 | .{ ._, ._ps, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 131995 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 131996 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 131997 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 131998 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 131999 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 132000 | .{ ._, ._ps, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 132001 | .{ ._, ._ps, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 132002 | .{ ._, ._ps, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 132003 | .{ ._, ._ps, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 132004 | .{ ._, ._ps, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 132005 | .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ }, |
| | 132006 | .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ }, |
| | 132007 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 132008 | .{ ._, ._ss, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 132009 | .{ ._, ._ss, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 132010 | .{ ._, ._ps, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 132011 | .{ ._, ._ps, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 132012 | .{ ._, ._ps, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 132013 | } }, |
| | 132014 | }, .{ |
| | 132015 | .required_features = .{ .avx, null, null, null }, |
| | 132016 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132017 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 132018 | .patterns = &.{ |
| | 132019 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 132020 | }, |
| | 132021 | .extra_temps = .{ |
| | 132022 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132023 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132024 | .unused, |
| | 132025 | .unused, |
| | 132026 | .unused, |
| | 132027 | .unused, |
| | 132028 | .unused, |
| | 132029 | .unused, |
| | 132030 | .unused, |
| | 132031 | .unused, |
| | 132032 | .unused, |
| | 132033 | }, |
| | 132034 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 132035 | .each = .{ .once = &.{ |
| | 132036 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 132037 | .{ ._, .v_sd, .min, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 132038 | .{ ._, .v_sd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 132039 | .{ ._, .v_pd, .blendv, .dst0x, .src0x, .tmp1x, .tmp0x }, |
| | 132040 | } }, |
| | 132041 | }, .{ |
| | 132042 | .required_features = .{ .sse4_1, null, null, null }, |
| | 132043 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132044 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 132045 | .patterns = &.{ |
| | 132046 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 132047 | }, |
| | 132048 | .extra_temps = .{ |
| | 132049 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, |
| | 132050 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132051 | .unused, |
| | 132052 | .unused, |
| | 132053 | .unused, |
| | 132054 | .unused, |
| | 132055 | .unused, |
| | 132056 | .unused, |
| | 132057 | .unused, |
| | 132058 | .unused, |
| | 132059 | .unused, |
| | 132060 | }, |
| | 132061 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 132062 | .each = .{ .once = &.{ |
| | 132063 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 132064 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 132065 | .{ ._, ._pd, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 132066 | .{ ._, ._sd, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 132067 | .{ ._, ._sd, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 132068 | .{ ._, ._pd, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 132069 | } }, |
| | 132070 | }, .{ |
| | 132071 | .required_features = .{ .sse2, null, null, null }, |
| | 132072 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132073 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 132074 | .patterns = &.{ |
| | 132075 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 132076 | }, |
| | 132077 | .extra_temps = .{ |
| | 132078 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132079 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132080 | .unused, |
| | 132081 | .unused, |
| | 132082 | .unused, |
| | 132083 | .unused, |
| | 132084 | .unused, |
| | 132085 | .unused, |
| | 132086 | .unused, |
| | 132087 | .unused, |
| | 132088 | .unused, |
| | 132089 | }, |
| | 132090 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 132091 | .each = .{ .once = &.{ |
| | 132092 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 132093 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 132094 | .{ ._, ._pd, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 132095 | .{ ._, ._sd, .min, .tmp1x, .tmp0x, ._, ._ }, |
| | 132096 | .{ ._, ._sd, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 132097 | .{ ._, ._pd, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 132098 | .{ ._, ._pd, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 132099 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 132100 | } }, |
| | 132101 | }, .{ |
| | 132102 | .required_features = .{ .avx, null, null, null }, |
| | 132103 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132104 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 132105 | .patterns = &.{ |
| | 132106 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 132107 | }, |
| | 132108 | .extra_temps = .{ |
| | 132109 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132110 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132111 | .unused, |
| | 132112 | .unused, |
| | 132113 | .unused, |
| | 132114 | .unused, |
| | 132115 | .unused, |
| | 132116 | .unused, |
| | 132117 | .unused, |
| | 132118 | .unused, |
| | 132119 | .unused, |
| | 132120 | }, |
| | 132121 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 132122 | .each = .{ .once = &.{ |
| | 132123 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 132124 | .{ ._, .v_sd, .min, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 132125 | .{ ._, .v_sd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 132126 | .{ ._, .v_pd, .blendv, .tmp0x, .src0x, .tmp1x, .tmp0x }, |
| | 132127 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 132128 | .{ ._, .v_sd, .min, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 132129 | .{ ._, .v_sd, .cmp, .dst0x, .dst0x, .dst0x, .vp(.ord) }, |
| | 132130 | .{ ._, .v_pd, .blendv, .dst0x, .tmp0x, .tmp1x, .dst0x }, |
| | 132131 | } }, |
| | 132132 | }, .{ |
| | 132133 | .required_features = .{ .avx, null, null, null }, |
| | 132134 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132135 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 132136 | .patterns = &.{ |
| | 132137 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 132138 | }, |
| | 132139 | .extra_temps = .{ |
| | 132140 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132141 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132142 | .unused, |
| | 132143 | .unused, |
| | 132144 | .unused, |
| | 132145 | .unused, |
| | 132146 | .unused, |
| | 132147 | .unused, |
| | 132148 | .unused, |
| | 132149 | .unused, |
| | 132150 | .unused, |
| | 132151 | }, |
| | 132152 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 132153 | .each = .{ .once = &.{ |
| | 132154 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 132155 | .{ ._, .v_pd, .min, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 132156 | .{ ._, .v_pd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 132157 | .{ ._, .v_pd, .blendv, .dst0x, .src0x, .tmp1x, .tmp0x }, |
| | 132158 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 132159 | .{ ._, .v_sd, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 132160 | .{ ._, .v_sd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 132161 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 132162 | } }, |
| | 132163 | }, .{ |
| | 132164 | .required_features = .{ .avx512f, null, null, null }, |
| | 132165 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132166 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 132167 | .patterns = &.{ |
| | 132168 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132169 | }, |
| | 132170 | .extra_temps = .{ |
| | 132171 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 132172 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 132173 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 132174 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 132175 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 132176 | .unused, |
| | 132177 | .unused, |
| | 132178 | .unused, |
| | 132179 | .unused, |
| | 132180 | .unused, |
| | 132181 | .unused, |
| | 132182 | }, |
| | 132183 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 132184 | .each = .{ .once = &.{ |
| | 132185 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 132186 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 132187 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 132188 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 132189 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 132190 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 132191 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 132192 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 132193 | .{ ._, .v_pd, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 132194 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 132195 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 132196 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 132197 | .{ ._, .v_pd, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 132198 | .{ ._, .v_pd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 132199 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 132200 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 132201 | .{ ._, .v_sd, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 132202 | .{ ._, .v_sd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 132203 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 132204 | } }, |
| | 132205 | }, .{ |
| | 132206 | .required_features = .{ .avx512f, null, null, null }, |
| | 132207 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132208 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 132209 | .patterns = &.{ |
| | 132210 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132211 | }, |
| | 132212 | .extra_temps = .{ |
| | 132213 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132214 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132215 | .unused, |
| | 132216 | .unused, |
| | 132217 | .unused, |
| | 132218 | .unused, |
| | 132219 | .unused, |
| | 132220 | .unused, |
| | 132221 | .unused, |
| | 132222 | .unused, |
| | 132223 | .unused, |
| | 132224 | }, |
| | 132225 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 132226 | .each = .{ .once = &.{ |
| | 132227 | .{ ._, .v_pd, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 132228 | .{ ._, .v_pd, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 132229 | .{ ._, .v_pd, .min, .tmp1y, .dst0y, .tmp0y, ._ }, |
| | 132230 | .{ ._, .v_pd, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.ord) }, |
| | 132231 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp1y, .tmp0y }, |
| | 132232 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 132233 | .{ ._, .v_pd, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 132234 | .{ ._, .v_pd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 132235 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 132236 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 132237 | .{ ._, .v_sd, .min, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 132238 | .{ ._, .v_sd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 132239 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 132240 | } }, |
| | 132241 | }, .{ |
| | 132242 | .required_features = .{ .avx, null, null, null }, |
| | 132243 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132244 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 132245 | .patterns = &.{ |
| | 132246 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132247 | }, |
| | 132248 | .extra_temps = .{ |
| | 132249 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132250 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132251 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132252 | .unused, |
| | 132253 | .unused, |
| | 132254 | .unused, |
| | 132255 | .unused, |
| | 132256 | .unused, |
| | 132257 | .unused, |
| | 132258 | .unused, |
| | 132259 | .unused, |
| | 132260 | }, |
| | 132261 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 132262 | .clobbers = .{ .eflags = true }, |
| | 132263 | .each = .{ .once = &.{ |
| | 132264 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 132265 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 132266 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 132267 | .{ ._, .v_pd, .min, .tmp2y, .dst0y, .tmp1y, ._ }, |
| | 132268 | .{ ._, .v_pd, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 132269 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp2y, .tmp1y }, |
| | 132270 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 132271 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132272 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 132273 | .{ ._, .v_pd, .min, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 132274 | .{ ._, .v_pd, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 132275 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 132276 | .{ ._, .v_pd, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 132277 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 132278 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 132279 | .{ ._, .v_sd, .min, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 132280 | .{ ._, .v_sd, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 132281 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 132282 | } }, |
| | 132283 | }, .{ |
| | 132284 | .required_features = .{ .sse4_1, null, null, null }, |
| | 132285 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132286 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 132287 | .patterns = &.{ |
| | 132288 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132289 | }, |
| | 132290 | .extra_temps = .{ |
| | 132291 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132292 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, |
| | 132293 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132294 | .unused, |
| | 132295 | .unused, |
| | 132296 | .unused, |
| | 132297 | .unused, |
| | 132298 | .unused, |
| | 132299 | .unused, |
| | 132300 | .unused, |
| | 132301 | .unused, |
| | 132302 | }, |
| | 132303 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 132304 | .clobbers = .{ .eflags = true }, |
| | 132305 | .each = .{ .once = &.{ |
| | 132306 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 132307 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 132308 | .{ .@"0:", ._pd, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 132309 | .{ ._, ._pd, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 132310 | .{ ._, ._pd, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 132311 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 132312 | .{ ._, ._pd, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 132313 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132314 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132315 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 132316 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 132317 | .{ ._, ._pd, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 132318 | .{ ._, ._sd, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 132319 | .{ ._, ._sd, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 132320 | .{ ._, ._pd, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 132321 | } }, |
| | 132322 | }, .{ |
| | 132323 | .required_features = .{ .sse2, null, null, null }, |
| | 132324 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132325 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 132326 | .patterns = &.{ |
| | 132327 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132328 | }, |
| | 132329 | .extra_temps = .{ |
| | 132330 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132331 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132332 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132333 | .unused, |
| | 132334 | .unused, |
| | 132335 | .unused, |
| | 132336 | .unused, |
| | 132337 | .unused, |
| | 132338 | .unused, |
| | 132339 | .unused, |
| | 132340 | .unused, |
| | 132341 | }, |
| | 132342 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 132343 | .clobbers = .{ .eflags = true }, |
| | 132344 | .each = .{ .once = &.{ |
| | 132345 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 132346 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 132347 | .{ .@"0:", ._pd, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 132348 | .{ ._, ._pd, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 132349 | .{ ._, ._pd, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 132350 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 132351 | .{ ._, ._pd, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 132352 | .{ ._, ._pd, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 132353 | .{ ._, ._pd, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 132354 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132355 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132356 | .{ ._, ._pd, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 132357 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 132358 | .{ ._, ._pd, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 132359 | .{ ._, ._sd, .min, .tmp2x, .tmp1x, ._, ._ }, |
| | 132360 | .{ ._, ._sd, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 132361 | .{ ._, ._pd, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 132362 | .{ ._, ._pd, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 132363 | .{ ._, ._pd, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 132364 | } }, |
| | 132365 | }, .{ |
| | 132366 | .required_features = .{ .avx512f, null, null, null }, |
| | 132367 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132368 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 132369 | .patterns = &.{ |
| | 132370 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132371 | }, |
| | 132372 | .extra_temps = .{ |
| | 132373 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132374 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 132375 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 132376 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 132377 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 132378 | .unused, |
| | 132379 | .unused, |
| | 132380 | .unused, |
| | 132381 | .unused, |
| | 132382 | .unused, |
| | 132383 | .unused, |
| | 132384 | }, |
| | 132385 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 132386 | .clobbers = .{ .eflags = true }, |
| | 132387 | .each = .{ .once = &.{ |
| | 132388 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 132389 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 132390 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 132391 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 132392 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 132393 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 132394 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 132395 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 132396 | .{ ._, .v_pd, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 132397 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 132398 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 132399 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| | 132400 | .{ .@"0:", .v_pd, .mova, .tmp3y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 132401 | .{ ._, .v_pd, .min, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 132402 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 132403 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 132404 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 132405 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132406 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 132407 | .{ ._, .v_pd, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 132408 | .{ ._, .v_pd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 132409 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 132410 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 132411 | .{ ._, .v_sd, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 132412 | .{ ._, .v_sd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 132413 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 132414 | } }, |
| | 132415 | }, .{ |
| | 132416 | .required_features = .{ .avx, null, null, null }, |
| | 132417 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132418 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 132419 | .patterns = &.{ |
| | 132420 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132421 | }, |
| | 132422 | .extra_temps = .{ |
| | 132423 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132424 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 132425 | .{ .type = .vector_4_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 132426 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132427 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132428 | .unused, |
| | 132429 | .unused, |
| | 132430 | .unused, |
| | 132431 | .unused, |
| | 132432 | .unused, |
| | 132433 | .unused, |
| | 132434 | }, |
| | 132435 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 132436 | .clobbers = .{ .eflags = true }, |
| | 132437 | .each = .{ .once = &.{ |
| | 132438 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 132439 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 132440 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 132441 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 132442 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 132443 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 132444 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 132445 | .{ ._, .v_pd, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 132446 | .{ ._, .v_pd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 132447 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 132448 | .{ .@"0:", .v_pd, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 132449 | .{ ._, .v_pd, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 132450 | .{ ._, .v_pd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 132451 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 132452 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132453 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132454 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 132455 | .{ ._, .v_sd, .min, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 132456 | .{ ._, .v_sd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 132457 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 132458 | } }, |
| | 132459 | }, .{ |
| | 132460 | .required_features = .{ .sse4_1, null, null, null }, |
| | 132461 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132462 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 132463 | .patterns = &.{ |
| | 132464 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132465 | }, |
| | 132466 | .extra_temps = .{ |
| | 132467 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132468 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 132469 | .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 132470 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, |
| | 132471 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132472 | .unused, |
| | 132473 | .unused, |
| | 132474 | .unused, |
| | 132475 | .unused, |
| | 132476 | .unused, |
| | 132477 | .unused, |
| | 132478 | }, |
| | 132479 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 132480 | .clobbers = .{ .eflags = true }, |
| | 132481 | .each = .{ .once = &.{ |
| | 132482 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 132483 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 132484 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 132485 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 132486 | .{ ._, ._pd, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 132487 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 132488 | .{ .@"0:", ._pd, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 132489 | .{ ._, ._pd, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 132490 | .{ ._, ._pd, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 132491 | .{ ._, ._pd, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 132492 | .{ ._, ._pd, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 132493 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132494 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132495 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 132496 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 132497 | .{ ._, ._pd, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 132498 | .{ ._, ._sd, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 132499 | .{ ._, ._sd, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 132500 | .{ ._, ._pd, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 132501 | } }, |
| | 132502 | }, .{ |
| | 132503 | .required_features = .{ .sse2, null, null, null }, |
| | 132504 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132505 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 132506 | .patterns = &.{ |
| | 132507 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132508 | }, |
| | 132509 | .extra_temps = .{ |
| | 132510 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132511 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 132512 | .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = nan } } }, |
| | 132513 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132514 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 132515 | .unused, |
| | 132516 | .unused, |
| | 132517 | .unused, |
| | 132518 | .unused, |
| | 132519 | .unused, |
| | 132520 | .unused, |
| | 132521 | }, |
| | 132522 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 132523 | .clobbers = .{ .eflags = true }, |
| | 132524 | .each = .{ .once = &.{ |
| | 132525 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 132526 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 132527 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 132528 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 132529 | .{ ._, ._pd, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 132530 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 132531 | .{ .@"0:", ._pd, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 132532 | .{ ._, ._pd, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 132533 | .{ ._, ._pd, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 132534 | .{ ._, ._pd, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 132535 | .{ ._, ._pd, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 132536 | .{ ._, ._pd, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 132537 | .{ ._, ._pd, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 132538 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132539 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132540 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 132541 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 132542 | .{ ._, ._pd, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 132543 | .{ ._, ._sd, .min, .tmp4x, .tmp3x, ._, ._ }, |
| | 132544 | .{ ._, ._sd, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 132545 | .{ ._, ._pd, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 132546 | .{ ._, ._pd, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 132547 | .{ ._, ._pd, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 132548 | } }, |
| | 132549 | }, .{ |
| | 132550 | .required_features = .{ .x87, .cmov, null, null }, |
| | 132551 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132552 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 132553 | .patterns = &.{ |
| | 132554 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132555 | }, |
| | 132556 | .extra_temps = .{ |
| | 132557 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132558 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 132559 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 132560 | .unused, |
| | 132561 | .unused, |
| | 132562 | .unused, |
| | 132563 | .unused, |
| | 132564 | .unused, |
| | 132565 | .unused, |
| | 132566 | .unused, |
| | 132567 | .unused, |
| | 132568 | }, |
| | 132569 | .dst_temps = .{ .mem, .unused }, |
| | 132570 | .clobbers = .{ .eflags = true }, |
| | 132571 | .each = .{ .once = &.{ |
| | 132572 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 132573 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 132574 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 132575 | .{ ._, .f_, .ucomi, .tmp2t, .tmp2t, ._, ._ }, |
| | 132576 | .{ ._, .f_u, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 132577 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 132578 | .{ ._, .f_nb, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 132579 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 132580 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 132581 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132582 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 132583 | } }, |
| | 132584 | }, .{ |
| | 132585 | .required_features = .{ .sahf, .x87, null, null }, |
| | 132586 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132587 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 132588 | .patterns = &.{ |
| | 132589 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132590 | }, |
| | 132591 | .extra_temps = .{ |
| | 132592 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132593 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 132594 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 132595 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 132596 | .unused, |
| | 132597 | .unused, |
| | 132598 | .unused, |
| | 132599 | .unused, |
| | 132600 | .unused, |
| | 132601 | .unused, |
| | 132602 | .unused, |
| | 132603 | }, |
| | 132604 | .dst_temps = .{ .mem, .unused }, |
| | 132605 | .clobbers = .{ .eflags = true }, |
| | 132606 | .each = .{ .once = &.{ |
| | 132607 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 132608 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 132609 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 132610 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 132611 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 132612 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 132613 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 132614 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| | 132615 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 132616 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| | 132617 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 132618 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 132619 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 132620 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 132621 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132622 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 132623 | } }, |
| | 132624 | }, .{ |
| | 132625 | .required_features = .{ .x87, null, null, null }, |
| | 132626 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 132627 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 132628 | .patterns = &.{ |
| | 132629 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132630 | }, |
| | 132631 | .extra_temps = .{ |
| | 132632 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132633 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 132634 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 132635 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 132636 | .unused, |
| | 132637 | .unused, |
| | 132638 | .unused, |
| | 132639 | .unused, |
| | 132640 | .unused, |
| | 132641 | .unused, |
| | 132642 | .unused, |
| | 132643 | }, |
| | 132644 | .dst_temps = .{ .mem, .unused }, |
| | 132645 | .clobbers = .{ .eflags = true }, |
| | 132646 | .each = .{ .once = &.{ |
| | 132647 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 132648 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 132649 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 132650 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 132651 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 132652 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 132653 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 132654 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| | 132655 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 132656 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| | 132657 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 132658 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 132659 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 132660 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 132661 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132662 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 132663 | } }, |
| | 132664 | }, .{ |
| | 132665 | .required_features = .{ .x87, .cmov, null, null }, |
| | 132666 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 132667 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 132668 | .patterns = &.{ |
| | 132669 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132670 | }, |
| | 132671 | .extra_temps = .{ |
| | 132672 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132673 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 132674 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 132675 | .unused, |
| | 132676 | .unused, |
| | 132677 | .unused, |
| | 132678 | .unused, |
| | 132679 | .unused, |
| | 132680 | .unused, |
| | 132681 | .unused, |
| | 132682 | .unused, |
| | 132683 | }, |
| | 132684 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 132685 | .clobbers = .{ .eflags = true }, |
| | 132686 | .each = .{ .once = &.{ |
| | 132687 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 132688 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 132689 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 132690 | .{ ._, .f_, .ucomi, .tmp2t, .tmp2t, ._, ._ }, |
| | 132691 | .{ ._, .f_u, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 132692 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 132693 | .{ ._, .f_nb, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 132694 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 132695 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132696 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132697 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 132698 | } }, |
| | 132699 | }, .{ |
| | 132700 | .required_features = .{ .sahf, .x87, null, null }, |
| | 132701 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 132702 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 132703 | .patterns = &.{ |
| | 132704 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132705 | }, |
| | 132706 | .extra_temps = .{ |
| | 132707 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132708 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 132709 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 132710 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 132711 | .unused, |
| | 132712 | .unused, |
| | 132713 | .unused, |
| | 132714 | .unused, |
| | 132715 | .unused, |
| | 132716 | .unused, |
| | 132717 | .unused, |
| | 132718 | }, |
| | 132719 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 132720 | .clobbers = .{ .eflags = true }, |
| | 132721 | .each = .{ .once = &.{ |
| | 132722 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 132723 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 132724 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 132725 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 132726 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 132727 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 132728 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 132729 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| | 132730 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 132731 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| | 132732 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 132733 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 132734 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 132735 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132736 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132737 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 132738 | } }, |
| | 132739 | }, .{ |
| | 132740 | .required_features = .{ .x87, null, null, null }, |
| | 132741 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 132742 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 132743 | .patterns = &.{ |
| | 132744 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132745 | }, |
| | 132746 | .extra_temps = .{ |
| | 132747 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132748 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 132749 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 132750 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 132751 | .unused, |
| | 132752 | .unused, |
| | 132753 | .unused, |
| | 132754 | .unused, |
| | 132755 | .unused, |
| | 132756 | .unused, |
| | 132757 | .unused, |
| | 132758 | }, |
| | 132759 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 132760 | .clobbers = .{ .eflags = true }, |
| | 132761 | .each = .{ .once = &.{ |
| | 132762 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 132763 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 132764 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 132765 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 132766 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 132767 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 132768 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 132769 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| | 132770 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 132771 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| | 132772 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 132773 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 132774 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 132775 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132776 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132777 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 132778 | } }, |
| | 132779 | }, .{ |
| | 132780 | .required_features = .{ .avx, null, null, null }, |
| | 132781 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 132782 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 132783 | .patterns = &.{ |
| | 132784 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132785 | }, |
| | 132786 | .call_frame = .{ .alignment = .@"16" }, |
| | 132787 | .extra_temps = .{ |
| | 132788 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132789 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 132790 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| | 132791 | .unused, |
| | 132792 | .unused, |
| | 132793 | .unused, |
| | 132794 | .unused, |
| | 132795 | .unused, |
| | 132796 | .unused, |
| | 132797 | .unused, |
| | 132798 | .unused, |
| | 132799 | }, |
| | 132800 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 132801 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 132802 | .each = .{ .once = &.{ |
| | 132803 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 132804 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 132805 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 132806 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 132807 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132808 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132809 | } }, |
| | 132810 | }, .{ |
| | 132811 | .required_features = .{ .sse2, null, null, null }, |
| | 132812 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 132813 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 132814 | .patterns = &.{ |
| | 132815 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132816 | }, |
| | 132817 | .call_frame = .{ .alignment = .@"16" }, |
| | 132818 | .extra_temps = .{ |
| | 132819 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132820 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 132821 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| | 132822 | .unused, |
| | 132823 | .unused, |
| | 132824 | .unused, |
| | 132825 | .unused, |
| | 132826 | .unused, |
| | 132827 | .unused, |
| | 132828 | .unused, |
| | 132829 | .unused, |
| | 132830 | }, |
| | 132831 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 132832 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 132833 | .each = .{ .once = &.{ |
| | 132834 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 132835 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 132836 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 132837 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 132838 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132839 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132840 | } }, |
| | 132841 | }, .{ |
| | 132842 | .required_features = .{ .sse, null, null, null }, |
| | 132843 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 132844 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 132845 | .patterns = &.{ |
| | 132846 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 132847 | }, |
| | 132848 | .call_frame = .{ .alignment = .@"16" }, |
| | 132849 | .extra_temps = .{ |
| | 132850 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 132851 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 132852 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| | 132853 | .unused, |
| | 132854 | .unused, |
| | 132855 | .unused, |
| | 132856 | .unused, |
| | 132857 | .unused, |
| | 132858 | .unused, |
| | 132859 | .unused, |
| | 132860 | .unused, |
| | 132861 | }, |
| | 132862 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 132863 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 132864 | .each = .{ .once = &.{ |
| | 132865 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 132866 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 132867 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 132868 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 132869 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 132870 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 132871 | } }, |
| | 132872 | } }, |
| | 132873 | .Max => comptime &.{ .{ |
| | 132874 | .required_features = .{ .avx, null, null, null }, |
| | 132875 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 132876 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 132877 | .patterns = &.{ |
| | 132878 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 132879 | }, |
| | 132880 | .extra_temps = .{ |
| | 132881 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 132882 | .unused, |
| | 132883 | .unused, |
| | 132884 | .unused, |
| | 132885 | .unused, |
| | 132886 | .unused, |
| | 132887 | .unused, |
| | 132888 | .unused, |
| | 132889 | .unused, |
| | 132890 | .unused, |
| | 132891 | .unused, |
| | 132892 | }, |
| | 132893 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 132894 | .each = .{ .once = &.{ |
| | 132895 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 132896 | .{ ._, .vp_b, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 132897 | } }, |
| | 132898 | }, .{ |
| | 132899 | .required_features = .{ .sse4_1, null, null, null }, |
| | 132900 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 132901 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 132902 | .patterns = &.{ |
| | 132903 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 132904 | }, |
| | 132905 | .extra_temps = .{ |
| | 132906 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 132907 | .unused, |
| | 132908 | .unused, |
| | 132909 | .unused, |
| | 132910 | .unused, |
| | 132911 | .unused, |
| | 132912 | .unused, |
| | 132913 | .unused, |
| | 132914 | .unused, |
| | 132915 | .unused, |
| | 132916 | .unused, |
| | 132917 | }, |
| | 132918 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 132919 | .each = .{ .once = &.{ |
| | 132920 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 132921 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 132922 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 132923 | } }, |
| | 132924 | }, .{ |
| | 132925 | .required_features = .{ .sse2, null, null, null }, |
| | 132926 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 132927 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 132928 | .patterns = &.{ |
| | 132929 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 132930 | }, |
| | 132931 | .extra_temps = .{ |
| | 132932 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 132933 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 132934 | .unused, |
| | 132935 | .unused, |
| | 132936 | .unused, |
| | 132937 | .unused, |
| | 132938 | .unused, |
| | 132939 | .unused, |
| | 132940 | .unused, |
| | 132941 | .unused, |
| | 132942 | .unused, |
| | 132943 | }, |
| | 132944 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 132945 | .each = .{ .once = &.{ |
| | 132946 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 132947 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 132948 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 132949 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 132950 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 132951 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 132952 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 132953 | } }, |
| | 132954 | }, .{ |
| | 132955 | .required_features = .{ .avx, null, null, null }, |
| | 132956 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 132957 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 132958 | .patterns = &.{ |
| | 132959 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 132960 | }, |
| | 132961 | .extra_temps = .{ |
| | 132962 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 132963 | .unused, |
| | 132964 | .unused, |
| | 132965 | .unused, |
| | 132966 | .unused, |
| | 132967 | .unused, |
| | 132968 | .unused, |
| | 132969 | .unused, |
| | 132970 | .unused, |
| | 132971 | .unused, |
| | 132972 | .unused, |
| | 132973 | }, |
| | 132974 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 132975 | .each = .{ .once = &.{ |
| | 132976 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 132977 | .{ ._, .vp_b, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 132978 | } }, |
| | 132979 | }, .{ |
| | 132980 | .required_features = .{ .sse2, null, null, null }, |
| | 132981 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 132982 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 132983 | .patterns = &.{ |
| | 132984 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 132985 | }, |
| | 132986 | .extra_temps = .{ |
| | 132987 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 132988 | .unused, |
| | 132989 | .unused, |
| | 132990 | .unused, |
| | 132991 | .unused, |
| | 132992 | .unused, |
| | 132993 | .unused, |
| | 132994 | .unused, |
| | 132995 | .unused, |
| | 132996 | .unused, |
| | 132997 | .unused, |
| | 132998 | }, |
| | 132999 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133000 | .each = .{ .once = &.{ |
| | 133001 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 133002 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133003 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133004 | } }, |
| | 133005 | }, .{ |
| | 133006 | .required_features = .{ .avx, null, null, null }, |
| | 133007 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133008 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133009 | .patterns = &.{ |
| | 133010 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133011 | }, |
| | 133012 | .extra_temps = .{ |
| | 133013 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133014 | .unused, |
| | 133015 | .unused, |
| | 133016 | .unused, |
| | 133017 | .unused, |
| | 133018 | .unused, |
| | 133019 | .unused, |
| | 133020 | .unused, |
| | 133021 | .unused, |
| | 133022 | .unused, |
| | 133023 | .unused, |
| | 133024 | }, |
| | 133025 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133026 | .each = .{ .once = &.{ |
| | 133027 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133028 | .{ ._, .vp_b, .maxs, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 133029 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| | 133030 | .{ ._, .vp_b, .maxs, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 133031 | } }, |
| | 133032 | }, .{ |
| | 133033 | .required_features = .{ .sse4_1, null, null, null }, |
| | 133034 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133035 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133036 | .patterns = &.{ |
| | 133037 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133038 | }, |
| | 133039 | .extra_temps = .{ |
| | 133040 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133041 | .unused, |
| | 133042 | .unused, |
| | 133043 | .unused, |
| | 133044 | .unused, |
| | 133045 | .unused, |
| | 133046 | .unused, |
| | 133047 | .unused, |
| | 133048 | .unused, |
| | 133049 | .unused, |
| | 133050 | .unused, |
| | 133051 | }, |
| | 133052 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133053 | .each = .{ .once = &.{ |
| | 133054 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133055 | .{ ._, .p_b, .maxs, .tmp0x, .src0x, ._, ._ }, |
| | 133056 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| | 133057 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133058 | } }, |
| | 133059 | }, .{ |
| | 133060 | .required_features = .{ .sse2, null, null, null }, |
| | 133061 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133062 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133063 | .patterns = &.{ |
| | 133064 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133065 | }, |
| | 133066 | .extra_temps = .{ |
| | 133067 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133068 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133069 | .unused, |
| | 133070 | .unused, |
| | 133071 | .unused, |
| | 133072 | .unused, |
| | 133073 | .unused, |
| | 133074 | .unused, |
| | 133075 | .unused, |
| | 133076 | .unused, |
| | 133077 | .unused, |
| | 133078 | }, |
| | 133079 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133080 | .each = .{ .once = &.{ |
| | 133081 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133082 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 133083 | .{ ._, .p_b, .cmpgt, .tmp1x, .src0x, ._, ._ }, |
| | 133084 | .{ ._, .p_, .@"and", .tmp0x, .tmp1x, ._, ._ }, |
| | 133085 | .{ ._, .p_, .andn, .tmp1x, .src0x, ._, ._ }, |
| | 133086 | .{ ._, .p_, .@"or", .tmp0x, .tmp1x, ._, ._ }, |
| | 133087 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| | 133088 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 133089 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133090 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133091 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133092 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133093 | } }, |
| | 133094 | }, .{ |
| | 133095 | .required_features = .{ .avx, null, null, null }, |
| | 133096 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133097 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133098 | .patterns = &.{ |
| | 133099 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133100 | }, |
| | 133101 | .extra_temps = .{ |
| | 133102 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133103 | .unused, |
| | 133104 | .unused, |
| | 133105 | .unused, |
| | 133106 | .unused, |
| | 133107 | .unused, |
| | 133108 | .unused, |
| | 133109 | .unused, |
| | 133110 | .unused, |
| | 133111 | .unused, |
| | 133112 | .unused, |
| | 133113 | }, |
| | 133114 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133115 | .each = .{ .once = &.{ |
| | 133116 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133117 | .{ ._, .vp_b, .maxu, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 133118 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| | 133119 | .{ ._, .vp_b, .maxu, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 133120 | } }, |
| | 133121 | }, .{ |
| | 133122 | .required_features = .{ .sse2, null, null, null }, |
| | 133123 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133124 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133125 | .patterns = &.{ |
| | 133126 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133127 | }, |
| | 133128 | .extra_temps = .{ |
| | 133129 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133130 | .unused, |
| | 133131 | .unused, |
| | 133132 | .unused, |
| | 133133 | .unused, |
| | 133134 | .unused, |
| | 133135 | .unused, |
| | 133136 | .unused, |
| | 133137 | .unused, |
| | 133138 | .unused, |
| | 133139 | .unused, |
| | 133140 | }, |
| | 133141 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133142 | .each = .{ .once = &.{ |
| | 133143 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133144 | .{ ._, .p_b, .maxu, .tmp0x, .src0x, ._, ._ }, |
| | 133145 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| | 133146 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133147 | } }, |
| | 133148 | }, .{ |
| | 133149 | .required_features = .{ .avx, null, null, null }, |
| | 133150 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133151 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133152 | .patterns = &.{ |
| | 133153 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133154 | }, |
| | 133155 | .extra_temps = .{ |
| | 133156 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133157 | .unused, |
| | 133158 | .unused, |
| | 133159 | .unused, |
| | 133160 | .unused, |
| | 133161 | .unused, |
| | 133162 | .unused, |
| | 133163 | .unused, |
| | 133164 | .unused, |
| | 133165 | .unused, |
| | 133166 | .unused, |
| | 133167 | }, |
| | 133168 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133169 | .each = .{ .once = &.{ |
| | 133170 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133171 | .{ ._, .vp_b, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 133172 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 133173 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133174 | } }, |
| | 133175 | }, .{ |
| | 133176 | .required_features = .{ .sse4_1, null, null, null }, |
| | 133177 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133178 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133179 | .patterns = &.{ |
| | 133180 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133181 | }, |
| | 133182 | .extra_temps = .{ |
| | 133183 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133184 | .unused, |
| | 133185 | .unused, |
| | 133186 | .unused, |
| | 133187 | .unused, |
| | 133188 | .unused, |
| | 133189 | .unused, |
| | 133190 | .unused, |
| | 133191 | .unused, |
| | 133192 | .unused, |
| | 133193 | .unused, |
| | 133194 | }, |
| | 133195 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133196 | .each = .{ .once = &.{ |
| | 133197 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133198 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133199 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 133200 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133201 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133202 | } }, |
| | 133203 | }, .{ |
| | 133204 | .required_features = .{ .sse2, null, null, null }, |
| | 133205 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133206 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133207 | .patterns = &.{ |
| | 133208 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133209 | }, |
| | 133210 | .extra_temps = .{ |
| | 133211 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133212 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133213 | .unused, |
| | 133214 | .unused, |
| | 133215 | .unused, |
| | 133216 | .unused, |
| | 133217 | .unused, |
| | 133218 | .unused, |
| | 133219 | .unused, |
| | 133220 | .unused, |
| | 133221 | .unused, |
| | 133222 | }, |
| | 133223 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133224 | .each = .{ .once = &.{ |
| | 133225 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133226 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 133227 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133228 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133229 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133230 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133231 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 133232 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133233 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 133234 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133235 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133236 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133237 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133238 | } }, |
| | 133239 | }, .{ |
| | 133240 | .required_features = .{ .avx, null, null, null }, |
| | 133241 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133242 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133243 | .patterns = &.{ |
| | 133244 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133245 | }, |
| | 133246 | .extra_temps = .{ |
| | 133247 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133248 | .unused, |
| | 133249 | .unused, |
| | 133250 | .unused, |
| | 133251 | .unused, |
| | 133252 | .unused, |
| | 133253 | .unused, |
| | 133254 | .unused, |
| | 133255 | .unused, |
| | 133256 | .unused, |
| | 133257 | .unused, |
| | 133258 | }, |
| | 133259 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133260 | .each = .{ .once = &.{ |
| | 133261 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133262 | .{ ._, .vp_b, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 133263 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 133264 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133265 | } }, |
| | 133266 | }, .{ |
| | 133267 | .required_features = .{ .sse2, null, null, null }, |
| | 133268 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133269 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 133270 | .patterns = &.{ |
| | 133271 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133272 | }, |
| | 133273 | .extra_temps = .{ |
| | 133274 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133275 | .unused, |
| | 133276 | .unused, |
| | 133277 | .unused, |
| | 133278 | .unused, |
| | 133279 | .unused, |
| | 133280 | .unused, |
| | 133281 | .unused, |
| | 133282 | .unused, |
| | 133283 | .unused, |
| | 133284 | .unused, |
| | 133285 | }, |
| | 133286 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133287 | .each = .{ .once = &.{ |
| | 133288 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 133289 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133290 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 133291 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133292 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133293 | } }, |
| | 133294 | }, .{ |
| | 133295 | .required_features = .{ .avx, null, null, null }, |
| | 133296 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133297 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133298 | .patterns = &.{ |
| | 133299 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133300 | }, |
| | 133301 | .extra_temps = .{ |
| | 133302 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133303 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133304 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 133305 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133306 | .unused, |
| | 133307 | .unused, |
| | 133308 | .unused, |
| | 133309 | .unused, |
| | 133310 | .unused, |
| | 133311 | .unused, |
| | 133312 | .unused, |
| | 133313 | }, |
| | 133314 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133315 | .each = .{ .once = &.{ |
| | 133316 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133317 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 133318 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 133319 | .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| | 133320 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 133321 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 133322 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 133323 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 133324 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 133325 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 133326 | } }, |
| | 133327 | }, .{ |
| | 133328 | .required_features = .{ .sse4_1, null, null, null }, |
| | 133329 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133330 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133331 | .patterns = &.{ |
| | 133332 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133333 | }, |
| | 133334 | .extra_temps = .{ |
| | 133335 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133336 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133337 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 133338 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133339 | .unused, |
| | 133340 | .unused, |
| | 133341 | .unused, |
| | 133342 | .unused, |
| | 133343 | .unused, |
| | 133344 | .unused, |
| | 133345 | .unused, |
| | 133346 | }, |
| | 133347 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133348 | .each = .{ .once = &.{ |
| | 133349 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133350 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133351 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 133352 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133353 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 133354 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 133355 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 133356 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 133357 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 133358 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 133359 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 133360 | } }, |
| | 133361 | }, .{ |
| | 133362 | .required_features = .{ .sse2, null, null, null }, |
| | 133363 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133364 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133365 | .patterns = &.{ |
| | 133366 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133367 | }, |
| | 133368 | .extra_temps = .{ |
| | 133369 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133370 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133371 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 133372 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133373 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133374 | .unused, |
| | 133375 | .unused, |
| | 133376 | .unused, |
| | 133377 | .unused, |
| | 133378 | .unused, |
| | 133379 | .unused, |
| | 133380 | }, |
| | 133381 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133382 | .each = .{ .once = &.{ |
| | 133383 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133384 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133385 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 133386 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133387 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 133388 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 133389 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 133390 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 133391 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 133392 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 133393 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 133394 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 133395 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 133396 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 133397 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 133398 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 133399 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 133400 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 133401 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 133402 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 133403 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 133404 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 133405 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 133406 | } }, |
| | 133407 | }, .{ |
| | 133408 | .required_features = .{ .avx, null, null, null }, |
| | 133409 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133410 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133411 | .patterns = &.{ |
| | 133412 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133413 | }, |
| | 133414 | .extra_temps = .{ |
| | 133415 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133416 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133417 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133418 | .unused, |
| | 133419 | .unused, |
| | 133420 | .unused, |
| | 133421 | .unused, |
| | 133422 | .unused, |
| | 133423 | .unused, |
| | 133424 | .unused, |
| | 133425 | .unused, |
| | 133426 | }, |
| | 133427 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133428 | .each = .{ .once = &.{ |
| | 133429 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133430 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 133431 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 133432 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 133433 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 133434 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 133435 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 133436 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 133437 | } }, |
| | 133438 | }, .{ |
| | 133439 | .required_features = .{ .sse2, null, null, null }, |
| | 133440 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133441 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133442 | .patterns = &.{ |
| | 133443 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133444 | }, |
| | 133445 | .extra_temps = .{ |
| | 133446 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133447 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133448 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133449 | .unused, |
| | 133450 | .unused, |
| | 133451 | .unused, |
| | 133452 | .unused, |
| | 133453 | .unused, |
| | 133454 | .unused, |
| | 133455 | .unused, |
| | 133456 | .unused, |
| | 133457 | }, |
| | 133458 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133459 | .each = .{ .once = &.{ |
| | 133460 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133461 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133462 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 133463 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 133464 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 133465 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 133466 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 133467 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 133468 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 133469 | } }, |
| | 133470 | }, .{ |
| | 133471 | .required_features = .{ .avx, null, null, null }, |
| | 133472 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133473 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133474 | .patterns = &.{ |
| | 133475 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133476 | }, |
| | 133477 | .extra_temps = .{ |
| | 133478 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133479 | .unused, |
| | 133480 | .unused, |
| | 133481 | .unused, |
| | 133482 | .unused, |
| | 133483 | .unused, |
| | 133484 | .unused, |
| | 133485 | .unused, |
| | 133486 | .unused, |
| | 133487 | .unused, |
| | 133488 | .unused, |
| | 133489 | }, |
| | 133490 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133491 | .each = .{ .once = &.{ |
| | 133492 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133493 | .{ ._, .vp_b, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 133494 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133495 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133496 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 133497 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133498 | } }, |
| | 133499 | }, .{ |
| | 133500 | .required_features = .{ .sse4_1, null, null, null }, |
| | 133501 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133502 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133503 | .patterns = &.{ |
| | 133504 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133505 | }, |
| | 133506 | .extra_temps = .{ |
| | 133507 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133508 | .unused, |
| | 133509 | .unused, |
| | 133510 | .unused, |
| | 133511 | .unused, |
| | 133512 | .unused, |
| | 133513 | .unused, |
| | 133514 | .unused, |
| | 133515 | .unused, |
| | 133516 | .unused, |
| | 133517 | .unused, |
| | 133518 | }, |
| | 133519 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133520 | .each = .{ .once = &.{ |
| | 133521 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133522 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133523 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133524 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133525 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 133526 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133527 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133528 | } }, |
| | 133529 | }, .{ |
| | 133530 | .required_features = .{ .sse2, null, null, null }, |
| | 133531 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133532 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133533 | .patterns = &.{ |
| | 133534 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133535 | }, |
| | 133536 | .extra_temps = .{ |
| | 133537 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133538 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133539 | .unused, |
| | 133540 | .unused, |
| | 133541 | .unused, |
| | 133542 | .unused, |
| | 133543 | .unused, |
| | 133544 | .unused, |
| | 133545 | .unused, |
| | 133546 | .unused, |
| | 133547 | .unused, |
| | 133548 | }, |
| | 133549 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133550 | .each = .{ .once = &.{ |
| | 133551 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133552 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 133553 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133554 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133555 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133556 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133557 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133558 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 133559 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133560 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133561 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133562 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133563 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 133564 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133565 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 133566 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133567 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133568 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133569 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133570 | } }, |
| | 133571 | }, .{ |
| | 133572 | .required_features = .{ .avx, null, null, null }, |
| | 133573 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133574 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133575 | .patterns = &.{ |
| | 133576 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133577 | }, |
| | 133578 | .extra_temps = .{ |
| | 133579 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133580 | .unused, |
| | 133581 | .unused, |
| | 133582 | .unused, |
| | 133583 | .unused, |
| | 133584 | .unused, |
| | 133585 | .unused, |
| | 133586 | .unused, |
| | 133587 | .unused, |
| | 133588 | .unused, |
| | 133589 | .unused, |
| | 133590 | }, |
| | 133591 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133592 | .each = .{ .once = &.{ |
| | 133593 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133594 | .{ ._, .vp_b, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 133595 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133596 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133597 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 133598 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133599 | } }, |
| | 133600 | }, .{ |
| | 133601 | .required_features = .{ .sse2, null, null, null }, |
| | 133602 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133603 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 133604 | .patterns = &.{ |
| | 133605 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133606 | }, |
| | 133607 | .extra_temps = .{ |
| | 133608 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133609 | .unused, |
| | 133610 | .unused, |
| | 133611 | .unused, |
| | 133612 | .unused, |
| | 133613 | .unused, |
| | 133614 | .unused, |
| | 133615 | .unused, |
| | 133616 | .unused, |
| | 133617 | .unused, |
| | 133618 | .unused, |
| | 133619 | }, |
| | 133620 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133621 | .each = .{ .once = &.{ |
| | 133622 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133623 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133624 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133625 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133626 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 133627 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133628 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133629 | } }, |
| | 133630 | }, .{ |
| | 133631 | .required_features = .{ .avx, null, null, null }, |
| | 133632 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133633 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133634 | .patterns = &.{ |
| | 133635 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133636 | }, |
| | 133637 | .extra_temps = .{ |
| | 133638 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133639 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133640 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 133641 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133642 | .unused, |
| | 133643 | .unused, |
| | 133644 | .unused, |
| | 133645 | .unused, |
| | 133646 | .unused, |
| | 133647 | .unused, |
| | 133648 | .unused, |
| | 133649 | }, |
| | 133650 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133651 | .each = .{ .once = &.{ |
| | 133652 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133653 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 133654 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 133655 | .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| | 133656 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 133657 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 133658 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 133659 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 133660 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 133661 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 133662 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 133663 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 133664 | } }, |
| | 133665 | }, .{ |
| | 133666 | .required_features = .{ .sse4_1, null, null, null }, |
| | 133667 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133668 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133669 | .patterns = &.{ |
| | 133670 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133671 | }, |
| | 133672 | .extra_temps = .{ |
| | 133673 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133674 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133675 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 133676 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133677 | .unused, |
| | 133678 | .unused, |
| | 133679 | .unused, |
| | 133680 | .unused, |
| | 133681 | .unused, |
| | 133682 | .unused, |
| | 133683 | .unused, |
| | 133684 | }, |
| | 133685 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133686 | .each = .{ .once = &.{ |
| | 133687 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133688 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133689 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 133690 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133691 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 133692 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 133693 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 133694 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 133695 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 133696 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 133697 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 133698 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 133699 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 133700 | } }, |
| | 133701 | }, .{ |
| | 133702 | .required_features = .{ .sse2, null, null, null }, |
| | 133703 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133704 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133705 | .patterns = &.{ |
| | 133706 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133707 | }, |
| | 133708 | .extra_temps = .{ |
| | 133709 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133710 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133711 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 133712 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133713 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133714 | .unused, |
| | 133715 | .unused, |
| | 133716 | .unused, |
| | 133717 | .unused, |
| | 133718 | .unused, |
| | 133719 | .unused, |
| | 133720 | }, |
| | 133721 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133722 | .each = .{ .once = &.{ |
| | 133723 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133724 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133725 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 133726 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133727 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 133728 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 133729 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 133730 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 133731 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 133732 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 133733 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 133734 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 133735 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 133736 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 133737 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 133738 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 133739 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 133740 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 133741 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 133742 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 133743 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 133744 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 133745 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 133746 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 133747 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 133748 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 133749 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 133750 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 133751 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 133752 | } }, |
| | 133753 | }, .{ |
| | 133754 | .required_features = .{ .avx, null, null, null }, |
| | 133755 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133756 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133757 | .patterns = &.{ |
| | 133758 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133759 | }, |
| | 133760 | .extra_temps = .{ |
| | 133761 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133762 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133763 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133764 | .unused, |
| | 133765 | .unused, |
| | 133766 | .unused, |
| | 133767 | .unused, |
| | 133768 | .unused, |
| | 133769 | .unused, |
| | 133770 | .unused, |
| | 133771 | .unused, |
| | 133772 | }, |
| | 133773 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133774 | .each = .{ .once = &.{ |
| | 133775 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133776 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 133777 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 133778 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 133779 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 133780 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 133781 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 133782 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 133783 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 133784 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 133785 | } }, |
| | 133786 | }, .{ |
| | 133787 | .required_features = .{ .sse2, null, null, null }, |
| | 133788 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133789 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133790 | .patterns = &.{ |
| | 133791 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133792 | }, |
| | 133793 | .extra_temps = .{ |
| | 133794 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 133795 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 133796 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133797 | .unused, |
| | 133798 | .unused, |
| | 133799 | .unused, |
| | 133800 | .unused, |
| | 133801 | .unused, |
| | 133802 | .unused, |
| | 133803 | .unused, |
| | 133804 | .unused, |
| | 133805 | }, |
| | 133806 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133807 | .each = .{ .once = &.{ |
| | 133808 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 133809 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 133810 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 133811 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 133812 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 133813 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 133814 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 133815 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 133816 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 133817 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 133818 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 133819 | } }, |
| | 133820 | }, .{ |
| | 133821 | .required_features = .{ .avx, null, null, null }, |
| | 133822 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133823 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133824 | .patterns = &.{ |
| | 133825 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133826 | }, |
| | 133827 | .extra_temps = .{ |
| | 133828 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133829 | .unused, |
| | 133830 | .unused, |
| | 133831 | .unused, |
| | 133832 | .unused, |
| | 133833 | .unused, |
| | 133834 | .unused, |
| | 133835 | .unused, |
| | 133836 | .unused, |
| | 133837 | .unused, |
| | 133838 | .unused, |
| | 133839 | }, |
| | 133840 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133841 | .each = .{ .once = &.{ |
| | 133842 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133843 | .{ ._, .vp_b, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 133844 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 133845 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133846 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133847 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133848 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 133849 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133850 | } }, |
| | 133851 | }, .{ |
| | 133852 | .required_features = .{ .sse4_1, null, null, null }, |
| | 133853 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133854 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133855 | .patterns = &.{ |
| | 133856 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133857 | }, |
| | 133858 | .extra_temps = .{ |
| | 133859 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133860 | .unused, |
| | 133861 | .unused, |
| | 133862 | .unused, |
| | 133863 | .unused, |
| | 133864 | .unused, |
| | 133865 | .unused, |
| | 133866 | .unused, |
| | 133867 | .unused, |
| | 133868 | .unused, |
| | 133869 | .unused, |
| | 133870 | }, |
| | 133871 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133872 | .each = .{ .once = &.{ |
| | 133873 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133874 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133875 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 133876 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133877 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133878 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133879 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 133880 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133881 | .{ ._, .p_b, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 133882 | } }, |
| | 133883 | }, .{ |
| | 133884 | .required_features = .{ .sse2, null, null, null }, |
| | 133885 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133886 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133887 | .patterns = &.{ |
| | 133888 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133889 | }, |
| | 133890 | .extra_temps = .{ |
| | 133891 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133892 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 133893 | .unused, |
| | 133894 | .unused, |
| | 133895 | .unused, |
| | 133896 | .unused, |
| | 133897 | .unused, |
| | 133898 | .unused, |
| | 133899 | .unused, |
| | 133900 | .unused, |
| | 133901 | .unused, |
| | 133902 | }, |
| | 133903 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133904 | .each = .{ .once = &.{ |
| | 133905 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133906 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 133907 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133908 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133909 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133910 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133911 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 133912 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 133913 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133914 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133915 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133916 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133917 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133918 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 133919 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133920 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133921 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133922 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133923 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 133924 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133925 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 133926 | .{ ._, .p_b, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 133927 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 133928 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 133929 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 133930 | } }, |
| | 133931 | }, .{ |
| | 133932 | .required_features = .{ .avx, null, null, null }, |
| | 133933 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133934 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133935 | .patterns = &.{ |
| | 133936 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 133937 | }, |
| | 133938 | .extra_temps = .{ |
| | 133939 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133940 | .unused, |
| | 133941 | .unused, |
| | 133942 | .unused, |
| | 133943 | .unused, |
| | 133944 | .unused, |
| | 133945 | .unused, |
| | 133946 | .unused, |
| | 133947 | .unused, |
| | 133948 | .unused, |
| | 133949 | .unused, |
| | 133950 | }, |
| | 133951 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 133952 | .each = .{ .once = &.{ |
| | 133953 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133954 | .{ ._, .vp_b, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 133955 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 133956 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133957 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133958 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133959 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 133960 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 133961 | } }, |
| | 133962 | }, .{ |
| | 133963 | .required_features = .{ .sse2, null, null, null }, |
| | 133964 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 133965 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 133966 | .patterns = &.{ |
| | 133967 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 133968 | }, |
| | 133969 | .extra_temps = .{ |
| | 133970 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 133971 | .unused, |
| | 133972 | .unused, |
| | 133973 | .unused, |
| | 133974 | .unused, |
| | 133975 | .unused, |
| | 133976 | .unused, |
| | 133977 | .unused, |
| | 133978 | .unused, |
| | 133979 | .unused, |
| | 133980 | .unused, |
| | 133981 | }, |
| | 133982 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 133983 | .each = .{ .once = &.{ |
| | 133984 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 133985 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133986 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 133987 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133988 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 133989 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133990 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 133991 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 133992 | .{ ._, .p_b, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 133993 | } }, |
| | 133994 | }, .{ |
| | 133995 | .required_features = .{ .avx2, null, null, null }, |
| | 133996 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 133997 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 133998 | .patterns = &.{ |
| | 133999 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 134000 | }, |
| | 134001 | .extra_temps = .{ |
| | 134002 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 134003 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134004 | .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 134005 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134006 | .unused, |
| | 134007 | .unused, |
| | 134008 | .unused, |
| | 134009 | .unused, |
| | 134010 | .unused, |
| | 134011 | .unused, |
| | 134012 | .unused, |
| | 134013 | }, |
| | 134014 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 134015 | .each = .{ .once = &.{ |
| | 134016 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134017 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 134018 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 134019 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 134020 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 134021 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134022 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134023 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134024 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134025 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134026 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 134027 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134028 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 134029 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134030 | } }, |
| | 134031 | }, .{ |
| | 134032 | .required_features = .{ .avx, null, null, null }, |
| | 134033 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134034 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134035 | .patterns = &.{ |
| | 134036 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 134037 | }, |
| | 134038 | .extra_temps = .{ |
| | 134039 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 134040 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134041 | .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 134042 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134043 | .unused, |
| | 134044 | .unused, |
| | 134045 | .unused, |
| | 134046 | .unused, |
| | 134047 | .unused, |
| | 134048 | .unused, |
| | 134049 | .unused, |
| | 134050 | }, |
| | 134051 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 134052 | .each = .{ .once = &.{ |
| | 134053 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134054 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 134055 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 134056 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 134057 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 134058 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134059 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134060 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134061 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134062 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134063 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 134064 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134065 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 134066 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134067 | } }, |
| | 134068 | }, .{ |
| | 134069 | .required_features = .{ .avx2, null, null, null }, |
| | 134070 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134071 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134072 | .patterns = &.{ |
| | 134073 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 134074 | }, |
| | 134075 | .extra_temps = .{ |
| | 134076 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 134077 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134078 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 134079 | .unused, |
| | 134080 | .unused, |
| | 134081 | .unused, |
| | 134082 | .unused, |
| | 134083 | .unused, |
| | 134084 | .unused, |
| | 134085 | .unused, |
| | 134086 | .unused, |
| | 134087 | }, |
| | 134088 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 134089 | .each = .{ .once = &.{ |
| | 134090 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134091 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 134092 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 134093 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134094 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 134095 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134096 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 134097 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134098 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 134099 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134100 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 134101 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134102 | } }, |
| | 134103 | }, .{ |
| | 134104 | .required_features = .{ .avx, null, null, null }, |
| | 134105 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134106 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134107 | .patterns = &.{ |
| | 134108 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 134109 | }, |
| | 134110 | .extra_temps = .{ |
| | 134111 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 134112 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134113 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 134114 | .unused, |
| | 134115 | .unused, |
| | 134116 | .unused, |
| | 134117 | .unused, |
| | 134118 | .unused, |
| | 134119 | .unused, |
| | 134120 | .unused, |
| | 134121 | .unused, |
| | 134122 | }, |
| | 134123 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 134124 | .each = .{ .once = &.{ |
| | 134125 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134126 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 134127 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 134128 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134129 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 134130 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134131 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 134132 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134133 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 134134 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134135 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 134136 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134137 | } }, |
| | 134138 | }, .{ |
| | 134139 | .required_features = .{ .avx2, null, null, null }, |
| | 134140 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134141 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134142 | .patterns = &.{ |
| | 134143 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 134144 | }, |
| | 134145 | .extra_temps = .{ |
| | 134146 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134147 | .unused, |
| | 134148 | .unused, |
| | 134149 | .unused, |
| | 134150 | .unused, |
| | 134151 | .unused, |
| | 134152 | .unused, |
| | 134153 | .unused, |
| | 134154 | .unused, |
| | 134155 | .unused, |
| | 134156 | .unused, |
| | 134157 | }, |
| | 134158 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 134159 | .each = .{ .once = &.{ |
| | 134160 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 134161 | .{ ._, .vp_b, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 134162 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134163 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134164 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134165 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134166 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 134167 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134168 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 134169 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134170 | } }, |
| | 134171 | }, .{ |
| | 134172 | .required_features = .{ .avx, null, null, null }, |
| | 134173 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134174 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134175 | .patterns = &.{ |
| | 134176 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 134177 | }, |
| | 134178 | .extra_temps = .{ |
| | 134179 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134180 | .unused, |
| | 134181 | .unused, |
| | 134182 | .unused, |
| | 134183 | .unused, |
| | 134184 | .unused, |
| | 134185 | .unused, |
| | 134186 | .unused, |
| | 134187 | .unused, |
| | 134188 | .unused, |
| | 134189 | .unused, |
| | 134190 | }, |
| | 134191 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 134192 | .each = .{ .once = &.{ |
| | 134193 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 134194 | .{ ._, .vp_b, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 134195 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134196 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134197 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134198 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134199 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 134200 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134201 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 134202 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134203 | } }, |
| | 134204 | }, .{ |
| | 134205 | .required_features = .{ .avx2, null, null, null }, |
| | 134206 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134207 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134208 | .patterns = &.{ |
| | 134209 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 134210 | }, |
| | 134211 | .extra_temps = .{ |
| | 134212 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 134213 | .unused, |
| | 134214 | .unused, |
| | 134215 | .unused, |
| | 134216 | .unused, |
| | 134217 | .unused, |
| | 134218 | .unused, |
| | 134219 | .unused, |
| | 134220 | .unused, |
| | 134221 | .unused, |
| | 134222 | .unused, |
| | 134223 | }, |
| | 134224 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 134225 | .each = .{ .once = &.{ |
| | 134226 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 134227 | .{ ._, .vp_b, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 134228 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134229 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134230 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134231 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134232 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 134233 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134234 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 134235 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134236 | } }, |
| | 134237 | }, .{ |
| | 134238 | .required_features = .{ .avx, null, null, null }, |
| | 134239 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134240 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134241 | .patterns = &.{ |
| | 134242 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 134243 | }, |
| | 134244 | .extra_temps = .{ |
| | 134245 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 134246 | .unused, |
| | 134247 | .unused, |
| | 134248 | .unused, |
| | 134249 | .unused, |
| | 134250 | .unused, |
| | 134251 | .unused, |
| | 134252 | .unused, |
| | 134253 | .unused, |
| | 134254 | .unused, |
| | 134255 | .unused, |
| | 134256 | }, |
| | 134257 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 134258 | .each = .{ .once = &.{ |
| | 134259 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 134260 | .{ ._, .vp_b, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 134261 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134262 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134263 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134264 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134265 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 134266 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134267 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 134268 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134269 | } }, |
| | 134270 | }, .{ |
| | 134271 | .required_features = .{ .avx512f, null, null, null }, |
| | 134272 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134273 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 134274 | .patterns = &.{ |
| | 134275 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134276 | }, |
| | 134277 | .extra_temps = .{ |
| | 134278 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 134279 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134280 | .{ .type = .vector_64_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 134281 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, |
| | 134282 | .unused, |
| | 134283 | .unused, |
| | 134284 | .unused, |
| | 134285 | .unused, |
| | 134286 | .unused, |
| | 134287 | .unused, |
| | 134288 | .unused, |
| | 134289 | }, |
| | 134290 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134291 | .each = .{ .once = &.{ |
| | 134292 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134293 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 134294 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 134295 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 134296 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 134297 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 134298 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 134299 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 134300 | .{ ._, .vp_b, .maxs, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 134301 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 134302 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134303 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134304 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134305 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134306 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134307 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 134308 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134309 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 134310 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134311 | } }, |
| | 134312 | }, .{ |
| | 134313 | .required_features = .{ .avx512f, null, null, null }, |
| | 134314 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134315 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 134316 | .patterns = &.{ |
| | 134317 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134318 | }, |
| | 134319 | .extra_temps = .{ |
| | 134320 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 134321 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134322 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 134323 | .unused, |
| | 134324 | .unused, |
| | 134325 | .unused, |
| | 134326 | .unused, |
| | 134327 | .unused, |
| | 134328 | .unused, |
| | 134329 | .unused, |
| | 134330 | .unused, |
| | 134331 | }, |
| | 134332 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134333 | .each = .{ .once = &.{ |
| | 134334 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134335 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 134336 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 134337 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 134338 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 134339 | .{ ._, .vp_b, .maxu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 134340 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 134341 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134342 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 134343 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134344 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 134345 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134346 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 134347 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134348 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 134349 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134350 | } }, |
| | 134351 | }, .{ |
| | 134352 | .required_features = .{ .avx512f, null, null, null }, |
| | 134353 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134354 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 134355 | .patterns = &.{ |
| | 134356 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134357 | }, |
| | 134358 | .extra_temps = .{ |
| | 134359 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134360 | .unused, |
| | 134361 | .unused, |
| | 134362 | .unused, |
| | 134363 | .unused, |
| | 134364 | .unused, |
| | 134365 | .unused, |
| | 134366 | .unused, |
| | 134367 | .unused, |
| | 134368 | .unused, |
| | 134369 | .unused, |
| | 134370 | }, |
| | 134371 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134372 | .each = .{ .once = &.{ |
| | 134373 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 134374 | .{ ._, .vp_b, .maxs, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 134375 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 134376 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134377 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134378 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134379 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134380 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134381 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 134382 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134383 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 134384 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134385 | } }, |
| | 134386 | }, .{ |
| | 134387 | .required_features = .{ .avx512f, null, null, null }, |
| | 134388 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134389 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 134390 | .patterns = &.{ |
| | 134391 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134392 | }, |
| | 134393 | .extra_temps = .{ |
| | 134394 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 134395 | .unused, |
| | 134396 | .unused, |
| | 134397 | .unused, |
| | 134398 | .unused, |
| | 134399 | .unused, |
| | 134400 | .unused, |
| | 134401 | .unused, |
| | 134402 | .unused, |
| | 134403 | .unused, |
| | 134404 | .unused, |
| | 134405 | }, |
| | 134406 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134407 | .each = .{ .once = &.{ |
| | 134408 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 134409 | .{ ._, .vp_b, .maxu, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 134410 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 134411 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134412 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134413 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134414 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 134415 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134416 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 134417 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134418 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 134419 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 134420 | } }, |
| | 134421 | }, .{ |
| | 134422 | .required_features = .{ .avx2, null, null, null }, |
| | 134423 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134424 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134425 | .patterns = &.{ |
| | 134426 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134427 | }, |
| | 134428 | .extra_temps = .{ |
| | 134429 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134430 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134431 | .unused, |
| | 134432 | .unused, |
| | 134433 | .unused, |
| | 134434 | .unused, |
| | 134435 | .unused, |
| | 134436 | .unused, |
| | 134437 | .unused, |
| | 134438 | .unused, |
| | 134439 | .unused, |
| | 134440 | }, |
| | 134441 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134442 | .clobbers = .{ .eflags = true }, |
| | 134443 | .each = .{ .once = &.{ |
| | 134444 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 134445 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 134446 | .{ .@"0:", .vp_b, .maxs, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 134447 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 134448 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134449 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 134450 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134451 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134452 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134453 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134454 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134455 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 134456 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134457 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 134458 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134459 | } }, |
| | 134460 | }, .{ |
| | 134461 | .required_features = .{ .avx, null, null, null }, |
| | 134462 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134463 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 134464 | .patterns = &.{ |
| | 134465 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134466 | }, |
| | 134467 | .extra_temps = .{ |
| | 134468 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134469 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134470 | .unused, |
| | 134471 | .unused, |
| | 134472 | .unused, |
| | 134473 | .unused, |
| | 134474 | .unused, |
| | 134475 | .unused, |
| | 134476 | .unused, |
| | 134477 | .unused, |
| | 134478 | .unused, |
| | 134479 | }, |
| | 134480 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134481 | .clobbers = .{ .eflags = true }, |
| | 134482 | .each = .{ .once = &.{ |
| | 134483 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 134484 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 134485 | .{ .@"0:", .vp_b, .maxs, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 134486 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 134487 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134488 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134489 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134490 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134491 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134492 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 134493 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134494 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 134495 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134496 | } }, |
| | 134497 | }, .{ |
| | 134498 | .required_features = .{ .sse4_1, null, null, null }, |
| | 134499 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134500 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 134501 | .patterns = &.{ |
| | 134502 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134503 | }, |
| | 134504 | .extra_temps = .{ |
| | 134505 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134506 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134507 | .unused, |
| | 134508 | .unused, |
| | 134509 | .unused, |
| | 134510 | .unused, |
| | 134511 | .unused, |
| | 134512 | .unused, |
| | 134513 | .unused, |
| | 134514 | .unused, |
| | 134515 | .unused, |
| | 134516 | }, |
| | 134517 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134518 | .clobbers = .{ .eflags = true }, |
| | 134519 | .each = .{ .once = &.{ |
| | 134520 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 134521 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 134522 | .{ .@"0:", .p_b, .maxs, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 134523 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 134524 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134525 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134526 | .{ ._, .p_b, .maxs, .dst0x, .tmp1x, ._, ._ }, |
| | 134527 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134528 | .{ ._, .p_b, .maxs, .dst0x, .tmp1x, ._, ._ }, |
| | 134529 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 134530 | .{ ._, .p_b, .maxs, .dst0x, .tmp1x, ._, ._ }, |
| | 134531 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 134532 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 134533 | .{ ._, .p_b, .maxs, .dst0x, .tmp1x, ._, ._ }, |
| | 134534 | } }, |
| | 134535 | }, .{ |
| | 134536 | .required_features = .{ .sse2, null, null, null }, |
| | 134537 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134538 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 134539 | .patterns = &.{ |
| | 134540 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134541 | }, |
| | 134542 | .extra_temps = .{ |
| | 134543 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134544 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134545 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134546 | .unused, |
| | 134547 | .unused, |
| | 134548 | .unused, |
| | 134549 | .unused, |
| | 134550 | .unused, |
| | 134551 | .unused, |
| | 134552 | .unused, |
| | 134553 | .unused, |
| | 134554 | }, |
| | 134555 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134556 | .clobbers = .{ .eflags = true }, |
| | 134557 | .each = .{ .once = &.{ |
| | 134558 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 134559 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 134560 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 134561 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 134562 | .{ ._, .p_b, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 134563 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 134564 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 134565 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 134566 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 134567 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134568 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134569 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 134570 | .{ ._, .p_b, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 134571 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 134572 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 134573 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 134574 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134575 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 134576 | .{ ._, .p_b, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 134577 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 134578 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 134579 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 134580 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 134581 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 134582 | .{ ._, .p_b, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 134583 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 134584 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 134585 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 134586 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 134587 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 134588 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 134589 | .{ ._, .p_b, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 134590 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 134591 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 134592 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 134593 | } }, |
| | 134594 | }, .{ |
| | 134595 | .required_features = .{ .avx2, null, null, null }, |
| | 134596 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134597 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134598 | .patterns = &.{ |
| | 134599 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134600 | }, |
| | 134601 | .extra_temps = .{ |
| | 134602 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134603 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 134604 | .unused, |
| | 134605 | .unused, |
| | 134606 | .unused, |
| | 134607 | .unused, |
| | 134608 | .unused, |
| | 134609 | .unused, |
| | 134610 | .unused, |
| | 134611 | .unused, |
| | 134612 | .unused, |
| | 134613 | }, |
| | 134614 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134615 | .clobbers = .{ .eflags = true }, |
| | 134616 | .each = .{ .once = &.{ |
| | 134617 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 134618 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 134619 | .{ .@"0:", .vp_b, .maxu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 134620 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 134621 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134622 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 134623 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134624 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134625 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134626 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134627 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134628 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 134629 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134630 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 134631 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134632 | } }, |
| | 134633 | }, .{ |
| | 134634 | .required_features = .{ .avx, null, null, null }, |
| | 134635 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134636 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 134637 | .patterns = &.{ |
| | 134638 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134639 | }, |
| | 134640 | .extra_temps = .{ |
| | 134641 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134642 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 134643 | .unused, |
| | 134644 | .unused, |
| | 134645 | .unused, |
| | 134646 | .unused, |
| | 134647 | .unused, |
| | 134648 | .unused, |
| | 134649 | .unused, |
| | 134650 | .unused, |
| | 134651 | .unused, |
| | 134652 | }, |
| | 134653 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134654 | .clobbers = .{ .eflags = true }, |
| | 134655 | .each = .{ .once = &.{ |
| | 134656 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 134657 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 134658 | .{ .@"0:", .vp_b, .maxu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 134659 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 134660 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134661 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134662 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134663 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134664 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134665 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 134666 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134667 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 134668 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 134669 | } }, |
| | 134670 | }, .{ |
| | 134671 | .required_features = .{ .sse2, null, null, null }, |
| | 134672 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134673 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 134674 | .patterns = &.{ |
| | 134675 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134676 | }, |
| | 134677 | .extra_temps = .{ |
| | 134678 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134679 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 134680 | .unused, |
| | 134681 | .unused, |
| | 134682 | .unused, |
| | 134683 | .unused, |
| | 134684 | .unused, |
| | 134685 | .unused, |
| | 134686 | .unused, |
| | 134687 | .unused, |
| | 134688 | .unused, |
| | 134689 | }, |
| | 134690 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134691 | .clobbers = .{ .eflags = true }, |
| | 134692 | .each = .{ .once = &.{ |
| | 134693 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 134694 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 134695 | .{ .@"0:", .p_b, .maxu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 134696 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 134697 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134698 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134699 | .{ ._, .p_b, .maxu, .dst0x, .tmp1x, ._, ._ }, |
| | 134700 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 134701 | .{ ._, .p_b, .maxu, .dst0x, .tmp1x, ._, ._ }, |
| | 134702 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 134703 | .{ ._, .p_b, .maxu, .dst0x, .tmp1x, ._, ._ }, |
| | 134704 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 134705 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 134706 | .{ ._, .p_b, .maxu, .dst0x, .tmp1x, ._, ._ }, |
| | 134707 | } }, |
| | 134708 | }, .{ |
| | 134709 | .required_features = .{ .avx512f, null, null, null }, |
| | 134710 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134711 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 134712 | .patterns = &.{ |
| | 134713 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134714 | }, |
| | 134715 | .extra_temps = .{ |
| | 134716 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134717 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134718 | .{ .type = .vector_64_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 134719 | .{ .type = .vector_32_i8, .kind = .{ .rc = .sse } }, |
| | 134720 | .unused, |
| | 134721 | .unused, |
| | 134722 | .unused, |
| | 134723 | .unused, |
| | 134724 | .unused, |
| | 134725 | .unused, |
| | 134726 | .unused, |
| | 134727 | }, |
| | 134728 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134729 | .clobbers = .{ .eflags = true }, |
| | 134730 | .each = .{ .once = &.{ |
| | 134731 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134732 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 134733 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 134734 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 134735 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 134736 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 134737 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 134738 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 134739 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 134740 | .{ .@"0:", .vp_b, .maxs, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 134741 | .{ ._, .vp_b, .maxs, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 134742 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 134743 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134744 | .{ ._, .vp_b, .maxs, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 134745 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 134746 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134747 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134748 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134749 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134750 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134751 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 134752 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134753 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 134754 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134755 | } }, |
| | 134756 | }, .{ |
| | 134757 | .required_features = .{ .avx2, null, null, null }, |
| | 134758 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134759 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134760 | .patterns = &.{ |
| | 134761 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134762 | }, |
| | 134763 | .extra_temps = .{ |
| | 134764 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134765 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134766 | .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 134767 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134768 | .unused, |
| | 134769 | .unused, |
| | 134770 | .unused, |
| | 134771 | .unused, |
| | 134772 | .unused, |
| | 134773 | .unused, |
| | 134774 | .unused, |
| | 134775 | }, |
| | 134776 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134777 | .clobbers = .{ .eflags = true }, |
| | 134778 | .each = .{ .once = &.{ |
| | 134779 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134780 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 134781 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 134782 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 134783 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 134784 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 134785 | .{ .@"0:", .vp_b, .maxs, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 134786 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 134787 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134788 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 134789 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134790 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134791 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134792 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134793 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134794 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 134795 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134796 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 134797 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134798 | } }, |
| | 134799 | }, .{ |
| | 134800 | .required_features = .{ .avx, null, null, null }, |
| | 134801 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134802 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134803 | .patterns = &.{ |
| | 134804 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134805 | }, |
| | 134806 | .extra_temps = .{ |
| | 134807 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134808 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134809 | .{ .type = .vector_32_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 134810 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134811 | .unused, |
| | 134812 | .unused, |
| | 134813 | .unused, |
| | 134814 | .unused, |
| | 134815 | .unused, |
| | 134816 | .unused, |
| | 134817 | .unused, |
| | 134818 | }, |
| | 134819 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134820 | .clobbers = .{ .eflags = true }, |
| | 134821 | .each = .{ .once = &.{ |
| | 134822 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134823 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 134824 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 134825 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 134826 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 134827 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 134828 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 134829 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134830 | .{ .@"0:", .vp_b, .maxs, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 134831 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 134832 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134833 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134834 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134835 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134836 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134837 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 134838 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134839 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 134840 | .{ ._, .vp_b, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 134841 | } }, |
| | 134842 | }, .{ |
| | 134843 | .required_features = .{ .sse4_1, null, null, null }, |
| | 134844 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134845 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 134846 | .patterns = &.{ |
| | 134847 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134848 | }, |
| | 134849 | .extra_temps = .{ |
| | 134850 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134851 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134852 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 134853 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134854 | .unused, |
| | 134855 | .unused, |
| | 134856 | .unused, |
| | 134857 | .unused, |
| | 134858 | .unused, |
| | 134859 | .unused, |
| | 134860 | .unused, |
| | 134861 | }, |
| | 134862 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134863 | .clobbers = .{ .eflags = true }, |
| | 134864 | .each = .{ .once = &.{ |
| | 134865 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134866 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 134867 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 134868 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 134869 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 134870 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 134871 | .{ .@"0:", .p_b, .maxs, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 134872 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 134873 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134874 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134875 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 134876 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134877 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 134878 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 134879 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 134880 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 134881 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 134882 | .{ ._, .p_b, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 134883 | } }, |
| | 134884 | }, .{ |
| | 134885 | .required_features = .{ .sse2, null, null, null }, |
| | 134886 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 134887 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 134888 | .patterns = &.{ |
| | 134889 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134890 | }, |
| | 134891 | .extra_temps = .{ |
| | 134892 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134893 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134894 | .{ .type = .vector_16_i8, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 134895 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134896 | .{ .type = .vector_16_i8, .kind = .{ .rc = .sse } }, |
| | 134897 | .unused, |
| | 134898 | .unused, |
| | 134899 | .unused, |
| | 134900 | .unused, |
| | 134901 | .unused, |
| | 134902 | .unused, |
| | 134903 | }, |
| | 134904 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134905 | .clobbers = .{ .eflags = true }, |
| | 134906 | .each = .{ .once = &.{ |
| | 134907 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134908 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 134909 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 134910 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 134911 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 134912 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 134913 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 134914 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 134915 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 134916 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 134917 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 134918 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 134919 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 134920 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134921 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134922 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 134923 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 134924 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 134925 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 134926 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 134927 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 134928 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 134929 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 134930 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 134931 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 134932 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 134933 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 134934 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 134935 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 134936 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 134937 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 134938 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 134939 | .{ ._, ._dqa, .mov, .tmp3x, .dst0x, ._, ._ }, |
| | 134940 | .{ ._, .p_w, .srl, .tmp3x, .ui(8), ._, ._ }, |
| | 134941 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 134942 | .{ ._, .p_b, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 134943 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 134944 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 134945 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 134946 | } }, |
| | 134947 | }, .{ |
| | 134948 | .required_features = .{ .avx512f, null, null, null }, |
| | 134949 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134950 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 134951 | .patterns = &.{ |
| | 134952 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134953 | }, |
| | 134954 | .extra_temps = .{ |
| | 134955 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 134956 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 134957 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 134958 | .unused, |
| | 134959 | .unused, |
| | 134960 | .unused, |
| | 134961 | .unused, |
| | 134962 | .unused, |
| | 134963 | .unused, |
| | 134964 | .unused, |
| | 134965 | .unused, |
| | 134966 | }, |
| | 134967 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 134968 | .clobbers = .{ .eflags = true }, |
| | 134969 | .each = .{ .once = &.{ |
| | 134970 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 134971 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 134972 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 134973 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 134974 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 134975 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 134976 | .{ .@"0:", .vp_b, .maxu, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 134977 | .{ ._, .vp_b, .maxu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 134978 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 134979 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 134980 | .{ ._, .vp_b, .maxu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 134981 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 134982 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134983 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 134984 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134985 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 134986 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134987 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 134988 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134989 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 134990 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 134991 | } }, |
| | 134992 | }, .{ |
| | 134993 | .required_features = .{ .avx2, null, null, null }, |
| | 134994 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 134995 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 134996 | .patterns = &.{ |
| | 134997 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 134998 | }, |
| | 134999 | .extra_temps = .{ |
| | 135000 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135001 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 135002 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 135003 | .unused, |
| | 135004 | .unused, |
| | 135005 | .unused, |
| | 135006 | .unused, |
| | 135007 | .unused, |
| | 135008 | .unused, |
| | 135009 | .unused, |
| | 135010 | .unused, |
| | 135011 | }, |
| | 135012 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 135013 | .clobbers = .{ .eflags = true }, |
| | 135014 | .each = .{ .once = &.{ |
| | 135015 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135016 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 135017 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 135018 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 135019 | .{ .@"0:", .vp_b, .maxu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 135020 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 135021 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 135022 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 135023 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135024 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 135025 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135026 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 135027 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135028 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 135029 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135030 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 135031 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135032 | } }, |
| | 135033 | }, .{ |
| | 135034 | .required_features = .{ .avx, null, null, null }, |
| | 135035 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 135036 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 135037 | .patterns = &.{ |
| | 135038 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135039 | }, |
| | 135040 | .extra_temps = .{ |
| | 135041 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135042 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 135043 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 135044 | .unused, |
| | 135045 | .unused, |
| | 135046 | .unused, |
| | 135047 | .unused, |
| | 135048 | .unused, |
| | 135049 | .unused, |
| | 135050 | .unused, |
| | 135051 | .unused, |
| | 135052 | }, |
| | 135053 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 135054 | .clobbers = .{ .eflags = true }, |
| | 135055 | .each = .{ .once = &.{ |
| | 135056 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135057 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 135058 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 135059 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 135060 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 135061 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135062 | .{ .@"0:", .vp_b, .maxu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 135063 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 135064 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 135065 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 135066 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135067 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 135068 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135069 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 135070 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135071 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 135072 | .{ ._, .vp_b, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135073 | } }, |
| | 135074 | }, .{ |
| | 135075 | .required_features = .{ .sse2, null, null, null }, |
| | 135076 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 135077 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 135078 | .patterns = &.{ |
| | 135079 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135080 | }, |
| | 135081 | .extra_temps = .{ |
| | 135082 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135083 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 135084 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 135085 | .unused, |
| | 135086 | .unused, |
| | 135087 | .unused, |
| | 135088 | .unused, |
| | 135089 | .unused, |
| | 135090 | .unused, |
| | 135091 | .unused, |
| | 135092 | .unused, |
| | 135093 | }, |
| | 135094 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 135095 | .clobbers = .{ .eflags = true }, |
| | 135096 | .each = .{ .once = &.{ |
| | 135097 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135098 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 135099 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 135100 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 135101 | .{ .@"0:", .p_b, .maxu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 135102 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 135103 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 135104 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 135105 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 135106 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 135107 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 135108 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 135109 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 135110 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 135111 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 135112 | .{ ._, .p_b, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 135113 | } }, |
| | 135114 | }, .{ |
| | 135115 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| | 135116 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 135117 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 135118 | .patterns = &.{ |
| | 135119 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135120 | }, |
| | 135121 | .extra_temps = .{ |
| | 135122 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135123 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 135124 | .unused, |
| | 135125 | .unused, |
| | 135126 | .unused, |
| | 135127 | .unused, |
| | 135128 | .unused, |
| | 135129 | .unused, |
| | 135130 | .unused, |
| | 135131 | .unused, |
| | 135132 | .unused, |
| | 135133 | }, |
| | 135134 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 135135 | .clobbers = .{ .eflags = true }, |
| | 135136 | .each = .{ .once = &.{ |
| | 135137 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 135138 | .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 135139 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 135140 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 135141 | .{ ._, ._l, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 135142 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 135143 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 135144 | } }, |
| | 135145 | }, .{ |
| | 135146 | .required_features = .{ .cmov, null, null, null }, |
| | 135147 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 135148 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 135149 | .patterns = &.{ |
| | 135150 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135151 | }, |
| | 135152 | .extra_temps = .{ |
| | 135153 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135154 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 135155 | .unused, |
| | 135156 | .unused, |
| | 135157 | .unused, |
| | 135158 | .unused, |
| | 135159 | .unused, |
| | 135160 | .unused, |
| | 135161 | .unused, |
| | 135162 | .unused, |
| | 135163 | .unused, |
| | 135164 | }, |
| | 135165 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 135166 | .clobbers = .{ .eflags = true }, |
| | 135167 | .each = .{ .once = &.{ |
| | 135168 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 135169 | .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 135170 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 135171 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 135172 | .{ ._, ._l, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 135173 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 135174 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 135175 | } }, |
| | 135176 | }, .{ |
| | 135177 | .required_features = .{ .slow_incdec, null, null, null }, |
| | 135178 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 135179 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 135180 | .patterns = &.{ |
| | 135181 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135182 | }, |
| | 135183 | .extra_temps = .{ |
| | 135184 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135185 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 135186 | .unused, |
| | 135187 | .unused, |
| | 135188 | .unused, |
| | 135189 | .unused, |
| | 135190 | .unused, |
| | 135191 | .unused, |
| | 135192 | .unused, |
| | 135193 | .unused, |
| | 135194 | .unused, |
| | 135195 | }, |
| | 135196 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 135197 | .clobbers = .{ .eflags = true }, |
| | 135198 | .each = .{ .once = &.{ |
| | 135199 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 135200 | .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 135201 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 135202 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 135203 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, |
| | 135204 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 135205 | .{ .@"1:", ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 135206 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 135207 | } }, |
| | 135208 | }, .{ |
| | 135209 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 135210 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 135211 | .patterns = &.{ |
| | 135212 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135213 | }, |
| | 135214 | .extra_temps = .{ |
| | 135215 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135216 | .{ .type = .i8, .kind = .{ .rc = .general_purpose } }, |
| | 135217 | .unused, |
| | 135218 | .unused, |
| | 135219 | .unused, |
| | 135220 | .unused, |
| | 135221 | .unused, |
| | 135222 | .unused, |
| | 135223 | .unused, |
| | 135224 | .unused, |
| | 135225 | .unused, |
| | 135226 | }, |
| | 135227 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 135228 | .clobbers = .{ .eflags = true }, |
| | 135229 | .each = .{ .once = &.{ |
| | 135230 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 135231 | .{ ._, ._, .movsx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 135232 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 135233 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 135234 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, |
| | 135235 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 135236 | .{ .@"1:", ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 135237 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 135238 | } }, |
| | 135239 | }, .{ |
| | 135240 | .required_features = .{ .cmov, .slow_incdec, null, null }, |
| | 135241 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 135242 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 135243 | .patterns = &.{ |
| | 135244 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135245 | }, |
| | 135246 | .extra_temps = .{ |
| | 135247 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135248 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 135249 | .unused, |
| | 135250 | .unused, |
| | 135251 | .unused, |
| | 135252 | .unused, |
| | 135253 | .unused, |
| | 135254 | .unused, |
| | 135255 | .unused, |
| | 135256 | .unused, |
| | 135257 | .unused, |
| | 135258 | }, |
| | 135259 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 135260 | .clobbers = .{ .eflags = true }, |
| | 135261 | .each = .{ .once = &.{ |
| | 135262 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 135263 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 135264 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 135265 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 135266 | .{ ._, ._b, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 135267 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 135268 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 135269 | } }, |
| | 135270 | }, .{ |
| | 135271 | .required_features = .{ .cmov, null, null, null }, |
| | 135272 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 135273 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 135274 | .patterns = &.{ |
| | 135275 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135276 | }, |
| | 135277 | .extra_temps = .{ |
| | 135278 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135279 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 135280 | .unused, |
| | 135281 | .unused, |
| | 135282 | .unused, |
| | 135283 | .unused, |
| | 135284 | .unused, |
| | 135285 | .unused, |
| | 135286 | .unused, |
| | 135287 | .unused, |
| | 135288 | .unused, |
| | 135289 | }, |
| | 135290 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 135291 | .clobbers = .{ .eflags = true }, |
| | 135292 | .each = .{ .once = &.{ |
| | 135293 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 135294 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 135295 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 135296 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 135297 | .{ ._, ._b, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 135298 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 135299 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 135300 | } }, |
| | 135301 | }, .{ |
| | 135302 | .required_features = .{ .slow_incdec, null, null, null }, |
| | 135303 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 135304 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 135305 | .patterns = &.{ |
| | 135306 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135307 | }, |
| | 135308 | .extra_temps = .{ |
| | 135309 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135310 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 135311 | .unused, |
| | 135312 | .unused, |
| | 135313 | .unused, |
| | 135314 | .unused, |
| | 135315 | .unused, |
| | 135316 | .unused, |
| | 135317 | .unused, |
| | 135318 | .unused, |
| | 135319 | .unused, |
| | 135320 | }, |
| | 135321 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 135322 | .clobbers = .{ .eflags = true }, |
| | 135323 | .each = .{ .once = &.{ |
| | 135324 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 135325 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 135326 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 135327 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 135328 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 135329 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 135330 | .{ .@"1:", ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 135331 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 135332 | } }, |
| | 135333 | }, .{ |
| | 135334 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 135335 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 135336 | .patterns = &.{ |
| | 135337 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 135338 | }, |
| | 135339 | .extra_temps = .{ |
| | 135340 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 135341 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 135342 | .unused, |
| | 135343 | .unused, |
| | 135344 | .unused, |
| | 135345 | .unused, |
| | 135346 | .unused, |
| | 135347 | .unused, |
| | 135348 | .unused, |
| | 135349 | .unused, |
| | 135350 | .unused, |
| | 135351 | }, |
| | 135352 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 135353 | .clobbers = .{ .eflags = true }, |
| | 135354 | .each = .{ .once = &.{ |
| | 135355 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 135356 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 135357 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0b, .tmp0), ._, ._ }, |
| | 135358 | .{ ._, ._, .cmp, .dst0b, .tmp1b, ._, ._ }, |
| | 135359 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 135360 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 135361 | .{ .@"1:", ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 135362 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 135363 | } }, |
| | 135364 | }, .{ |
| | 135365 | .required_features = .{ .avx, null, null, null }, |
| | 135366 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135367 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 135368 | .patterns = &.{ |
| | 135369 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135370 | }, |
| | 135371 | .extra_temps = .{ |
| | 135372 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135373 | .unused, |
| | 135374 | .unused, |
| | 135375 | .unused, |
| | 135376 | .unused, |
| | 135377 | .unused, |
| | 135378 | .unused, |
| | 135379 | .unused, |
| | 135380 | .unused, |
| | 135381 | .unused, |
| | 135382 | .unused, |
| | 135383 | }, |
| | 135384 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135385 | .each = .{ .once = &.{ |
| | 135386 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135387 | .{ ._, .vp_w, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 135388 | } }, |
| | 135389 | }, .{ |
| | 135390 | .required_features = .{ .sse2, null, null, null }, |
| | 135391 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135392 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 135393 | .patterns = &.{ |
| | 135394 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135395 | }, |
| | 135396 | .extra_temps = .{ |
| | 135397 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135398 | .unused, |
| | 135399 | .unused, |
| | 135400 | .unused, |
| | 135401 | .unused, |
| | 135402 | .unused, |
| | 135403 | .unused, |
| | 135404 | .unused, |
| | 135405 | .unused, |
| | 135406 | .unused, |
| | 135407 | .unused, |
| | 135408 | }, |
| | 135409 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135410 | .each = .{ .once = &.{ |
| | 135411 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135412 | .{ ._, .p_w, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 135413 | } }, |
| | 135414 | }, .{ |
| | 135415 | .required_features = .{ .avx, null, null, null }, |
| | 135416 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135417 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 135418 | .patterns = &.{ |
| | 135419 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135420 | }, |
| | 135421 | .extra_temps = .{ |
| | 135422 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135423 | .unused, |
| | 135424 | .unused, |
| | 135425 | .unused, |
| | 135426 | .unused, |
| | 135427 | .unused, |
| | 135428 | .unused, |
| | 135429 | .unused, |
| | 135430 | .unused, |
| | 135431 | .unused, |
| | 135432 | .unused, |
| | 135433 | }, |
| | 135434 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135435 | .each = .{ .once = &.{ |
| | 135436 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135437 | .{ ._, .vp_w, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 135438 | } }, |
| | 135439 | }, .{ |
| | 135440 | .required_features = .{ .sse4_1, null, null, null }, |
| | 135441 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135442 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 135443 | .patterns = &.{ |
| | 135444 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135445 | }, |
| | 135446 | .extra_temps = .{ |
| | 135447 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135448 | .unused, |
| | 135449 | .unused, |
| | 135450 | .unused, |
| | 135451 | .unused, |
| | 135452 | .unused, |
| | 135453 | .unused, |
| | 135454 | .unused, |
| | 135455 | .unused, |
| | 135456 | .unused, |
| | 135457 | .unused, |
| | 135458 | }, |
| | 135459 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135460 | .each = .{ .once = &.{ |
| | 135461 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135462 | .{ ._, .p_w, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 135463 | } }, |
| | 135464 | }, .{ |
| | 135465 | .required_features = .{ .sse2, null, null, null }, |
| | 135466 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135467 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 135468 | .patterns = &.{ |
| | 135469 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135470 | }, |
| | 135471 | .extra_temps = .{ |
| | 135472 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135473 | .unused, |
| | 135474 | .unused, |
| | 135475 | .unused, |
| | 135476 | .unused, |
| | 135477 | .unused, |
| | 135478 | .unused, |
| | 135479 | .unused, |
| | 135480 | .unused, |
| | 135481 | .unused, |
| | 135482 | .unused, |
| | 135483 | }, |
| | 135484 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135485 | .each = .{ .once = &.{ |
| | 135486 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135487 | .{ ._, .p_w, .subus, .dst0x, .tmp0x, ._, ._ }, |
| | 135488 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 135489 | } }, |
| | 135490 | }, .{ |
| | 135491 | .required_features = .{ .avx, null, null, null }, |
| | 135492 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135493 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135494 | .patterns = &.{ |
| | 135495 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135496 | }, |
| | 135497 | .extra_temps = .{ |
| | 135498 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135499 | .unused, |
| | 135500 | .unused, |
| | 135501 | .unused, |
| | 135502 | .unused, |
| | 135503 | .unused, |
| | 135504 | .unused, |
| | 135505 | .unused, |
| | 135506 | .unused, |
| | 135507 | .unused, |
| | 135508 | .unused, |
| | 135509 | }, |
| | 135510 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135511 | .each = .{ .once = &.{ |
| | 135512 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135513 | .{ ._, .vp_w, .maxs, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 135514 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 135515 | .{ ._, .vp_w, .maxs, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 135516 | } }, |
| | 135517 | }, .{ |
| | 135518 | .required_features = .{ .sse2, null, null, null }, |
| | 135519 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135520 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135521 | .patterns = &.{ |
| | 135522 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135523 | }, |
| | 135524 | .extra_temps = .{ |
| | 135525 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135526 | .unused, |
| | 135527 | .unused, |
| | 135528 | .unused, |
| | 135529 | .unused, |
| | 135530 | .unused, |
| | 135531 | .unused, |
| | 135532 | .unused, |
| | 135533 | .unused, |
| | 135534 | .unused, |
| | 135535 | .unused, |
| | 135536 | }, |
| | 135537 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135538 | .each = .{ .once = &.{ |
| | 135539 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135540 | .{ ._, .p_w, .maxs, .tmp0x, .src0x, ._, ._ }, |
| | 135541 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 135542 | .{ ._, .p_w, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 135543 | } }, |
| | 135544 | }, .{ |
| | 135545 | .required_features = .{ .avx, null, null, null }, |
| | 135546 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135547 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135548 | .patterns = &.{ |
| | 135549 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135550 | }, |
| | 135551 | .extra_temps = .{ |
| | 135552 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135553 | .unused, |
| | 135554 | .unused, |
| | 135555 | .unused, |
| | 135556 | .unused, |
| | 135557 | .unused, |
| | 135558 | .unused, |
| | 135559 | .unused, |
| | 135560 | .unused, |
| | 135561 | .unused, |
| | 135562 | .unused, |
| | 135563 | }, |
| | 135564 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135565 | .each = .{ .once = &.{ |
| | 135566 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135567 | .{ ._, .vp_w, .maxu, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 135568 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 135569 | .{ ._, .vp_w, .maxu, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 135570 | } }, |
| | 135571 | }, .{ |
| | 135572 | .required_features = .{ .sse4_1, null, null, null }, |
| | 135573 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135574 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135575 | .patterns = &.{ |
| | 135576 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135577 | }, |
| | 135578 | .extra_temps = .{ |
| | 135579 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135580 | .unused, |
| | 135581 | .unused, |
| | 135582 | .unused, |
| | 135583 | .unused, |
| | 135584 | .unused, |
| | 135585 | .unused, |
| | 135586 | .unused, |
| | 135587 | .unused, |
| | 135588 | .unused, |
| | 135589 | .unused, |
| | 135590 | }, |
| | 135591 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135592 | .each = .{ .once = &.{ |
| | 135593 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135594 | .{ ._, .p_w, .maxu, .tmp0x, .src0x, ._, ._ }, |
| | 135595 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 135596 | .{ ._, .p_w, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 135597 | } }, |
| | 135598 | }, .{ |
| | 135599 | .required_features = .{ .sse2, null, null, null }, |
| | 135600 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135601 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135602 | .patterns = &.{ |
| | 135603 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135604 | }, |
| | 135605 | .extra_temps = .{ |
| | 135606 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135607 | .unused, |
| | 135608 | .unused, |
| | 135609 | .unused, |
| | 135610 | .unused, |
| | 135611 | .unused, |
| | 135612 | .unused, |
| | 135613 | .unused, |
| | 135614 | .unused, |
| | 135615 | .unused, |
| | 135616 | .unused, |
| | 135617 | }, |
| | 135618 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135619 | .each = .{ .once = &.{ |
| | 135620 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 135621 | .{ ._, .p_w, .subus, .tmp0x, .src0x, ._, ._ }, |
| | 135622 | .{ ._, .p_w, .add, .tmp0x, .src0x, ._, ._ }, |
| | 135623 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 135624 | .{ ._, .p_w, .subus, .dst0x, .tmp0x, ._, ._ }, |
| | 135625 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 135626 | } }, |
| | 135627 | }, .{ |
| | 135628 | .required_features = .{ .avx, null, null, null }, |
| | 135629 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135630 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135631 | .patterns = &.{ |
| | 135632 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135633 | }, |
| | 135634 | .extra_temps = .{ |
| | 135635 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135636 | .unused, |
| | 135637 | .unused, |
| | 135638 | .unused, |
| | 135639 | .unused, |
| | 135640 | .unused, |
| | 135641 | .unused, |
| | 135642 | .unused, |
| | 135643 | .unused, |
| | 135644 | .unused, |
| | 135645 | .unused, |
| | 135646 | }, |
| | 135647 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135648 | .each = .{ .once = &.{ |
| | 135649 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 135650 | .{ ._, .vp_w, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 135651 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 135652 | .{ ._, .vp_w, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 135653 | } }, |
| | 135654 | }, .{ |
| | 135655 | .required_features = .{ .sse2, null, null, null }, |
| | 135656 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135657 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135658 | .patterns = &.{ |
| | 135659 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135660 | }, |
| | 135661 | .extra_temps = .{ |
| | 135662 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135663 | .unused, |
| | 135664 | .unused, |
| | 135665 | .unused, |
| | 135666 | .unused, |
| | 135667 | .unused, |
| | 135668 | .unused, |
| | 135669 | .unused, |
| | 135670 | .unused, |
| | 135671 | .unused, |
| | 135672 | .unused, |
| | 135673 | }, |
| | 135674 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135675 | .each = .{ .once = &.{ |
| | 135676 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 135677 | .{ ._, .p_w, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 135678 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 135679 | .{ ._, .p_w, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 135680 | } }, |
| | 135681 | }, .{ |
| | 135682 | .required_features = .{ .avx, null, null, null }, |
| | 135683 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135684 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135685 | .patterns = &.{ |
| | 135686 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135687 | }, |
| | 135688 | .extra_temps = .{ |
| | 135689 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135690 | .unused, |
| | 135691 | .unused, |
| | 135692 | .unused, |
| | 135693 | .unused, |
| | 135694 | .unused, |
| | 135695 | .unused, |
| | 135696 | .unused, |
| | 135697 | .unused, |
| | 135698 | .unused, |
| | 135699 | .unused, |
| | 135700 | }, |
| | 135701 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135702 | .each = .{ .once = &.{ |
| | 135703 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 135704 | .{ ._, .vp_w, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 135705 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 135706 | .{ ._, .vp_w, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 135707 | } }, |
| | 135708 | }, .{ |
| | 135709 | .required_features = .{ .sse4_1, null, null, null }, |
| | 135710 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135711 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135712 | .patterns = &.{ |
| | 135713 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135714 | }, |
| | 135715 | .extra_temps = .{ |
| | 135716 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135717 | .unused, |
| | 135718 | .unused, |
| | 135719 | .unused, |
| | 135720 | .unused, |
| | 135721 | .unused, |
| | 135722 | .unused, |
| | 135723 | .unused, |
| | 135724 | .unused, |
| | 135725 | .unused, |
| | 135726 | .unused, |
| | 135727 | }, |
| | 135728 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135729 | .each = .{ .once = &.{ |
| | 135730 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 135731 | .{ ._, .p_w, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 135732 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 135733 | .{ ._, .p_w, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 135734 | } }, |
| | 135735 | }, .{ |
| | 135736 | .required_features = .{ .sse2, null, null, null }, |
| | 135737 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135738 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 135739 | .patterns = &.{ |
| | 135740 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135741 | }, |
| | 135742 | .extra_temps = .{ |
| | 135743 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135744 | .unused, |
| | 135745 | .unused, |
| | 135746 | .unused, |
| | 135747 | .unused, |
| | 135748 | .unused, |
| | 135749 | .unused, |
| | 135750 | .unused, |
| | 135751 | .unused, |
| | 135752 | .unused, |
| | 135753 | .unused, |
| | 135754 | }, |
| | 135755 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135756 | .each = .{ .once = &.{ |
| | 135757 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 135758 | .{ ._, .p_w, .subus, .dst0x, .tmp0x, ._, ._ }, |
| | 135759 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 135760 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 135761 | .{ ._, .p_w, .subus, .dst0x, .tmp0x, ._, ._ }, |
| | 135762 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 135763 | } }, |
| | 135764 | }, .{ |
| | 135765 | .required_features = .{ .avx2, null, null, null }, |
| | 135766 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135767 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 135768 | .patterns = &.{ |
| | 135769 | .{ .src = .{ .mem, .none, .none } }, |
| | 135770 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135771 | }, |
| | 135772 | .extra_temps = .{ |
| | 135773 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 135774 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 135775 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135776 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 135777 | .unused, |
| | 135778 | .unused, |
| | 135779 | .unused, |
| | 135780 | .unused, |
| | 135781 | .unused, |
| | 135782 | .unused, |
| | 135783 | .unused, |
| | 135784 | }, |
| | 135785 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135786 | .each = .{ .once = &.{ |
| | 135787 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135788 | .{ ._, .vp_w, .broadcast, .tmp2x, .lea(.tmp0w), ._, ._ }, |
| | 135789 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 135790 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, |
| | 135791 | .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| | 135792 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 135793 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135794 | } }, |
| | 135795 | }, .{ |
| | 135796 | .required_features = .{ .avx, null, null, null }, |
| | 135797 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135798 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 135799 | .patterns = &.{ |
| | 135800 | .{ .src = .{ .mem, .none, .none } }, |
| | 135801 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135802 | }, |
| | 135803 | .extra_temps = .{ |
| | 135804 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 135805 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 135806 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135807 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 135808 | .unused, |
| | 135809 | .unused, |
| | 135810 | .unused, |
| | 135811 | .unused, |
| | 135812 | .unused, |
| | 135813 | .unused, |
| | 135814 | .unused, |
| | 135815 | }, |
| | 135816 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135817 | .each = .{ .once = &.{ |
| | 135818 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135819 | .{ ._, .v_ss, .broadcast, .tmp2x, .lea(.tmp0d), ._, ._ }, |
| | 135820 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 135821 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, |
| | 135822 | .{ ._, .vp_, .@"or", .dst0x, .dst0x, .lea(.tmp0x), ._ }, |
| | 135823 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 135824 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135825 | } }, |
| | 135826 | }, .{ |
| | 135827 | .required_features = .{ .sse4_1, null, null, null }, |
| | 135828 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135829 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 135830 | .patterns = &.{ |
| | 135831 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135832 | }, |
| | 135833 | .extra_temps = .{ |
| | 135834 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 135835 | .{ .type = .vector_4_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 135836 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 135837 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135838 | .unused, |
| | 135839 | .unused, |
| | 135840 | .unused, |
| | 135841 | .unused, |
| | 135842 | .unused, |
| | 135843 | .unused, |
| | 135844 | .unused, |
| | 135845 | }, |
| | 135846 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135847 | .each = .{ .once = &.{ |
| | 135848 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135849 | .{ ._, ._, .movddup, .tmp3x, .lea(.tmp0q), ._, ._ }, |
| | 135850 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 135851 | .{ ._, .p_, .xor, .dst0x, .tmp3x, ._, ._ }, |
| | 135852 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 135853 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 135854 | .{ ._, .p_, .xor, .dst0x, .tmp3x, ._, ._ }, |
| | 135855 | } }, |
| | 135856 | }, .{ |
| | 135857 | .required_features = .{ .sse2, null, null, null }, |
| | 135858 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135859 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 135860 | .patterns = &.{ |
| | 135861 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135862 | }, |
| | 135863 | .extra_temps = .{ |
| | 135864 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 135865 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 135866 | .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 135867 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135868 | .unused, |
| | 135869 | .unused, |
| | 135870 | .unused, |
| | 135871 | .unused, |
| | 135872 | .unused, |
| | 135873 | .unused, |
| | 135874 | .unused, |
| | 135875 | }, |
| | 135876 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135877 | .each = .{ .once = &.{ |
| | 135878 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135879 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 135880 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 135881 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 135882 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 135883 | .{ ._, .p_w, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 135884 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 135885 | .{ ._, .p_w, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 135886 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 135887 | .{ ._, .p_w, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 135888 | } }, |
| | 135889 | }, .{ |
| | 135890 | .required_features = .{ .avx, null, null, null }, |
| | 135891 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135892 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 135893 | .patterns = &.{ |
| | 135894 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135895 | }, |
| | 135896 | .extra_temps = .{ |
| | 135897 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 135898 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 135899 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 135900 | .unused, |
| | 135901 | .unused, |
| | 135902 | .unused, |
| | 135903 | .unused, |
| | 135904 | .unused, |
| | 135905 | .unused, |
| | 135906 | .unused, |
| | 135907 | .unused, |
| | 135908 | }, |
| | 135909 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 135910 | .each = .{ .once = &.{ |
| | 135911 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135912 | .{ ._, .vp_w, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| | 135913 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 135914 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135915 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 135916 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 135917 | } }, |
| | 135918 | }, .{ |
| | 135919 | .required_features = .{ .sse4_1, null, null, null }, |
| | 135920 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135921 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 135922 | .patterns = &.{ |
| | 135923 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135924 | }, |
| | 135925 | .extra_temps = .{ |
| | 135926 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 135927 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 135928 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 135929 | .unused, |
| | 135930 | .unused, |
| | 135931 | .unused, |
| | 135932 | .unused, |
| | 135933 | .unused, |
| | 135934 | .unused, |
| | 135935 | .unused, |
| | 135936 | .unused, |
| | 135937 | }, |
| | 135938 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135939 | .each = .{ .once = &.{ |
| | 135940 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135941 | .{ ._, .p_w, .cmpeq, .tmp2x, .tmp2x, ._, ._ }, |
| | 135942 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 135943 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 135944 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 135945 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 135946 | } }, |
| | 135947 | }, .{ |
| | 135948 | .required_features = .{ .sse2, null, null, null }, |
| | 135949 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 135950 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 135951 | .patterns = &.{ |
| | 135952 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 135953 | }, |
| | 135954 | .extra_temps = .{ |
| | 135955 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 135956 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 135957 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 135958 | .unused, |
| | 135959 | .unused, |
| | 135960 | .unused, |
| | 135961 | .unused, |
| | 135962 | .unused, |
| | 135963 | .unused, |
| | 135964 | .unused, |
| | 135965 | .unused, |
| | 135966 | }, |
| | 135967 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 135968 | .each = .{ .once = &.{ |
| | 135969 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 135970 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 135971 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 135972 | .{ ._, .p_w, .subus, .dst0x, .tmp2x, ._, ._ }, |
| | 135973 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 135974 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 135975 | .{ ._, .p_w, .subus, .dst0x, .tmp2x, ._, ._ }, |
| | 135976 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 135977 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 135978 | .{ ._, .p_w, .subus, .dst0x, .tmp2x, ._, ._ }, |
| | 135979 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 135980 | } }, |
| | 135981 | }, .{ |
| | 135982 | .required_features = .{ .avx2, null, null, null }, |
| | 135983 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 135984 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 135985 | .patterns = &.{ |
| | 135986 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 135987 | }, |
| | 135988 | .extra_temps = .{ |
| | 135989 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 135990 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 135991 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 135992 | .unused, |
| | 135993 | .unused, |
| | 135994 | .unused, |
| | 135995 | .unused, |
| | 135996 | .unused, |
| | 135997 | .unused, |
| | 135998 | .unused, |
| | 135999 | .unused, |
| | 136000 | }, |
| | 136001 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136002 | .each = .{ .once = &.{ |
| | 136003 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136004 | .{ ._, .vp_w, .broadcast, .tmp2x, .lea(.tmp0w), ._, ._ }, |
| | 136005 | .{ ._, .vp_, .xor, .dst0x, .src0x, .tmp2x, ._ }, |
| | 136006 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136007 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136008 | } }, |
| | 136009 | }, .{ |
| | 136010 | .required_features = .{ .avx, null, null, null }, |
| | 136011 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136012 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136013 | .patterns = &.{ |
| | 136014 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136015 | }, |
| | 136016 | .extra_temps = .{ |
| | 136017 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136018 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136019 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136020 | .unused, |
| | 136021 | .unused, |
| | 136022 | .unused, |
| | 136023 | .unused, |
| | 136024 | .unused, |
| | 136025 | .unused, |
| | 136026 | .unused, |
| | 136027 | .unused, |
| | 136028 | }, |
| | 136029 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136030 | .each = .{ .once = &.{ |
| | 136031 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136032 | .{ ._, .v_ss, .broadcast, .tmp2x, .lea(.tmp0d), ._, ._ }, |
| | 136033 | .{ ._, .vp_, .xor, .dst0x, .src0x, .tmp2x, ._ }, |
| | 136034 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136035 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136036 | } }, |
| | 136037 | }, .{ |
| | 136038 | .required_features = .{ .sse4_1, null, null, null }, |
| | 136039 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136040 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136041 | .patterns = &.{ |
| | 136042 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 136043 | }, |
| | 136044 | .extra_temps = .{ |
| | 136045 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136046 | .{ .type = .vector_4_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136047 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136048 | .unused, |
| | 136049 | .unused, |
| | 136050 | .unused, |
| | 136051 | .unused, |
| | 136052 | .unused, |
| | 136053 | .unused, |
| | 136054 | .unused, |
| | 136055 | .unused, |
| | 136056 | }, |
| | 136057 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 136058 | .each = .{ .once = &.{ |
| | 136059 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136060 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 136061 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 136062 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136063 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 136064 | } }, |
| | 136065 | }, .{ |
| | 136066 | .required_features = .{ .sse2, null, null, null }, |
| | 136067 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136068 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136069 | .patterns = &.{ |
| | 136070 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 136071 | }, |
| | 136072 | .extra_temps = .{ |
| | 136073 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136074 | .unused, |
| | 136075 | .unused, |
| | 136076 | .unused, |
| | 136077 | .unused, |
| | 136078 | .unused, |
| | 136079 | .unused, |
| | 136080 | .unused, |
| | 136081 | .unused, |
| | 136082 | .unused, |
| | 136083 | .unused, |
| | 136084 | }, |
| | 136085 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 136086 | .each = .{ .once = &.{ |
| | 136087 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 136088 | .{ ._, .p_w, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 136089 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 136090 | .{ ._, .p_w, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 136091 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 136092 | .{ ._, .p_w, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 136093 | } }, |
| | 136094 | }, .{ |
| | 136095 | .required_features = .{ .avx, null, null, null }, |
| | 136096 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136097 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136098 | .patterns = &.{ |
| | 136099 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136100 | }, |
| | 136101 | .extra_temps = .{ |
| | 136102 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136103 | .unused, |
| | 136104 | .unused, |
| | 136105 | .unused, |
| | 136106 | .unused, |
| | 136107 | .unused, |
| | 136108 | .unused, |
| | 136109 | .unused, |
| | 136110 | .unused, |
| | 136111 | .unused, |
| | 136112 | .unused, |
| | 136113 | }, |
| | 136114 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136115 | .each = .{ .once = &.{ |
| | 136116 | .{ ._, .vp_w, .cmpeq, .tmp0x, .tmp0x, .tmp0x, ._ }, |
| | 136117 | .{ ._, .vp_, .xor, .dst0x, .src0x, .tmp0x, ._ }, |
| | 136118 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136119 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136120 | } }, |
| | 136121 | }, .{ |
| | 136122 | .required_features = .{ .sse4_1, null, null, null }, |
| | 136123 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136124 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136125 | .patterns = &.{ |
| | 136126 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 136127 | }, |
| | 136128 | .extra_temps = .{ |
| | 136129 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136130 | .unused, |
| | 136131 | .unused, |
| | 136132 | .unused, |
| | 136133 | .unused, |
| | 136134 | .unused, |
| | 136135 | .unused, |
| | 136136 | .unused, |
| | 136137 | .unused, |
| | 136138 | .unused, |
| | 136139 | .unused, |
| | 136140 | }, |
| | 136141 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 136142 | .each = .{ .once = &.{ |
| | 136143 | .{ ._, .p_w, .cmpeq, .tmp0x, .tmp0x, ._, ._ }, |
| | 136144 | .{ ._, .p_, .xor, .dst0x, .tmp0x, ._, ._ }, |
| | 136145 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136146 | .{ ._, .p_, .xor, .dst0x, .tmp0x, ._, ._ }, |
| | 136147 | } }, |
| | 136148 | }, .{ |
| | 136149 | .required_features = .{ .sse2, null, null, null }, |
| | 136150 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136151 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136152 | .patterns = &.{ |
| | 136153 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 136154 | }, |
| | 136155 | .extra_temps = .{ |
| | 136156 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136157 | .unused, |
| | 136158 | .unused, |
| | 136159 | .unused, |
| | 136160 | .unused, |
| | 136161 | .unused, |
| | 136162 | .unused, |
| | 136163 | .unused, |
| | 136164 | .unused, |
| | 136165 | .unused, |
| | 136166 | .unused, |
| | 136167 | }, |
| | 136168 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 136169 | .each = .{ .once = &.{ |
| | 136170 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 136171 | .{ ._, .p_w, .subus, .dst0x, .tmp0x, ._, ._ }, |
| | 136172 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 136173 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 136174 | .{ ._, .p_w, .subus, .dst0x, .tmp0x, ._, ._ }, |
| | 136175 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 136176 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 136177 | .{ ._, .p_w, .subus, .dst0x, .tmp0x, ._, ._ }, |
| | 136178 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 136179 | } }, |
| | 136180 | }, .{ |
| | 136181 | .required_features = .{ .avx2, null, null, null }, |
| | 136182 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136183 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136184 | .patterns = &.{ |
| | 136185 | .{ .src = .{ .mem, .none, .none } }, |
| | 136186 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136187 | }, |
| | 136188 | .extra_temps = .{ |
| | 136189 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136190 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136191 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 136192 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 136193 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136194 | .unused, |
| | 136195 | .unused, |
| | 136196 | .unused, |
| | 136197 | .unused, |
| | 136198 | .unused, |
| | 136199 | .unused, |
| | 136200 | }, |
| | 136201 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136202 | .each = .{ .once = &.{ |
| | 136203 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136204 | .{ ._, .vp_w, .broadcast, .tmp2y, .lea(.tmp0w), ._, ._ }, |
| | 136205 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 136206 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 136207 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 136208 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 136209 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp4x, ._ }, |
| | 136210 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136211 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136212 | } }, |
| | 136213 | }, .{ |
| | 136214 | .required_features = .{ .avx, null, null, null }, |
| | 136215 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136216 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136217 | .patterns = &.{ |
| | 136218 | .{ .src = .{ .mem, .none, .none } }, |
| | 136219 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136220 | }, |
| | 136221 | .extra_temps = .{ |
| | 136222 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136223 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136224 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 136225 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 136226 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136227 | .unused, |
| | 136228 | .unused, |
| | 136229 | .unused, |
| | 136230 | .unused, |
| | 136231 | .unused, |
| | 136232 | .unused, |
| | 136233 | }, |
| | 136234 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136235 | .each = .{ .once = &.{ |
| | 136236 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136237 | .{ ._, .v_ss, .broadcast, .tmp2y, .lea(.tmp0d), ._, ._ }, |
| | 136238 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 136239 | .{ ._, .v_ps, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 136240 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 136241 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 136242 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp4x, ._ }, |
| | 136243 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136244 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136245 | } }, |
| | 136246 | }, .{ |
| | 136247 | .required_features = .{ .avx2, null, null, null }, |
| | 136248 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136249 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136250 | .patterns = &.{ |
| | 136251 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136252 | }, |
| | 136253 | .extra_temps = .{ |
| | 136254 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136255 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 136256 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136257 | .unused, |
| | 136258 | .unused, |
| | 136259 | .unused, |
| | 136260 | .unused, |
| | 136261 | .unused, |
| | 136262 | .unused, |
| | 136263 | .unused, |
| | 136264 | .unused, |
| | 136265 | }, |
| | 136266 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136267 | .each = .{ .once = &.{ |
| | 136268 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136269 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 136270 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 136271 | .{ ._, .vp_w, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136272 | .{ ._, .vp_w, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| | 136273 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136274 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136275 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136276 | } }, |
| | 136277 | }, .{ |
| | 136278 | .required_features = .{ .avx, null, null, null }, |
| | 136279 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136280 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136281 | .patterns = &.{ |
| | 136282 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136283 | }, |
| | 136284 | .extra_temps = .{ |
| | 136285 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136286 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 136287 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136288 | .unused, |
| | 136289 | .unused, |
| | 136290 | .unused, |
| | 136291 | .unused, |
| | 136292 | .unused, |
| | 136293 | .unused, |
| | 136294 | .unused, |
| | 136295 | .unused, |
| | 136296 | }, |
| | 136297 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136298 | .each = .{ .once = &.{ |
| | 136299 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136300 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 136301 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 136302 | .{ ._, .vp_w, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136303 | .{ ._, .vp_w, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| | 136304 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136305 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136306 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136307 | } }, |
| | 136308 | }, .{ |
| | 136309 | .required_features = .{ .avx2, null, null, null }, |
| | 136310 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136311 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136312 | .patterns = &.{ |
| | 136313 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136314 | }, |
| | 136315 | .extra_temps = .{ |
| | 136316 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136317 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136318 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136319 | .unused, |
| | 136320 | .unused, |
| | 136321 | .unused, |
| | 136322 | .unused, |
| | 136323 | .unused, |
| | 136324 | .unused, |
| | 136325 | .unused, |
| | 136326 | .unused, |
| | 136327 | }, |
| | 136328 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136329 | .each = .{ .once = &.{ |
| | 136330 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 136331 | .{ ._, .vp_w, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 136332 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 136333 | .{ ._, .vp_w, .broadcast, .tmp0x, .lea(.tmp1w), ._, ._ }, |
| | 136334 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136335 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136336 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136337 | } }, |
| | 136338 | }, .{ |
| | 136339 | .required_features = .{ .avx, null, null, null }, |
| | 136340 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136341 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136342 | .patterns = &.{ |
| | 136343 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136344 | }, |
| | 136345 | .extra_temps = .{ |
| | 136346 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136347 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136348 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136349 | .unused, |
| | 136350 | .unused, |
| | 136351 | .unused, |
| | 136352 | .unused, |
| | 136353 | .unused, |
| | 136354 | .unused, |
| | 136355 | .unused, |
| | 136356 | .unused, |
| | 136357 | }, |
| | 136358 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136359 | .each = .{ .once = &.{ |
| | 136360 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 136361 | .{ ._, .vp_w, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 136362 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 136363 | .{ ._, .v_ss, .broadcast, .tmp0x, .lea(.tmp1d), ._, ._ }, |
| | 136364 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136365 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136366 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136367 | } }, |
| | 136368 | }, .{ |
| | 136369 | .required_features = .{ .avx2, null, null, null }, |
| | 136370 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136371 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136372 | .patterns = &.{ |
| | 136373 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136374 | }, |
| | 136375 | .extra_temps = .{ |
| | 136376 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136377 | .unused, |
| | 136378 | .unused, |
| | 136379 | .unused, |
| | 136380 | .unused, |
| | 136381 | .unused, |
| | 136382 | .unused, |
| | 136383 | .unused, |
| | 136384 | .unused, |
| | 136385 | .unused, |
| | 136386 | .unused, |
| | 136387 | }, |
| | 136388 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136389 | .each = .{ .once = &.{ |
| | 136390 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 136391 | .{ ._, .vp_w, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 136392 | .{ ._, .vp_w, .cmpeq, .tmp0x, .tmp0x, .tmp0x, ._ }, |
| | 136393 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136394 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136395 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136396 | } }, |
| | 136397 | }, .{ |
| | 136398 | .required_features = .{ .avx, null, null, null }, |
| | 136399 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136400 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136401 | .patterns = &.{ |
| | 136402 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 136403 | }, |
| | 136404 | .extra_temps = .{ |
| | 136405 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136406 | .unused, |
| | 136407 | .unused, |
| | 136408 | .unused, |
| | 136409 | .unused, |
| | 136410 | .unused, |
| | 136411 | .unused, |
| | 136412 | .unused, |
| | 136413 | .unused, |
| | 136414 | .unused, |
| | 136415 | .unused, |
| | 136416 | }, |
| | 136417 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 136418 | .each = .{ .once = &.{ |
| | 136419 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 136420 | .{ ._, .vp_w, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 136421 | .{ ._, .vp_w, .cmpeq, .tmp0x, .tmp0x, .tmp0x, ._ }, |
| | 136422 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136423 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136424 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136425 | } }, |
| | 136426 | }, .{ |
| | 136427 | .required_features = .{ .avx512f, null, null, null }, |
| | 136428 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136429 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 136430 | .patterns = &.{ |
| | 136431 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136432 | }, |
| | 136433 | .extra_temps = .{ |
| | 136434 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136435 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136436 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 136437 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 136438 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 136439 | .unused, |
| | 136440 | .unused, |
| | 136441 | .unused, |
| | 136442 | .unused, |
| | 136443 | .unused, |
| | 136444 | .unused, |
| | 136445 | }, |
| | 136446 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136447 | .each = .{ .once = &.{ |
| | 136448 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136449 | .{ ._, .vp_w, .broadcast, .tmp2y, .lea(.tmp0w), ._, ._ }, |
| | 136450 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 136451 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .mem(.src0y), ._ }, |
| | 136452 | .{ ._, .vp_, .xor, .tmp4y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 136453 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 136454 | .{ ._, .vp_, .@"or", .tmp4y, .tmp4y, .lead(.tmp0y, 32), ._ }, |
| | 136455 | .{ ._, .vp_w, .minu, .dst0y, .dst0y, .tmp4y, ._ }, |
| | 136456 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 136457 | .{ ._, .vp_w, .minu, .dst0x, .dst0x, .tmp4x, ._ }, |
| | 136458 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 136459 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136460 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136461 | } }, |
| | 136462 | }, .{ |
| | 136463 | .required_features = .{ .avx512f, null, null, null }, |
| | 136464 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136465 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 136466 | .patterns = &.{ |
| | 136467 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136468 | }, |
| | 136469 | .extra_temps = .{ |
| | 136470 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136471 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 136472 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 136473 | .unused, |
| | 136474 | .unused, |
| | 136475 | .unused, |
| | 136476 | .unused, |
| | 136477 | .unused, |
| | 136478 | .unused, |
| | 136479 | .unused, |
| | 136480 | .unused, |
| | 136481 | }, |
| | 136482 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136483 | .each = .{ .once = &.{ |
| | 136484 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136485 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 136486 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 136487 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 136488 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 136489 | .{ ._, .vp_w, .maxu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 136490 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 136491 | .{ ._, .vp_w, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136492 | .{ ._, .vp_w, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| | 136493 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136494 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136495 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136496 | } }, |
| | 136497 | }, .{ |
| | 136498 | .required_features = .{ .avx512f, null, null, null }, |
| | 136499 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136500 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 136501 | .patterns = &.{ |
| | 136502 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136503 | }, |
| | 136504 | .extra_temps = .{ |
| | 136505 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136506 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 136507 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136508 | .unused, |
| | 136509 | .unused, |
| | 136510 | .unused, |
| | 136511 | .unused, |
| | 136512 | .unused, |
| | 136513 | .unused, |
| | 136514 | .unused, |
| | 136515 | .unused, |
| | 136516 | }, |
| | 136517 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136518 | .each = .{ .once = &.{ |
| | 136519 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 136520 | .{ ._, .vp_w, .maxs, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 136521 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 136522 | .{ ._, .vp_w, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136523 | .{ ._, ._, .lea, .tmp1p, .mem(.tmp2), ._, ._ }, |
| | 136524 | .{ ._, .vp_w, .broadcast, .tmp0x, .lea(.tmp1w), ._, ._ }, |
| | 136525 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136526 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136527 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136528 | } }, |
| | 136529 | }, .{ |
| | 136530 | .required_features = .{ .avx512f, null, null, null }, |
| | 136531 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136532 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 136533 | .patterns = &.{ |
| | 136534 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136535 | }, |
| | 136536 | .extra_temps = .{ |
| | 136537 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136538 | .unused, |
| | 136539 | .unused, |
| | 136540 | .unused, |
| | 136541 | .unused, |
| | 136542 | .unused, |
| | 136543 | .unused, |
| | 136544 | .unused, |
| | 136545 | .unused, |
| | 136546 | .unused, |
| | 136547 | .unused, |
| | 136548 | }, |
| | 136549 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136550 | .each = .{ .once = &.{ |
| | 136551 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 136552 | .{ ._, .vp_w, .maxu, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 136553 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 136554 | .{ ._, .vp_w, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136555 | .{ ._, .vp_w, .cmpeq, .tmp0x, .tmp0x, .tmp0x, ._ }, |
| | 136556 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136557 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136558 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 136559 | } }, |
| | 136560 | }, .{ |
| | 136561 | .required_features = .{ .avx2, null, null, null }, |
| | 136562 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136563 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136564 | .patterns = &.{ |
| | 136565 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136566 | }, |
| | 136567 | .extra_temps = .{ |
| | 136568 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136569 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136570 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136571 | .unused, |
| | 136572 | .unused, |
| | 136573 | .unused, |
| | 136574 | .unused, |
| | 136575 | .unused, |
| | 136576 | .unused, |
| | 136577 | .unused, |
| | 136578 | .unused, |
| | 136579 | }, |
| | 136580 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136581 | .clobbers = .{ .eflags = true }, |
| | 136582 | .each = .{ .once = &.{ |
| | 136583 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 136584 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 136585 | .{ .@"0:", .vp_w, .maxs, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 136586 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 136587 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136588 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 136589 | .{ ._, .vp_w, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 136590 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 136591 | .{ ._, .vp_w, .broadcast, .tmp1x, .lea(.tmp0w), ._, ._ }, |
| | 136592 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 136593 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136594 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 136595 | } }, |
| | 136596 | }, .{ |
| | 136597 | .required_features = .{ .avx, null, null, null }, |
| | 136598 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136599 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136600 | .patterns = &.{ |
| | 136601 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136602 | }, |
| | 136603 | .extra_temps = .{ |
| | 136604 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136605 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136606 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136607 | .unused, |
| | 136608 | .unused, |
| | 136609 | .unused, |
| | 136610 | .unused, |
| | 136611 | .unused, |
| | 136612 | .unused, |
| | 136613 | .unused, |
| | 136614 | .unused, |
| | 136615 | }, |
| | 136616 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136617 | .clobbers = .{ .eflags = true }, |
| | 136618 | .each = .{ .once = &.{ |
| | 136619 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 136620 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 136621 | .{ .@"0:", .vp_w, .maxs, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 136622 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 136623 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136624 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136625 | .{ ._, .v_ss, .broadcast, .tmp2x, .lea(.tmp0d), ._, ._ }, |
| | 136626 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136627 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136628 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 136629 | } }, |
| | 136630 | }, .{ |
| | 136631 | .required_features = .{ .sse4_1, null, null, null }, |
| | 136632 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136633 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136634 | .patterns = &.{ |
| | 136635 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136636 | }, |
| | 136637 | .extra_temps = .{ |
| | 136638 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136639 | .{ .type = .vector_4_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136640 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136641 | .unused, |
| | 136642 | .unused, |
| | 136643 | .unused, |
| | 136644 | .unused, |
| | 136645 | .unused, |
| | 136646 | .unused, |
| | 136647 | .unused, |
| | 136648 | .unused, |
| | 136649 | }, |
| | 136650 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136651 | .clobbers = .{ .eflags = true }, |
| | 136652 | .each = .{ .once = &.{ |
| | 136653 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 136654 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 136655 | .{ .@"0:", .p_w, .maxs, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 136656 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 136657 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136658 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136659 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 136660 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 136661 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136662 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 136663 | } }, |
| | 136664 | }, .{ |
| | 136665 | .required_features = .{ .sse2, null, null, null }, |
| | 136666 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136667 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136668 | .patterns = &.{ |
| | 136669 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136670 | }, |
| | 136671 | .extra_temps = .{ |
| | 136672 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136673 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136674 | .unused, |
| | 136675 | .unused, |
| | 136676 | .unused, |
| | 136677 | .unused, |
| | 136678 | .unused, |
| | 136679 | .unused, |
| | 136680 | .unused, |
| | 136681 | .unused, |
| | 136682 | .unused, |
| | 136683 | }, |
| | 136684 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136685 | .clobbers = .{ .eflags = true }, |
| | 136686 | .each = .{ .once = &.{ |
| | 136687 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 136688 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 136689 | .{ .@"0:", .p_w, .maxs, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 136690 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 136691 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136692 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 136693 | .{ ._, .p_w, .maxs, .dst0x, .tmp1x, ._, ._ }, |
| | 136694 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 136695 | .{ ._, .p_w, .maxs, .dst0x, .tmp1x, ._, ._ }, |
| | 136696 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 136697 | .{ ._, .p_w, .maxs, .dst0x, .tmp1x, ._, ._ }, |
| | 136698 | } }, |
| | 136699 | }, .{ |
| | 136700 | .required_features = .{ .avx2, null, null, null }, |
| | 136701 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136702 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136703 | .patterns = &.{ |
| | 136704 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136705 | }, |
| | 136706 | .extra_temps = .{ |
| | 136707 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136708 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136709 | .unused, |
| | 136710 | .unused, |
| | 136711 | .unused, |
| | 136712 | .unused, |
| | 136713 | .unused, |
| | 136714 | .unused, |
| | 136715 | .unused, |
| | 136716 | .unused, |
| | 136717 | .unused, |
| | 136718 | }, |
| | 136719 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136720 | .clobbers = .{ .eflags = true }, |
| | 136721 | .each = .{ .once = &.{ |
| | 136722 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 136723 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 136724 | .{ .@"0:", .vp_w, .maxu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 136725 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 136726 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136727 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 136728 | .{ ._, .vp_w, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 136729 | .{ ._, .vp_w, .cmpeq, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 136730 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 136731 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136732 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 136733 | } }, |
| | 136734 | }, .{ |
| | 136735 | .required_features = .{ .avx, null, null, null }, |
| | 136736 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136737 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136738 | .patterns = &.{ |
| | 136739 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136740 | }, |
| | 136741 | .extra_temps = .{ |
| | 136742 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136743 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136744 | .unused, |
| | 136745 | .unused, |
| | 136746 | .unused, |
| | 136747 | .unused, |
| | 136748 | .unused, |
| | 136749 | .unused, |
| | 136750 | .unused, |
| | 136751 | .unused, |
| | 136752 | .unused, |
| | 136753 | }, |
| | 136754 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136755 | .clobbers = .{ .eflags = true }, |
| | 136756 | .each = .{ .once = &.{ |
| | 136757 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 136758 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 136759 | .{ ._, .vp_w, .cmpeq, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 136760 | .{ .@"0:", .vp_w, .maxu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 136761 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 136762 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136763 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 136764 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136765 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 136766 | } }, |
| | 136767 | }, .{ |
| | 136768 | .required_features = .{ .sse4_1, null, null, null }, |
| | 136769 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136770 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136771 | .patterns = &.{ |
| | 136772 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136773 | }, |
| | 136774 | .extra_temps = .{ |
| | 136775 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136776 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136777 | .unused, |
| | 136778 | .unused, |
| | 136779 | .unused, |
| | 136780 | .unused, |
| | 136781 | .unused, |
| | 136782 | .unused, |
| | 136783 | .unused, |
| | 136784 | .unused, |
| | 136785 | .unused, |
| | 136786 | }, |
| | 136787 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136788 | .clobbers = .{ .eflags = true }, |
| | 136789 | .each = .{ .once = &.{ |
| | 136790 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 136791 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 136792 | .{ ._, .p_w, .cmpeq, .tmp1x, .tmp1x, ._, ._ }, |
| | 136793 | .{ .@"0:", .p_w, .maxu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 136794 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 136795 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136796 | .{ ._, .p_, .xor, .dst0x, .tmp1x, ._, ._ }, |
| | 136797 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136798 | .{ ._, .p_, .xor, .dst0x, .tmp1x, ._, ._ }, |
| | 136799 | } }, |
| | 136800 | }, .{ |
| | 136801 | .required_features = .{ .sse2, null, null, null }, |
| | 136802 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 136803 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136804 | .patterns = &.{ |
| | 136805 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136806 | }, |
| | 136807 | .extra_temps = .{ |
| | 136808 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136809 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 136810 | .unused, |
| | 136811 | .unused, |
| | 136812 | .unused, |
| | 136813 | .unused, |
| | 136814 | .unused, |
| | 136815 | .unused, |
| | 136816 | .unused, |
| | 136817 | .unused, |
| | 136818 | .unused, |
| | 136819 | }, |
| | 136820 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136821 | .clobbers = .{ .eflags = true }, |
| | 136822 | .each = .{ .once = &.{ |
| | 136823 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 136824 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 136825 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 136826 | .{ ._, .p_w, .subus, .tmp1x, .dst0x, ._, ._ }, |
| | 136827 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 136828 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 136829 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136830 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 136831 | .{ ._, .p_w, .subus, .dst0x, .tmp1x, ._, ._ }, |
| | 136832 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 136833 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 136834 | .{ ._, .p_w, .subus, .dst0x, .tmp1x, ._, ._ }, |
| | 136835 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 136836 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 136837 | .{ ._, .p_w, .subus, .dst0x, .tmp1x, ._, ._ }, |
| | 136838 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 136839 | } }, |
| | 136840 | }, .{ |
| | 136841 | .required_features = .{ .avx512f, null, null, null }, |
| | 136842 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136843 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 136844 | .patterns = &.{ |
| | 136845 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136846 | }, |
| | 136847 | .extra_temps = .{ |
| | 136848 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136849 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 136850 | .{ .type = .vector_32_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 136851 | .{ .type = .vector_16_i16, .kind = .{ .rc = .sse } }, |
| | 136852 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136853 | .unused, |
| | 136854 | .unused, |
| | 136855 | .unused, |
| | 136856 | .unused, |
| | 136857 | .unused, |
| | 136858 | .unused, |
| | 136859 | }, |
| | 136860 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136861 | .clobbers = .{ .eflags = true }, |
| | 136862 | .each = .{ .once = &.{ |
| | 136863 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136864 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 136865 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 136866 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 136867 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 136868 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 136869 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 136870 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 136871 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 136872 | .{ .@"0:", .vp_w, .maxs, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 136873 | .{ ._, .vp_w, .maxs, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 136874 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 136875 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136876 | .{ ._, .vp_w, .maxs, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 136877 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 136878 | .{ ._, .vp_w, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 136879 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ }, |
| | 136880 | .{ ._, .vp_w, .broadcast, .tmp3x, .lea(.tmp0w), ._, ._ }, |
| | 136881 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 136882 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136883 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 136884 | } }, |
| | 136885 | }, .{ |
| | 136886 | .required_features = .{ .avx2, null, null, null }, |
| | 136887 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136888 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136889 | .patterns = &.{ |
| | 136890 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136891 | }, |
| | 136892 | .extra_temps = .{ |
| | 136893 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136894 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 136895 | .{ .type = .vector_16_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 136896 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136897 | .{ .type = .i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136898 | .unused, |
| | 136899 | .unused, |
| | 136900 | .unused, |
| | 136901 | .unused, |
| | 136902 | .unused, |
| | 136903 | .unused, |
| | 136904 | }, |
| | 136905 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136906 | .clobbers = .{ .eflags = true }, |
| | 136907 | .each = .{ .once = &.{ |
| | 136908 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136909 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 136910 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 136911 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 136912 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 136913 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 136914 | .{ .@"0:", .vp_w, .maxs, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 136915 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 136916 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136917 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 136918 | .{ ._, .vp_w, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 136919 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ }, |
| | 136920 | .{ ._, .vp_w, .broadcast, .tmp3x, .lea(.tmp0w), ._, ._ }, |
| | 136921 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 136922 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136923 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 136924 | } }, |
| | 136925 | }, .{ |
| | 136926 | .required_features = .{ .avx, null, null, null }, |
| | 136927 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136928 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 136929 | .patterns = &.{ |
| | 136930 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136931 | }, |
| | 136932 | .extra_temps = .{ |
| | 136933 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136934 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 136935 | .{ .type = .vector_16_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 136936 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136937 | .{ .type = .vector_2_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136938 | .unused, |
| | 136939 | .unused, |
| | 136940 | .unused, |
| | 136941 | .unused, |
| | 136942 | .unused, |
| | 136943 | .unused, |
| | 136944 | }, |
| | 136945 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136946 | .clobbers = .{ .eflags = true }, |
| | 136947 | .each = .{ .once = &.{ |
| | 136948 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136949 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 136950 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 136951 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 136952 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 136953 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 136954 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 136955 | .{ ._, .vp_w, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 136956 | .{ .@"0:", .vp_w, .maxs, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 136957 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 136958 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136959 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp4), ._, ._ }, |
| | 136960 | .{ ._, .v_ss, .broadcast, .tmp3x, .lea(.tmp0d), ._, ._ }, |
| | 136961 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 136962 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 136963 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 136964 | } }, |
| | 136965 | }, .{ |
| | 136966 | .required_features = .{ .sse4_1, null, null, null }, |
| | 136967 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 136968 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 136969 | .patterns = &.{ |
| | 136970 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 136971 | }, |
| | 136972 | .extra_temps = .{ |
| | 136973 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 136974 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 136975 | .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 136976 | .{ .type = .vector_4_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smax, .outside = .smax } } }, |
| | 136977 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 136978 | .unused, |
| | 136979 | .unused, |
| | 136980 | .unused, |
| | 136981 | .unused, |
| | 136982 | .unused, |
| | 136983 | .unused, |
| | 136984 | }, |
| | 136985 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 136986 | .clobbers = .{ .eflags = true }, |
| | 136987 | .each = .{ .once = &.{ |
| | 136988 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 136989 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 136990 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 136991 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 136992 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 136993 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 136994 | .{ .@"0:", .p_w, .maxs, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 136995 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 136996 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 136997 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 136998 | .{ ._, ._, .movddup, .tmp4x, .lea(.tmp0q), ._, ._ }, |
| | 136999 | .{ ._, .p_, .xor, .dst0x, .tmp4x, ._, ._ }, |
| | 137000 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 137001 | .{ ._, .p_, .xor, .dst0x, .tmp4x, ._, ._ }, |
| | 137002 | } }, |
| | 137003 | }, .{ |
| | 137004 | .required_features = .{ .sse2, null, null, null }, |
| | 137005 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 137006 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 137007 | .patterns = &.{ |
| | 137008 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137009 | }, |
| | 137010 | .extra_temps = .{ |
| | 137011 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137012 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 137013 | .{ .type = .vector_8_i16, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 137014 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 137015 | .unused, |
| | 137016 | .unused, |
| | 137017 | .unused, |
| | 137018 | .unused, |
| | 137019 | .unused, |
| | 137020 | .unused, |
| | 137021 | .unused, |
| | 137022 | }, |
| | 137023 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 137024 | .clobbers = .{ .eflags = true }, |
| | 137025 | .each = .{ .once = &.{ |
| | 137026 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137027 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 137028 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 137029 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 137030 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 137031 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 137032 | .{ .@"0:", .p_w, .maxs, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 137033 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 137034 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137035 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 137036 | .{ ._, .p_w, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 137037 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 137038 | .{ ._, .p_w, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 137039 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b01), ._ }, |
| | 137040 | .{ ._, .p_w, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 137041 | } }, |
| | 137042 | }, .{ |
| | 137043 | .required_features = .{ .avx512f, null, null, null }, |
| | 137044 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 137045 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 137046 | .patterns = &.{ |
| | 137047 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137048 | }, |
| | 137049 | .extra_temps = .{ |
| | 137050 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137051 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 137052 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 137053 | .unused, |
| | 137054 | .unused, |
| | 137055 | .unused, |
| | 137056 | .unused, |
| | 137057 | .unused, |
| | 137058 | .unused, |
| | 137059 | .unused, |
| | 137060 | .unused, |
| | 137061 | }, |
| | 137062 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 137063 | .clobbers = .{ .eflags = true }, |
| | 137064 | .each = .{ .once = &.{ |
| | 137065 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137066 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 137067 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 137068 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 137069 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 137070 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 137071 | .{ .@"0:", .vp_w, .maxu, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 137072 | .{ ._, .vp_w, .maxu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 137073 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 137074 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137075 | .{ ._, .vp_w, .maxu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 137076 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 137077 | .{ ._, .vp_w, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 137078 | .{ ._, .vp_w, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| | 137079 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 137080 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 137081 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 137082 | } }, |
| | 137083 | }, .{ |
| | 137084 | .required_features = .{ .avx2, null, null, null }, |
| | 137085 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 137086 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 137087 | .patterns = &.{ |
| | 137088 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137089 | }, |
| | 137090 | .extra_temps = .{ |
| | 137091 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137092 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 137093 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 137094 | .unused, |
| | 137095 | .unused, |
| | 137096 | .unused, |
| | 137097 | .unused, |
| | 137098 | .unused, |
| | 137099 | .unused, |
| | 137100 | .unused, |
| | 137101 | .unused, |
| | 137102 | }, |
| | 137103 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 137104 | .clobbers = .{ .eflags = true }, |
| | 137105 | .each = .{ .once = &.{ |
| | 137106 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137107 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 137108 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 137109 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 137110 | .{ .@"0:", .vp_w, .maxu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 137111 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 137112 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137113 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 137114 | .{ ._, .vp_w, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 137115 | .{ ._, .vp_w, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| | 137116 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 137117 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 137118 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 137119 | } }, |
| | 137120 | }, .{ |
| | 137121 | .required_features = .{ .avx, null, null, null }, |
| | 137122 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 137123 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 137124 | .patterns = &.{ |
| | 137125 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137126 | }, |
| | 137127 | .extra_temps = .{ |
| | 137128 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137129 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 137130 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 137131 | .unused, |
| | 137132 | .unused, |
| | 137133 | .unused, |
| | 137134 | .unused, |
| | 137135 | .unused, |
| | 137136 | .unused, |
| | 137137 | .unused, |
| | 137138 | .unused, |
| | 137139 | }, |
| | 137140 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 137141 | .clobbers = .{ .eflags = true }, |
| | 137142 | .each = .{ .once = &.{ |
| | 137143 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137144 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 137145 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 137146 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 137147 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 137148 | .{ ._, .vp_w, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 137149 | .{ .@"0:", .vp_w, .maxu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 137150 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 137151 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137152 | .{ ._, .vp_w, .cmpeq, .tmp2x, .tmp2x, .tmp2x, ._ }, |
| | 137153 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 137154 | .{ ._, .vph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 137155 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 137156 | } }, |
| | 137157 | }, .{ |
| | 137158 | .required_features = .{ .sse4_1, null, null, null }, |
| | 137159 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 137160 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 137161 | .patterns = &.{ |
| | 137162 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137163 | }, |
| | 137164 | .extra_temps = .{ |
| | 137165 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137166 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 137167 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 137168 | .unused, |
| | 137169 | .unused, |
| | 137170 | .unused, |
| | 137171 | .unused, |
| | 137172 | .unused, |
| | 137173 | .unused, |
| | 137174 | .unused, |
| | 137175 | .unused, |
| | 137176 | }, |
| | 137177 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 137178 | .clobbers = .{ .eflags = true }, |
| | 137179 | .each = .{ .once = &.{ |
| | 137180 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137181 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 137182 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 137183 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 137184 | .{ ._, .p_w, .cmpeq, .tmp2x, .tmp2x, ._, ._ }, |
| | 137185 | .{ .@"0:", .p_w, .maxu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 137186 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 137187 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137188 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137189 | .{ ._, .ph_w, .minposu, .dst0x, .dst0x, ._, ._ }, |
| | 137190 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137191 | } }, |
| | 137192 | }, .{ |
| | 137193 | .required_features = .{ .sse2, null, null, null }, |
| | 137194 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 137195 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 137196 | .patterns = &.{ |
| | 137197 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137198 | }, |
| | 137199 | .extra_temps = .{ |
| | 137200 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137201 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 137202 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 137203 | .unused, |
| | 137204 | .unused, |
| | 137205 | .unused, |
| | 137206 | .unused, |
| | 137207 | .unused, |
| | 137208 | .unused, |
| | 137209 | .unused, |
| | 137210 | .unused, |
| | 137211 | }, |
| | 137212 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 137213 | .clobbers = .{ .eflags = true }, |
| | 137214 | .each = .{ .once = &.{ |
| | 137215 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137216 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 137217 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 137218 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 137219 | .{ .@"0:", ._dqa, .mov, .tmp2x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 137220 | .{ ._, .p_w, .subus, .tmp2x, .dst0x, ._, ._ }, |
| | 137221 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 137222 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 137223 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137224 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 137225 | .{ ._, .p_w, .subus, .dst0x, .tmp2x, ._, ._ }, |
| | 137226 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 137227 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 137228 | .{ ._, .p_w, .subus, .dst0x, .tmp2x, ._, ._ }, |
| | 137229 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 137230 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 137231 | .{ ._, .p_w, .subus, .dst0x, .tmp2x, ._, ._ }, |
| | 137232 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 137233 | } }, |
| | 137234 | }, .{ |
| | 137235 | .required_features = .{ .cmov, null, null, null }, |
| | 137236 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 137237 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 137238 | .patterns = &.{ |
| | 137239 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137240 | }, |
| | 137241 | .extra_temps = .{ |
| | 137242 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137243 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| | 137244 | .unused, |
| | 137245 | .unused, |
| | 137246 | .unused, |
| | 137247 | .unused, |
| | 137248 | .unused, |
| | 137249 | .unused, |
| | 137250 | .unused, |
| | 137251 | .unused, |
| | 137252 | .unused, |
| | 137253 | }, |
| | 137254 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 137255 | .clobbers = .{ .eflags = true }, |
| | 137256 | .each = .{ .once = &.{ |
| | 137257 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 137258 | .{ ._, ._, .movsx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 137259 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 137260 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 137261 | .{ ._, ._l, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 137262 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 137263 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137264 | } }, |
| | 137265 | }, .{ |
| | 137266 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 137267 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 137268 | .patterns = &.{ |
| | 137269 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137270 | }, |
| | 137271 | .extra_temps = .{ |
| | 137272 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137273 | .{ .type = .i16, .kind = .{ .rc = .general_purpose } }, |
| | 137274 | .unused, |
| | 137275 | .unused, |
| | 137276 | .unused, |
| | 137277 | .unused, |
| | 137278 | .unused, |
| | 137279 | .unused, |
| | 137280 | .unused, |
| | 137281 | .unused, |
| | 137282 | .unused, |
| | 137283 | }, |
| | 137284 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 137285 | .clobbers = .{ .eflags = true }, |
| | 137286 | .each = .{ .once = &.{ |
| | 137287 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 137288 | .{ ._, ._, .movsx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 137289 | .{ .@"0:", ._, .movsx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 137290 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 137291 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, |
| | 137292 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 137293 | .{ .@"1:", ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 137294 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137295 | } }, |
| | 137296 | }, .{ |
| | 137297 | .required_features = .{ .cmov, null, null, null }, |
| | 137298 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 137299 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 137300 | .patterns = &.{ |
| | 137301 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137302 | }, |
| | 137303 | .extra_temps = .{ |
| | 137304 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137305 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 137306 | .unused, |
| | 137307 | .unused, |
| | 137308 | .unused, |
| | 137309 | .unused, |
| | 137310 | .unused, |
| | 137311 | .unused, |
| | 137312 | .unused, |
| | 137313 | .unused, |
| | 137314 | .unused, |
| | 137315 | }, |
| | 137316 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 137317 | .clobbers = .{ .eflags = true }, |
| | 137318 | .each = .{ .once = &.{ |
| | 137319 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 137320 | .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 137321 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 137322 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 137323 | .{ ._, ._b, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 137324 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 137325 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137326 | } }, |
| | 137327 | }, .{ |
| | 137328 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 137329 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 137330 | .patterns = &.{ |
| | 137331 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 137332 | }, |
| | 137333 | .extra_temps = .{ |
| | 137334 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 137335 | .{ .type = .u16, .kind = .{ .rc = .general_purpose } }, |
| | 137336 | .unused, |
| | 137337 | .unused, |
| | 137338 | .unused, |
| | 137339 | .unused, |
| | 137340 | .unused, |
| | 137341 | .unused, |
| | 137342 | .unused, |
| | 137343 | .unused, |
| | 137344 | .unused, |
| | 137345 | }, |
| | 137346 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 137347 | .clobbers = .{ .eflags = true }, |
| | 137348 | .each = .{ .once = &.{ |
| | 137349 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 137350 | .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 137351 | .{ .@"0:", ._, .movzx, .tmp1d, .memi(.src0w, .tmp0), ._, ._ }, |
| | 137352 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 137353 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 137354 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 137355 | .{ .@"1:", ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 137356 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 137357 | } }, |
| | 137358 | }, .{ |
| | 137359 | .required_features = .{ .avx, null, null, null }, |
| | 137360 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 137361 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 137362 | .patterns = &.{ |
| | 137363 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 137364 | }, |
| | 137365 | .extra_temps = .{ |
| | 137366 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137367 | .unused, |
| | 137368 | .unused, |
| | 137369 | .unused, |
| | 137370 | .unused, |
| | 137371 | .unused, |
| | 137372 | .unused, |
| | 137373 | .unused, |
| | 137374 | .unused, |
| | 137375 | .unused, |
| | 137376 | .unused, |
| | 137377 | }, |
| | 137378 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 137379 | .each = .{ .once = &.{ |
| | 137380 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137381 | .{ ._, .vp_d, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 137382 | } }, |
| | 137383 | }, .{ |
| | 137384 | .required_features = .{ .sse4_1, null, null, null }, |
| | 137385 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 137386 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 137387 | .patterns = &.{ |
| | 137388 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137389 | }, |
| | 137390 | .extra_temps = .{ |
| | 137391 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137392 | .unused, |
| | 137393 | .unused, |
| | 137394 | .unused, |
| | 137395 | .unused, |
| | 137396 | .unused, |
| | 137397 | .unused, |
| | 137398 | .unused, |
| | 137399 | .unused, |
| | 137400 | .unused, |
| | 137401 | .unused, |
| | 137402 | }, |
| | 137403 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137404 | .each = .{ .once = &.{ |
| | 137405 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137406 | .{ ._, .p_d, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 137407 | } }, |
| | 137408 | }, .{ |
| | 137409 | .required_features = .{ .sse2, null, null, null }, |
| | 137410 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 137411 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 137412 | .patterns = &.{ |
| | 137413 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137414 | }, |
| | 137415 | .extra_temps = .{ |
| | 137416 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137417 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137418 | .unused, |
| | 137419 | .unused, |
| | 137420 | .unused, |
| | 137421 | .unused, |
| | 137422 | .unused, |
| | 137423 | .unused, |
| | 137424 | .unused, |
| | 137425 | .unused, |
| | 137426 | .unused, |
| | 137427 | }, |
| | 137428 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137429 | .each = .{ .once = &.{ |
| | 137430 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137431 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 137432 | .{ ._, .p_d, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 137433 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 137434 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 137435 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 137436 | } }, |
| | 137437 | }, .{ |
| | 137438 | .required_features = .{ .avx, null, null, null }, |
| | 137439 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137440 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 137441 | .patterns = &.{ |
| | 137442 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 137443 | }, |
| | 137444 | .extra_temps = .{ |
| | 137445 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 137446 | .unused, |
| | 137447 | .unused, |
| | 137448 | .unused, |
| | 137449 | .unused, |
| | 137450 | .unused, |
| | 137451 | .unused, |
| | 137452 | .unused, |
| | 137453 | .unused, |
| | 137454 | .unused, |
| | 137455 | .unused, |
| | 137456 | }, |
| | 137457 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 137458 | .each = .{ .once = &.{ |
| | 137459 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137460 | .{ ._, .vp_d, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 137461 | } }, |
| | 137462 | }, .{ |
| | 137463 | .required_features = .{ .sse4_1, null, null, null }, |
| | 137464 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137465 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 137466 | .patterns = &.{ |
| | 137467 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137468 | }, |
| | 137469 | .extra_temps = .{ |
| | 137470 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 137471 | .unused, |
| | 137472 | .unused, |
| | 137473 | .unused, |
| | 137474 | .unused, |
| | 137475 | .unused, |
| | 137476 | .unused, |
| | 137477 | .unused, |
| | 137478 | .unused, |
| | 137479 | .unused, |
| | 137480 | .unused, |
| | 137481 | }, |
| | 137482 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137483 | .each = .{ .once = &.{ |
| | 137484 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137485 | .{ ._, .p_d, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 137486 | } }, |
| | 137487 | }, .{ |
| | 137488 | .required_features = .{ .sse3, null, null, null }, |
| | 137489 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137490 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 137491 | .patterns = &.{ |
| | 137492 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137493 | }, |
| | 137494 | .extra_temps = .{ |
| | 137495 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 137496 | .{ .type = .vector_2_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 137497 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137498 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137499 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137500 | .unused, |
| | 137501 | .unused, |
| | 137502 | .unused, |
| | 137503 | .unused, |
| | 137504 | .unused, |
| | 137505 | .unused, |
| | 137506 | }, |
| | 137507 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137508 | .each = .{ .once = &.{ |
| | 137509 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137510 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 137511 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137512 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 137513 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 137514 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 137515 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 137516 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 137517 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 137518 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137519 | } }, |
| | 137520 | }, .{ |
| | 137521 | .required_features = .{ .sse2, null, null, null }, |
| | 137522 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137523 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 137524 | .patterns = &.{ |
| | 137525 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137526 | }, |
| | 137527 | .extra_temps = .{ |
| | 137528 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 137529 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 137530 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137531 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137532 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137533 | .unused, |
| | 137534 | .unused, |
| | 137535 | .unused, |
| | 137536 | .unused, |
| | 137537 | .unused, |
| | 137538 | .unused, |
| | 137539 | }, |
| | 137540 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137541 | .each = .{ .once = &.{ |
| | 137542 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137543 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 137544 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137545 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 137546 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 137547 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 137548 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 137549 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 137550 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 137551 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137552 | } }, |
| | 137553 | }, .{ |
| | 137554 | .required_features = .{ .avx, null, null, null }, |
| | 137555 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 137556 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137557 | .patterns = &.{ |
| | 137558 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 137559 | }, |
| | 137560 | .extra_temps = .{ |
| | 137561 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137562 | .unused, |
| | 137563 | .unused, |
| | 137564 | .unused, |
| | 137565 | .unused, |
| | 137566 | .unused, |
| | 137567 | .unused, |
| | 137568 | .unused, |
| | 137569 | .unused, |
| | 137570 | .unused, |
| | 137571 | .unused, |
| | 137572 | }, |
| | 137573 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 137574 | .each = .{ .once = &.{ |
| | 137575 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137576 | .{ ._, .vp_d, .maxs, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 137577 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 137578 | .{ ._, .vp_d, .maxs, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 137579 | } }, |
| | 137580 | }, .{ |
| | 137581 | .required_features = .{ .sse4_1, null, null, null }, |
| | 137582 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137583 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137584 | .patterns = &.{ |
| | 137585 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 137586 | }, |
| | 137587 | .extra_temps = .{ |
| | 137588 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137589 | .unused, |
| | 137590 | .unused, |
| | 137591 | .unused, |
| | 137592 | .unused, |
| | 137593 | .unused, |
| | 137594 | .unused, |
| | 137595 | .unused, |
| | 137596 | .unused, |
| | 137597 | .unused, |
| | 137598 | .unused, |
| | 137599 | }, |
| | 137600 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 137601 | .each = .{ .once = &.{ |
| | 137602 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137603 | .{ ._, .p_d, .maxs, .tmp0x, .src0x, ._, ._ }, |
| | 137604 | .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 137605 | .{ ._, .p_d, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 137606 | } }, |
| | 137607 | }, .{ |
| | 137608 | .required_features = .{ .sse2, null, null, null }, |
| | 137609 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 137610 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137611 | .patterns = &.{ |
| | 137612 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137613 | }, |
| | 137614 | .extra_temps = .{ |
| | 137615 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137616 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137617 | .unused, |
| | 137618 | .unused, |
| | 137619 | .unused, |
| | 137620 | .unused, |
| | 137621 | .unused, |
| | 137622 | .unused, |
| | 137623 | .unused, |
| | 137624 | .unused, |
| | 137625 | .unused, |
| | 137626 | }, |
| | 137627 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137628 | .each = .{ .once = &.{ |
| | 137629 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137630 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 137631 | .{ ._, .p_d, .cmpgt, .tmp1x, .src0x, ._, ._ }, |
| | 137632 | .{ ._, .p_, .@"and", .tmp0x, .tmp1x, ._, ._ }, |
| | 137633 | .{ ._, .p_, .andn, .tmp1x, .src0x, ._, ._ }, |
| | 137634 | .{ ._, .p_, .@"or", .tmp0x, .tmp1x, ._, ._ }, |
| | 137635 | .{ ._, .p_w, .shufl, .dst0x, .dst0x, .ui(0b11_10), ._ }, |
| | 137636 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 137637 | .{ ._, .p_d, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 137638 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 137639 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 137640 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 137641 | } }, |
| | 137642 | }, .{ |
| | 137643 | .required_features = .{ .avx, null, null, null }, |
| | 137644 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137645 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137646 | .patterns = &.{ |
| | 137647 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 137648 | }, |
| | 137649 | .extra_temps = .{ |
| | 137650 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 137651 | .unused, |
| | 137652 | .unused, |
| | 137653 | .unused, |
| | 137654 | .unused, |
| | 137655 | .unused, |
| | 137656 | .unused, |
| | 137657 | .unused, |
| | 137658 | .unused, |
| | 137659 | .unused, |
| | 137660 | .unused, |
| | 137661 | }, |
| | 137662 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 137663 | .each = .{ .once = &.{ |
| | 137664 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137665 | .{ ._, .vp_d, .maxu, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 137666 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 137667 | .{ ._, .vp_d, .maxu, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 137668 | } }, |
| | 137669 | }, .{ |
| | 137670 | .required_features = .{ .sse4_1, null, null, null }, |
| | 137671 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137672 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137673 | .patterns = &.{ |
| | 137674 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137675 | }, |
| | 137676 | .extra_temps = .{ |
| | 137677 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 137678 | .unused, |
| | 137679 | .unused, |
| | 137680 | .unused, |
| | 137681 | .unused, |
| | 137682 | .unused, |
| | 137683 | .unused, |
| | 137684 | .unused, |
| | 137685 | .unused, |
| | 137686 | .unused, |
| | 137687 | .unused, |
| | 137688 | }, |
| | 137689 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137690 | .each = .{ .once = &.{ |
| | 137691 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137692 | .{ ._, .p_d, .maxu, .tmp0x, .src0x, ._, ._ }, |
| | 137693 | .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 137694 | .{ ._, .p_d, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 137695 | } }, |
| | 137696 | }, .{ |
| | 137697 | .required_features = .{ .sse3, null, null, null }, |
| | 137698 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137699 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137700 | .patterns = &.{ |
| | 137701 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137702 | }, |
| | 137703 | .extra_temps = .{ |
| | 137704 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 137705 | .{ .type = .vector_2_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 137706 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137707 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137708 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137709 | .unused, |
| | 137710 | .unused, |
| | 137711 | .unused, |
| | 137712 | .unused, |
| | 137713 | .unused, |
| | 137714 | .unused, |
| | 137715 | }, |
| | 137716 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137717 | .each = .{ .once = &.{ |
| | 137718 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137719 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 137720 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137721 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 137722 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 137723 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 137724 | .{ ._, .p_, .@"and", .tmp3x, .tmp4x, ._, ._ }, |
| | 137725 | .{ ._, .p_, .andn, .tmp4x, .dst0x, ._, ._ }, |
| | 137726 | .{ ._, .p_, .@"or", .tmp3x, .tmp4x, ._, ._ }, |
| | 137727 | .{ ._, .p_w, .shufl, .dst0x, .dst0x, .ui(0b11_10), ._ }, |
| | 137728 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 137729 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 137730 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 137731 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 137732 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 137733 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137734 | } }, |
| | 137735 | }, .{ |
| | 137736 | .required_features = .{ .sse2, null, null, null }, |
| | 137737 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137738 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137739 | .patterns = &.{ |
| | 137740 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137741 | }, |
| | 137742 | .extra_temps = .{ |
| | 137743 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 137744 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 137745 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137746 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137747 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137748 | .unused, |
| | 137749 | .unused, |
| | 137750 | .unused, |
| | 137751 | .unused, |
| | 137752 | .unused, |
| | 137753 | .unused, |
| | 137754 | }, |
| | 137755 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137756 | .each = .{ .once = &.{ |
| | 137757 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137758 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 137759 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137760 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 137761 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 137762 | .{ ._, .p_d, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 137763 | .{ ._, .p_, .@"and", .tmp3x, .tmp4x, ._, ._ }, |
| | 137764 | .{ ._, .p_, .andn, .tmp4x, .dst0x, ._, ._ }, |
| | 137765 | .{ ._, .p_, .@"or", .tmp3x, .tmp4x, ._, ._ }, |
| | 137766 | .{ ._, .p_w, .shufl, .dst0x, .dst0x, .ui(0b11_10), ._ }, |
| | 137767 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 137768 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 137769 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 137770 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 137771 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 137772 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137773 | } }, |
| | 137774 | }, .{ |
| | 137775 | .required_features = .{ .avx, null, null, null }, |
| | 137776 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 137777 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137778 | .patterns = &.{ |
| | 137779 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 137780 | }, |
| | 137781 | .extra_temps = .{ |
| | 137782 | .{ .type = .vector_8_i16, .kind = .{ .rc = .sse } }, |
| | 137783 | .unused, |
| | 137784 | .unused, |
| | 137785 | .unused, |
| | 137786 | .unused, |
| | 137787 | .unused, |
| | 137788 | .unused, |
| | 137789 | .unused, |
| | 137790 | .unused, |
| | 137791 | .unused, |
| | 137792 | .unused, |
| | 137793 | }, |
| | 137794 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 137795 | .each = .{ .once = &.{ |
| | 137796 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137797 | .{ ._, .vp_d, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 137798 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 137799 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 137800 | } }, |
| | 137801 | }, .{ |
| | 137802 | .required_features = .{ .sse4_1, null, null, null }, |
| | 137803 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 137804 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137805 | .patterns = &.{ |
| | 137806 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137807 | }, |
| | 137808 | .extra_temps = .{ |
| | 137809 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137810 | .unused, |
| | 137811 | .unused, |
| | 137812 | .unused, |
| | 137813 | .unused, |
| | 137814 | .unused, |
| | 137815 | .unused, |
| | 137816 | .unused, |
| | 137817 | .unused, |
| | 137818 | .unused, |
| | 137819 | .unused, |
| | 137820 | }, |
| | 137821 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137822 | .each = .{ .once = &.{ |
| | 137823 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137824 | .{ ._, .p_d, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 137825 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 137826 | .{ ._, .p_d, .maxs, .dst0x, .tmp0x, ._, ._ }, |
| | 137827 | } }, |
| | 137828 | }, .{ |
| | 137829 | .required_features = .{ .sse2, null, null, null }, |
| | 137830 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 137831 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137832 | .patterns = &.{ |
| | 137833 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137834 | }, |
| | 137835 | .extra_temps = .{ |
| | 137836 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137837 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137838 | .unused, |
| | 137839 | .unused, |
| | 137840 | .unused, |
| | 137841 | .unused, |
| | 137842 | .unused, |
| | 137843 | .unused, |
| | 137844 | .unused, |
| | 137845 | .unused, |
| | 137846 | .unused, |
| | 137847 | }, |
| | 137848 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137849 | .each = .{ .once = &.{ |
| | 137850 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137851 | .{ ._, ._dqa, .mov, .tmp1x, .src0x, ._, ._ }, |
| | 137852 | .{ ._, .p_d, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 137853 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 137854 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 137855 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 137856 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 137857 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 137858 | .{ ._, .p_d, .cmpgt, .tmp1x, .tmp0x, ._, ._ }, |
| | 137859 | .{ ._, .p_, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 137860 | .{ ._, .p_, .andn, .tmp1x, .tmp0x, ._, ._ }, |
| | 137861 | .{ ._, .p_, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 137862 | } }, |
| | 137863 | }, .{ |
| | 137864 | .required_features = .{ .avx, null, null, null }, |
| | 137865 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137866 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137867 | .patterns = &.{ |
| | 137868 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 137869 | }, |
| | 137870 | .extra_temps = .{ |
| | 137871 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 137872 | .unused, |
| | 137873 | .unused, |
| | 137874 | .unused, |
| | 137875 | .unused, |
| | 137876 | .unused, |
| | 137877 | .unused, |
| | 137878 | .unused, |
| | 137879 | .unused, |
| | 137880 | .unused, |
| | 137881 | .unused, |
| | 137882 | }, |
| | 137883 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 137884 | .each = .{ .once = &.{ |
| | 137885 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137886 | .{ ._, .vp_d, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 137887 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 137888 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 137889 | } }, |
| | 137890 | }, .{ |
| | 137891 | .required_features = .{ .sse4_1, null, null, null }, |
| | 137892 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137893 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137894 | .patterns = &.{ |
| | 137895 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137896 | }, |
| | 137897 | .extra_temps = .{ |
| | 137898 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 137899 | .unused, |
| | 137900 | .unused, |
| | 137901 | .unused, |
| | 137902 | .unused, |
| | 137903 | .unused, |
| | 137904 | .unused, |
| | 137905 | .unused, |
| | 137906 | .unused, |
| | 137907 | .unused, |
| | 137908 | .unused, |
| | 137909 | }, |
| | 137910 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137911 | .each = .{ .once = &.{ |
| | 137912 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 137913 | .{ ._, .p_d, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 137914 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 137915 | .{ ._, .p_d, .maxu, .dst0x, .tmp0x, ._, ._ }, |
| | 137916 | } }, |
| | 137917 | }, .{ |
| | 137918 | .required_features = .{ .sse3, null, null, null }, |
| | 137919 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137920 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137921 | .patterns = &.{ |
| | 137922 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137923 | }, |
| | 137924 | .extra_temps = .{ |
| | 137925 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 137926 | .{ .type = .vector_2_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 137927 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137928 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137929 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137930 | .unused, |
| | 137931 | .unused, |
| | 137932 | .unused, |
| | 137933 | .unused, |
| | 137934 | .unused, |
| | 137935 | .unused, |
| | 137936 | }, |
| | 137937 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137938 | .each = .{ .once = &.{ |
| | 137939 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137940 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 137941 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137942 | .{ ._, .p_d, .shuf, .tmp3x, .src0x, .ui(0b11_10), ._ }, |
| | 137943 | .{ ._, ._dqa, .mov, .tmp4x, .src0x, ._, ._ }, |
| | 137944 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 137945 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 137946 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 137947 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 137948 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 137949 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 137950 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 137951 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 137952 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 137953 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 137954 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137955 | } }, |
| | 137956 | }, .{ |
| | 137957 | .required_features = .{ .sse2, null, null, null }, |
| | 137958 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 137959 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 137960 | .patterns = &.{ |
| | 137961 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 137962 | }, |
| | 137963 | .extra_temps = .{ |
| | 137964 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 137965 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 137966 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137967 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137968 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 137969 | .unused, |
| | 137970 | .unused, |
| | 137971 | .unused, |
| | 137972 | .unused, |
| | 137973 | .unused, |
| | 137974 | .unused, |
| | 137975 | }, |
| | 137976 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 137977 | .each = .{ .once = &.{ |
| | 137978 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 137979 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 137980 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137981 | .{ ._, .p_d, .shuf, .tmp3x, .src0x, .ui(0b11_10), ._ }, |
| | 137982 | .{ ._, ._dqa, .mov, .tmp4x, .src0x, ._, ._ }, |
| | 137983 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 137984 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 137985 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 137986 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 137987 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 137988 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 137989 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 137990 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 137991 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 137992 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 137993 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 137994 | } }, |
| | 137995 | }, .{ |
| | 137996 | .required_features = .{ .avx2, null, null, null }, |
| | 137997 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 137998 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 137999 | .patterns = &.{ |
| | 138000 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 138001 | }, |
| | 138002 | .extra_temps = .{ |
| | 138003 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 138004 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138005 | .{ .type = .vector_8_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 138006 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138007 | .unused, |
| | 138008 | .unused, |
| | 138009 | .unused, |
| | 138010 | .unused, |
| | 138011 | .unused, |
| | 138012 | .unused, |
| | 138013 | .unused, |
| | 138014 | }, |
| | 138015 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 138016 | .each = .{ .once = &.{ |
| | 138017 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138018 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 138019 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 138020 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 138021 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 138022 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138023 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138024 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138025 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138026 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138027 | } }, |
| | 138028 | }, .{ |
| | 138029 | .required_features = .{ .avx, null, null, null }, |
| | 138030 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138031 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138032 | .patterns = &.{ |
| | 138033 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 138034 | }, |
| | 138035 | .extra_temps = .{ |
| | 138036 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 138037 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138038 | .{ .type = .vector_8_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 138039 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138040 | .unused, |
| | 138041 | .unused, |
| | 138042 | .unused, |
| | 138043 | .unused, |
| | 138044 | .unused, |
| | 138045 | .unused, |
| | 138046 | .unused, |
| | 138047 | }, |
| | 138048 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 138049 | .each = .{ .once = &.{ |
| | 138050 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138051 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 138052 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 138053 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 138054 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 138055 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138056 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138057 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138058 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138059 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138060 | } }, |
| | 138061 | }, .{ |
| | 138062 | .required_features = .{ .avx2, null, null, null }, |
| | 138063 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138064 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138065 | .patterns = &.{ |
| | 138066 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 138067 | }, |
| | 138068 | .extra_temps = .{ |
| | 138069 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 138070 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138071 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 138072 | .unused, |
| | 138073 | .unused, |
| | 138074 | .unused, |
| | 138075 | .unused, |
| | 138076 | .unused, |
| | 138077 | .unused, |
| | 138078 | .unused, |
| | 138079 | .unused, |
| | 138080 | }, |
| | 138081 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 138082 | .each = .{ .once = &.{ |
| | 138083 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138084 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 138085 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 138086 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138087 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 138088 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138089 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 138090 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138091 | } }, |
| | 138092 | }, .{ |
| | 138093 | .required_features = .{ .avx, null, null, null }, |
| | 138094 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138095 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138096 | .patterns = &.{ |
| | 138097 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 138098 | }, |
| | 138099 | .extra_temps = .{ |
| | 138100 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 138101 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138102 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 138103 | .unused, |
| | 138104 | .unused, |
| | 138105 | .unused, |
| | 138106 | .unused, |
| | 138107 | .unused, |
| | 138108 | .unused, |
| | 138109 | .unused, |
| | 138110 | .unused, |
| | 138111 | }, |
| | 138112 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 138113 | .each = .{ .once = &.{ |
| | 138114 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138115 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 138116 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 138117 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138118 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 138119 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138120 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 138121 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138122 | } }, |
| | 138123 | }, .{ |
| | 138124 | .required_features = .{ .avx2, null, null, null }, |
| | 138125 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138126 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138127 | .patterns = &.{ |
| | 138128 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 138129 | }, |
| | 138130 | .extra_temps = .{ |
| | 138131 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138132 | .unused, |
| | 138133 | .unused, |
| | 138134 | .unused, |
| | 138135 | .unused, |
| | 138136 | .unused, |
| | 138137 | .unused, |
| | 138138 | .unused, |
| | 138139 | .unused, |
| | 138140 | .unused, |
| | 138141 | .unused, |
| | 138142 | }, |
| | 138143 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 138144 | .each = .{ .once = &.{ |
| | 138145 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 138146 | .{ ._, .vp_d, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 138147 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138148 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138149 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138150 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138151 | } }, |
| | 138152 | }, .{ |
| | 138153 | .required_features = .{ .avx, null, null, null }, |
| | 138154 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138155 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138156 | .patterns = &.{ |
| | 138157 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 138158 | }, |
| | 138159 | .extra_temps = .{ |
| | 138160 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138161 | .unused, |
| | 138162 | .unused, |
| | 138163 | .unused, |
| | 138164 | .unused, |
| | 138165 | .unused, |
| | 138166 | .unused, |
| | 138167 | .unused, |
| | 138168 | .unused, |
| | 138169 | .unused, |
| | 138170 | .unused, |
| | 138171 | }, |
| | 138172 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 138173 | .each = .{ .once = &.{ |
| | 138174 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 138175 | .{ ._, .vp_d, .maxs, .dst0x, .src0x, .tmp0x, ._ }, |
| | 138176 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138177 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138178 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138179 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138180 | } }, |
| | 138181 | }, .{ |
| | 138182 | .required_features = .{ .avx2, null, null, null }, |
| | 138183 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138184 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138185 | .patterns = &.{ |
| | 138186 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 138187 | }, |
| | 138188 | .extra_temps = .{ |
| | 138189 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 138190 | .unused, |
| | 138191 | .unused, |
| | 138192 | .unused, |
| | 138193 | .unused, |
| | 138194 | .unused, |
| | 138195 | .unused, |
| | 138196 | .unused, |
| | 138197 | .unused, |
| | 138198 | .unused, |
| | 138199 | .unused, |
| | 138200 | }, |
| | 138201 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 138202 | .each = .{ .once = &.{ |
| | 138203 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 138204 | .{ ._, .vp_d, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 138205 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138206 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138207 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138208 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138209 | } }, |
| | 138210 | }, .{ |
| | 138211 | .required_features = .{ .avx, null, null, null }, |
| | 138212 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138213 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138214 | .patterns = &.{ |
| | 138215 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 138216 | }, |
| | 138217 | .extra_temps = .{ |
| | 138218 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 138219 | .unused, |
| | 138220 | .unused, |
| | 138221 | .unused, |
| | 138222 | .unused, |
| | 138223 | .unused, |
| | 138224 | .unused, |
| | 138225 | .unused, |
| | 138226 | .unused, |
| | 138227 | .unused, |
| | 138228 | .unused, |
| | 138229 | }, |
| | 138230 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 138231 | .each = .{ .once = &.{ |
| | 138232 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 138233 | .{ ._, .vp_d, .maxu, .dst0x, .src0x, .tmp0x, ._ }, |
| | 138234 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138235 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138236 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138237 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138238 | } }, |
| | 138239 | }, .{ |
| | 138240 | .required_features = .{ .avx512f, null, null, null }, |
| | 138241 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138242 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 138243 | .patterns = &.{ |
| | 138244 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138245 | }, |
| | 138246 | .extra_temps = .{ |
| | 138247 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 138248 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138249 | .{ .type = .vector_16_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 138250 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| | 138251 | .unused, |
| | 138252 | .unused, |
| | 138253 | .unused, |
| | 138254 | .unused, |
| | 138255 | .unused, |
| | 138256 | .unused, |
| | 138257 | .unused, |
| | 138258 | }, |
| | 138259 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138260 | .each = .{ .once = &.{ |
| | 138261 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138262 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 138263 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 138264 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 138265 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 138266 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 138267 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 138268 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 138269 | .{ ._, .vp_d, .maxs, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 138270 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 138271 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138272 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138273 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138274 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138275 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138276 | } }, |
| | 138277 | }, .{ |
| | 138278 | .required_features = .{ .avx512f, null, null, null }, |
| | 138279 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138280 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 138281 | .patterns = &.{ |
| | 138282 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138283 | }, |
| | 138284 | .extra_temps = .{ |
| | 138285 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 138286 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138287 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 138288 | .unused, |
| | 138289 | .unused, |
| | 138290 | .unused, |
| | 138291 | .unused, |
| | 138292 | .unused, |
| | 138293 | .unused, |
| | 138294 | .unused, |
| | 138295 | .unused, |
| | 138296 | }, |
| | 138297 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138298 | .each = .{ .once = &.{ |
| | 138299 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138300 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 138301 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 138302 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 138303 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 138304 | .{ ._, .vp_d, .maxu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 138305 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 138306 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138307 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 138308 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138309 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 138310 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138311 | } }, |
| | 138312 | }, .{ |
| | 138313 | .required_features = .{ .avx512f, null, null, null }, |
| | 138314 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138315 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 138316 | .patterns = &.{ |
| | 138317 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138318 | }, |
| | 138319 | .extra_temps = .{ |
| | 138320 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138321 | .unused, |
| | 138322 | .unused, |
| | 138323 | .unused, |
| | 138324 | .unused, |
| | 138325 | .unused, |
| | 138326 | .unused, |
| | 138327 | .unused, |
| | 138328 | .unused, |
| | 138329 | .unused, |
| | 138330 | .unused, |
| | 138331 | }, |
| | 138332 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138333 | .each = .{ .once = &.{ |
| | 138334 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 138335 | .{ ._, .vp_d, .maxs, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 138336 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 138337 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138338 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138339 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138340 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138341 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138342 | } }, |
| | 138343 | }, .{ |
| | 138344 | .required_features = .{ .avx512f, null, null, null }, |
| | 138345 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138346 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 138347 | .patterns = &.{ |
| | 138348 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138349 | }, |
| | 138350 | .extra_temps = .{ |
| | 138351 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 138352 | .unused, |
| | 138353 | .unused, |
| | 138354 | .unused, |
| | 138355 | .unused, |
| | 138356 | .unused, |
| | 138357 | .unused, |
| | 138358 | .unused, |
| | 138359 | .unused, |
| | 138360 | .unused, |
| | 138361 | .unused, |
| | 138362 | }, |
| | 138363 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138364 | .each = .{ .once = &.{ |
| | 138365 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 138366 | .{ ._, .vp_d, .maxu, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 138367 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 138368 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138369 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138370 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138371 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 138372 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 138373 | } }, |
| | 138374 | }, .{ |
| | 138375 | .required_features = .{ .avx2, null, null, null }, |
| | 138376 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138377 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138378 | .patterns = &.{ |
| | 138379 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138380 | }, |
| | 138381 | .extra_temps = .{ |
| | 138382 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138383 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138384 | .unused, |
| | 138385 | .unused, |
| | 138386 | .unused, |
| | 138387 | .unused, |
| | 138388 | .unused, |
| | 138389 | .unused, |
| | 138390 | .unused, |
| | 138391 | .unused, |
| | 138392 | .unused, |
| | 138393 | }, |
| | 138394 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138395 | .clobbers = .{ .eflags = true }, |
| | 138396 | .each = .{ .once = &.{ |
| | 138397 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 138398 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 138399 | .{ .@"0:", .vp_d, .maxs, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 138400 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 138401 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138402 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 138403 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138404 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138405 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138406 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138407 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138408 | } }, |
| | 138409 | }, .{ |
| | 138410 | .required_features = .{ .avx, null, null, null }, |
| | 138411 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138412 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 138413 | .patterns = &.{ |
| | 138414 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138415 | }, |
| | 138416 | .extra_temps = .{ |
| | 138417 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138418 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138419 | .unused, |
| | 138420 | .unused, |
| | 138421 | .unused, |
| | 138422 | .unused, |
| | 138423 | .unused, |
| | 138424 | .unused, |
| | 138425 | .unused, |
| | 138426 | .unused, |
| | 138427 | .unused, |
| | 138428 | }, |
| | 138429 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138430 | .clobbers = .{ .eflags = true }, |
| | 138431 | .each = .{ .once = &.{ |
| | 138432 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 138433 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 138434 | .{ .@"0:", .vp_d, .maxs, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 138435 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138436 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138437 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138438 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138439 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138440 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138441 | } }, |
| | 138442 | }, .{ |
| | 138443 | .required_features = .{ .sse4_1, null, null, null }, |
| | 138444 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138445 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 138446 | .patterns = &.{ |
| | 138447 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138448 | }, |
| | 138449 | .extra_temps = .{ |
| | 138450 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138451 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138452 | .unused, |
| | 138453 | .unused, |
| | 138454 | .unused, |
| | 138455 | .unused, |
| | 138456 | .unused, |
| | 138457 | .unused, |
| | 138458 | .unused, |
| | 138459 | .unused, |
| | 138460 | .unused, |
| | 138461 | }, |
| | 138462 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138463 | .clobbers = .{ .eflags = true }, |
| | 138464 | .each = .{ .once = &.{ |
| | 138465 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 138466 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 138467 | .{ .@"0:", .p_d, .maxs, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 138468 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138469 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138470 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138471 | .{ ._, .p_d, .maxs, .dst0x, .tmp1x, ._, ._ }, |
| | 138472 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138473 | .{ ._, .p_d, .maxs, .dst0x, .tmp1x, ._, ._ }, |
| | 138474 | } }, |
| | 138475 | }, .{ |
| | 138476 | .required_features = .{ .sse2, null, null, null }, |
| | 138477 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138478 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 138479 | .patterns = &.{ |
| | 138480 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138481 | }, |
| | 138482 | .extra_temps = .{ |
| | 138483 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138484 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138485 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138486 | .unused, |
| | 138487 | .unused, |
| | 138488 | .unused, |
| | 138489 | .unused, |
| | 138490 | .unused, |
| | 138491 | .unused, |
| | 138492 | .unused, |
| | 138493 | .unused, |
| | 138494 | }, |
| | 138495 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138496 | .clobbers = .{ .eflags = true }, |
| | 138497 | .each = .{ .once = &.{ |
| | 138498 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 138499 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 138500 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 138501 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 138502 | .{ ._, .p_d, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 138503 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 138504 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 138505 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 138506 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138507 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138508 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138509 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 138510 | .{ ._, .p_d, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 138511 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 138512 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 138513 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 138514 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138515 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 138516 | .{ ._, .p_d, .cmpgt, .tmp2x, .tmp1x, ._, ._ }, |
| | 138517 | .{ ._, .p_, .@"and", .dst0x, .tmp2x, ._, ._ }, |
| | 138518 | .{ ._, .p_, .andn, .tmp2x, .tmp1x, ._, ._ }, |
| | 138519 | .{ ._, .p_, .@"or", .dst0x, .tmp2x, ._, ._ }, |
| | 138520 | } }, |
| | 138521 | }, .{ |
| | 138522 | .required_features = .{ .avx2, null, null, null }, |
| | 138523 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138524 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138525 | .patterns = &.{ |
| | 138526 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138527 | }, |
| | 138528 | .extra_temps = .{ |
| | 138529 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138530 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 138531 | .unused, |
| | 138532 | .unused, |
| | 138533 | .unused, |
| | 138534 | .unused, |
| | 138535 | .unused, |
| | 138536 | .unused, |
| | 138537 | .unused, |
| | 138538 | .unused, |
| | 138539 | .unused, |
| | 138540 | }, |
| | 138541 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138542 | .clobbers = .{ .eflags = true }, |
| | 138543 | .each = .{ .once = &.{ |
| | 138544 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 138545 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 138546 | .{ .@"0:", .vp_d, .maxu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 138547 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 138548 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138549 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 138550 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138551 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138552 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138553 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138554 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138555 | } }, |
| | 138556 | }, .{ |
| | 138557 | .required_features = .{ .avx, null, null, null }, |
| | 138558 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138559 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 138560 | .patterns = &.{ |
| | 138561 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138562 | }, |
| | 138563 | .extra_temps = .{ |
| | 138564 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138565 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 138566 | .unused, |
| | 138567 | .unused, |
| | 138568 | .unused, |
| | 138569 | .unused, |
| | 138570 | .unused, |
| | 138571 | .unused, |
| | 138572 | .unused, |
| | 138573 | .unused, |
| | 138574 | .unused, |
| | 138575 | }, |
| | 138576 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138577 | .clobbers = .{ .eflags = true }, |
| | 138578 | .each = .{ .once = &.{ |
| | 138579 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 138580 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 138581 | .{ .@"0:", .vp_d, .maxu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 138582 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138583 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138584 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138585 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138586 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138587 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 138588 | } }, |
| | 138589 | }, .{ |
| | 138590 | .required_features = .{ .sse4_1, null, null, null }, |
| | 138591 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138592 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 138593 | .patterns = &.{ |
| | 138594 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138595 | }, |
| | 138596 | .extra_temps = .{ |
| | 138597 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138598 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 138599 | .unused, |
| | 138600 | .unused, |
| | 138601 | .unused, |
| | 138602 | .unused, |
| | 138603 | .unused, |
| | 138604 | .unused, |
| | 138605 | .unused, |
| | 138606 | .unused, |
| | 138607 | .unused, |
| | 138608 | }, |
| | 138609 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138610 | .clobbers = .{ .eflags = true }, |
| | 138611 | .each = .{ .once = &.{ |
| | 138612 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 138613 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 138614 | .{ .@"0:", .p_d, .maxu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 138615 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138616 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138617 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138618 | .{ ._, .p_d, .maxu, .dst0x, .tmp1x, ._, ._ }, |
| | 138619 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 138620 | .{ ._, .p_d, .maxu, .dst0x, .tmp1x, ._, ._ }, |
| | 138621 | } }, |
| | 138622 | }, .{ |
| | 138623 | .required_features = .{ .sse3, null, null, null }, |
| | 138624 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138625 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 138626 | .patterns = &.{ |
| | 138627 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138628 | }, |
| | 138629 | .extra_temps = .{ |
| | 138630 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138631 | .{ .type = .vector_2_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 138632 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138633 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138634 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138635 | .unused, |
| | 138636 | .unused, |
| | 138637 | .unused, |
| | 138638 | .unused, |
| | 138639 | .unused, |
| | 138640 | .unused, |
| | 138641 | }, |
| | 138642 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138643 | .clobbers = .{ .eflags = true }, |
| | 138644 | .each = .{ .once = &.{ |
| | 138645 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138646 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 138647 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 138648 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 138649 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 138650 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 138651 | .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ }, |
| | 138652 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 138653 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 138654 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 138655 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 138656 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 138657 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138658 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138659 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138660 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 138661 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 138662 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 138663 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 138664 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 138665 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138666 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 138667 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 138668 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 138669 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 138670 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 138671 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 138672 | } }, |
| | 138673 | }, .{ |
| | 138674 | .required_features = .{ .sse2, null, null, null }, |
| | 138675 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138676 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 138677 | .patterns = &.{ |
| | 138678 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138679 | }, |
| | 138680 | .extra_temps = .{ |
| | 138681 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138682 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 138683 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138684 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138685 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138686 | .unused, |
| | 138687 | .unused, |
| | 138688 | .unused, |
| | 138689 | .unused, |
| | 138690 | .unused, |
| | 138691 | .unused, |
| | 138692 | }, |
| | 138693 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138694 | .clobbers = .{ .eflags = true }, |
| | 138695 | .each = .{ .once = &.{ |
| | 138696 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138697 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 138698 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 138699 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 138700 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 138701 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 138702 | .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ }, |
| | 138703 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 138704 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 138705 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 138706 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 138707 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 138708 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138709 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138710 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138711 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 138712 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 138713 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 138714 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 138715 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 138716 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138717 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 138718 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 138719 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 138720 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 138721 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 138722 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 138723 | } }, |
| | 138724 | }, .{ |
| | 138725 | .required_features = .{ .avx512f, null, null, null }, |
| | 138726 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138727 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 138728 | .patterns = &.{ |
| | 138729 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138730 | }, |
| | 138731 | .extra_temps = .{ |
| | 138732 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138733 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138734 | .{ .type = .vector_16_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 138735 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| | 138736 | .unused, |
| | 138737 | .unused, |
| | 138738 | .unused, |
| | 138739 | .unused, |
| | 138740 | .unused, |
| | 138741 | .unused, |
| | 138742 | .unused, |
| | 138743 | }, |
| | 138744 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138745 | .clobbers = .{ .eflags = true }, |
| | 138746 | .each = .{ .once = &.{ |
| | 138747 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138748 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 138749 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 138750 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 138751 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 138752 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 138753 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 138754 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 138755 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 138756 | .{ .@"0:", .vp_d, .maxs, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 138757 | .{ ._, .vp_d, .maxs, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 138758 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 138759 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138760 | .{ ._, .vp_d, .maxs, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 138761 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 138762 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138763 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138764 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138765 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138766 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138767 | } }, |
| | 138768 | }, .{ |
| | 138769 | .required_features = .{ .avx2, null, null, null }, |
| | 138770 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138771 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138772 | .patterns = &.{ |
| | 138773 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138774 | }, |
| | 138775 | .extra_temps = .{ |
| | 138776 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138777 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138778 | .{ .type = .vector_16_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 138779 | .{ .type = .vector_8_i32, .kind = .{ .rc = .sse } }, |
| | 138780 | .unused, |
| | 138781 | .unused, |
| | 138782 | .unused, |
| | 138783 | .unused, |
| | 138784 | .unused, |
| | 138785 | .unused, |
| | 138786 | .unused, |
| | 138787 | }, |
| | 138788 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138789 | .clobbers = .{ .eflags = true }, |
| | 138790 | .each = .{ .once = &.{ |
| | 138791 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138792 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 138793 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 138794 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 138795 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 138796 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 138797 | .{ .@"0:", .vp_d, .maxs, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 138798 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 138799 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138800 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 138801 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138802 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138803 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138804 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138805 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138806 | } }, |
| | 138807 | }, .{ |
| | 138808 | .required_features = .{ .avx, null, null, null }, |
| | 138809 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138810 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138811 | .patterns = &.{ |
| | 138812 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138813 | }, |
| | 138814 | .extra_temps = .{ |
| | 138815 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138816 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138817 | .{ .type = .vector_8_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 138818 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138819 | .unused, |
| | 138820 | .unused, |
| | 138821 | .unused, |
| | 138822 | .unused, |
| | 138823 | .unused, |
| | 138824 | .unused, |
| | 138825 | .unused, |
| | 138826 | }, |
| | 138827 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138828 | .clobbers = .{ .eflags = true }, |
| | 138829 | .each = .{ .once = &.{ |
| | 138830 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138831 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 138832 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 138833 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 138834 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 138835 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 138836 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 138837 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138838 | .{ .@"0:", .vp_d, .maxs, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 138839 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138840 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138841 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138842 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138843 | .{ ._, .vp_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138844 | .{ ._, .vp_d, .maxs, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 138845 | } }, |
| | 138846 | }, .{ |
| | 138847 | .required_features = .{ .sse4_1, null, null, null }, |
| | 138848 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138849 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 138850 | .patterns = &.{ |
| | 138851 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138852 | }, |
| | 138853 | .extra_temps = .{ |
| | 138854 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138855 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138856 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 138857 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138858 | .unused, |
| | 138859 | .unused, |
| | 138860 | .unused, |
| | 138861 | .unused, |
| | 138862 | .unused, |
| | 138863 | .unused, |
| | 138864 | .unused, |
| | 138865 | }, |
| | 138866 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138867 | .clobbers = .{ .eflags = true }, |
| | 138868 | .each = .{ .once = &.{ |
| | 138869 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138870 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 138871 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 138872 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 138873 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 138874 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 138875 | .{ .@"0:", .p_d, .maxs, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 138876 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138877 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138878 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138879 | .{ ._, .p_d, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 138880 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138881 | .{ ._, .p_d, .maxs, .dst0x, .tmp3x, ._, ._ }, |
| | 138882 | } }, |
| | 138883 | }, .{ |
| | 138884 | .required_features = .{ .sse2, null, null, null }, |
| | 138885 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 138886 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 138887 | .patterns = &.{ |
| | 138888 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138889 | }, |
| | 138890 | .extra_temps = .{ |
| | 138891 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138892 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138893 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 138894 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138895 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 138896 | .unused, |
| | 138897 | .unused, |
| | 138898 | .unused, |
| | 138899 | .unused, |
| | 138900 | .unused, |
| | 138901 | .unused, |
| | 138902 | }, |
| | 138903 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138904 | .clobbers = .{ .eflags = true }, |
| | 138905 | .each = .{ .once = &.{ |
| | 138906 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138907 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 138908 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 138909 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 138910 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 138911 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 138912 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 138913 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 138914 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 138915 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 138916 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 138917 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 138918 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 138919 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138920 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138921 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 138922 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 138923 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 138924 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 138925 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 138926 | .{ ._, .p_w, .shufl, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 138927 | .{ ._, ._dqa, .mov, .tmp4x, .dst0x, ._, ._ }, |
| | 138928 | .{ ._, .p_d, .cmpgt, .tmp4x, .tmp3x, ._, ._ }, |
| | 138929 | .{ ._, .p_, .@"and", .dst0x, .tmp4x, ._, ._ }, |
| | 138930 | .{ ._, .p_, .andn, .tmp4x, .tmp3x, ._, ._ }, |
| | 138931 | .{ ._, .p_, .@"or", .dst0x, .tmp4x, ._, ._ }, |
| | 138932 | } }, |
| | 138933 | }, .{ |
| | 138934 | .required_features = .{ .avx512f, null, null, null }, |
| | 138935 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138936 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 138937 | .patterns = &.{ |
| | 138938 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138939 | }, |
| | 138940 | .extra_temps = .{ |
| | 138941 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138942 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138943 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 138944 | .unused, |
| | 138945 | .unused, |
| | 138946 | .unused, |
| | 138947 | .unused, |
| | 138948 | .unused, |
| | 138949 | .unused, |
| | 138950 | .unused, |
| | 138951 | .unused, |
| | 138952 | }, |
| | 138953 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138954 | .clobbers = .{ .eflags = true }, |
| | 138955 | .each = .{ .once = &.{ |
| | 138956 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138957 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 138958 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 138959 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 138960 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 138961 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 138962 | .{ .@"0:", .vp_d, .maxu, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 138963 | .{ ._, .vp_d, .maxu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 138964 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 138965 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 138966 | .{ ._, .vp_d, .maxu, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 138967 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 138968 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138969 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 138970 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138971 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 138972 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 138973 | } }, |
| | 138974 | }, .{ |
| | 138975 | .required_features = .{ .avx2, null, null, null }, |
| | 138976 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 138977 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 138978 | .patterns = &.{ |
| | 138979 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 138980 | }, |
| | 138981 | .extra_temps = .{ |
| | 138982 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 138983 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 138984 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 138985 | .unused, |
| | 138986 | .unused, |
| | 138987 | .unused, |
| | 138988 | .unused, |
| | 138989 | .unused, |
| | 138990 | .unused, |
| | 138991 | .unused, |
| | 138992 | .unused, |
| | 138993 | }, |
| | 138994 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 138995 | .clobbers = .{ .eflags = true }, |
| | 138996 | .each = .{ .once = &.{ |
| | 138997 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 138998 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 138999 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 139000 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 139001 | .{ .@"0:", .vp_d, .maxu, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 139002 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 139003 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139004 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 139005 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139006 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 139007 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139008 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 139009 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139010 | } }, |
| | 139011 | }, .{ |
| | 139012 | .required_features = .{ .avx, null, null, null }, |
| | 139013 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 139014 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 139015 | .patterns = &.{ |
| | 139016 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139017 | }, |
| | 139018 | .extra_temps = .{ |
| | 139019 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139020 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 139021 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 139022 | .unused, |
| | 139023 | .unused, |
| | 139024 | .unused, |
| | 139025 | .unused, |
| | 139026 | .unused, |
| | 139027 | .unused, |
| | 139028 | .unused, |
| | 139029 | .unused, |
| | 139030 | }, |
| | 139031 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139032 | .clobbers = .{ .eflags = true }, |
| | 139033 | .each = .{ .once = &.{ |
| | 139034 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139035 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 139036 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 139037 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 139038 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 139039 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139040 | .{ .@"0:", .vp_d, .maxu, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 139041 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 139042 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139043 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 139044 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139045 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 139046 | .{ ._, .vp_d, .maxu, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139047 | } }, |
| | 139048 | }, .{ |
| | 139049 | .required_features = .{ .sse4_1, null, null, null }, |
| | 139050 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 139051 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 139052 | .patterns = &.{ |
| | 139053 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139054 | }, |
| | 139055 | .extra_temps = .{ |
| | 139056 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139057 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 139058 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 139059 | .unused, |
| | 139060 | .unused, |
| | 139061 | .unused, |
| | 139062 | .unused, |
| | 139063 | .unused, |
| | 139064 | .unused, |
| | 139065 | .unused, |
| | 139066 | .unused, |
| | 139067 | }, |
| | 139068 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139069 | .clobbers = .{ .eflags = true }, |
| | 139070 | .each = .{ .once = &.{ |
| | 139071 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139072 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 139073 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 139074 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 139075 | .{ .@"0:", .p_d, .maxu, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 139076 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 139077 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139078 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 139079 | .{ ._, .p_d, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 139080 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 139081 | .{ ._, .p_d, .maxu, .dst0x, .tmp2x, ._, ._ }, |
| | 139082 | } }, |
| | 139083 | }, .{ |
| | 139084 | .required_features = .{ .sse3, null, null, null }, |
| | 139085 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 139086 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 139087 | .patterns = &.{ |
| | 139088 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139089 | }, |
| | 139090 | .extra_temps = .{ |
| | 139091 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139092 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139093 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 139094 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 139095 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 139096 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 139097 | .unused, |
| | 139098 | .unused, |
| | 139099 | .unused, |
| | 139100 | .unused, |
| | 139101 | .unused, |
| | 139102 | }, |
| | 139103 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139104 | .clobbers = .{ .eflags = true }, |
| | 139105 | .each = .{ .once = &.{ |
| | 139106 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139107 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 139108 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 139109 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 139110 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 139111 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 139112 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 139113 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 139114 | .{ ._, .p_, .xor, .tmp4x, .tmp2x, ._, ._ }, |
| | 139115 | .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ }, |
| | 139116 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp4x, ._, ._ }, |
| | 139117 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 139118 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 139119 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 139120 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 139121 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139122 | .{ ._, .p_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 139123 | .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ }, |
| | 139124 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp4x, ._, ._ }, |
| | 139125 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 139126 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 139127 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 139128 | .{ ._, .p_w, .shufl, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 139129 | .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ }, |
| | 139130 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp4x, ._, ._ }, |
| | 139131 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 139132 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 139133 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 139134 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 139135 | } }, |
| | 139136 | }, .{ |
| | 139137 | .required_features = .{ .sse2, null, null, null }, |
| | 139138 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 139139 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 139140 | .patterns = &.{ |
| | 139141 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139142 | }, |
| | 139143 | .extra_temps = .{ |
| | 139144 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139145 | .{ .type = .vector_4_i32, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139146 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 139147 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 139148 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 139149 | .{ .type = .vector_4_i32, .kind = .{ .rc = .sse } }, |
| | 139150 | .unused, |
| | 139151 | .unused, |
| | 139152 | .unused, |
| | 139153 | .unused, |
| | 139154 | .unused, |
| | 139155 | }, |
| | 139156 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139157 | .clobbers = .{ .eflags = true }, |
| | 139158 | .each = .{ .once = &.{ |
| | 139159 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139160 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 139161 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 139162 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 139163 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 139164 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 139165 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 139166 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 139167 | .{ ._, .p_, .xor, .tmp4x, .tmp2x, ._, ._ }, |
| | 139168 | .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ }, |
| | 139169 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp4x, ._, ._ }, |
| | 139170 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 139171 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 139172 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 139173 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 139174 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139175 | .{ ._, .p_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 139176 | .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ }, |
| | 139177 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp4x, ._, ._ }, |
| | 139178 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 139179 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 139180 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 139181 | .{ ._, .p_w, .shufl, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 139182 | .{ ._, ._dqa, .mov, .tmp5x, .dst0x, ._, ._ }, |
| | 139183 | .{ ._, .p_d, .cmpgt, .tmp5x, .tmp4x, ._, ._ }, |
| | 139184 | .{ ._, .p_, .@"and", .dst0x, .tmp5x, ._, ._ }, |
| | 139185 | .{ ._, .p_, .andn, .tmp5x, .tmp4x, ._, ._ }, |
| | 139186 | .{ ._, .p_, .@"or", .dst0x, .tmp5x, ._, ._ }, |
| | 139187 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 139188 | } }, |
| | 139189 | }, .{ |
| | 139190 | .required_features = .{ .cmov, null, null, null }, |
| | 139191 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 139192 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 139193 | .patterns = &.{ |
| | 139194 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139195 | }, |
| | 139196 | .extra_temps = .{ |
| | 139197 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139198 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| | 139199 | .unused, |
| | 139200 | .unused, |
| | 139201 | .unused, |
| | 139202 | .unused, |
| | 139203 | .unused, |
| | 139204 | .unused, |
| | 139205 | .unused, |
| | 139206 | .unused, |
| | 139207 | .unused, |
| | 139208 | }, |
| | 139209 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 139210 | .clobbers = .{ .eflags = true }, |
| | 139211 | .each = .{ .once = &.{ |
| | 139212 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 139213 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 139214 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 139215 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 139216 | .{ ._, ._l, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 139217 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 139218 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139219 | } }, |
| | 139220 | }, .{ |
| | 139221 | .dst_constraints = .{ .{ .signed_int = .dword }, .any }, |
| | 139222 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 139223 | .patterns = &.{ |
| | 139224 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139225 | }, |
| | 139226 | .extra_temps = .{ |
| | 139227 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139228 | .{ .type = .i32, .kind = .{ .rc = .general_purpose } }, |
| | 139229 | .unused, |
| | 139230 | .unused, |
| | 139231 | .unused, |
| | 139232 | .unused, |
| | 139233 | .unused, |
| | 139234 | .unused, |
| | 139235 | .unused, |
| | 139236 | .unused, |
| | 139237 | .unused, |
| | 139238 | }, |
| | 139239 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 139240 | .clobbers = .{ .eflags = true }, |
| | 139241 | .each = .{ .once = &.{ |
| | 139242 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 139243 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 139244 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 139245 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 139246 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, |
| | 139247 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 139248 | .{ .@"1:", ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 139249 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139250 | } }, |
| | 139251 | }, .{ |
| | 139252 | .required_features = .{ .cmov, null, null, null }, |
| | 139253 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 139254 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 139255 | .patterns = &.{ |
| | 139256 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139257 | }, |
| | 139258 | .extra_temps = .{ |
| | 139259 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139260 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139261 | .unused, |
| | 139262 | .unused, |
| | 139263 | .unused, |
| | 139264 | .unused, |
| | 139265 | .unused, |
| | 139266 | .unused, |
| | 139267 | .unused, |
| | 139268 | .unused, |
| | 139269 | .unused, |
| | 139270 | }, |
| | 139271 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 139272 | .clobbers = .{ .eflags = true }, |
| | 139273 | .each = .{ .once = &.{ |
| | 139274 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 139275 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 139276 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 139277 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 139278 | .{ ._, ._b, .cmov, .dst0d, .tmp1d, ._, ._ }, |
| | 139279 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 139280 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139281 | } }, |
| | 139282 | }, .{ |
| | 139283 | .dst_constraints = .{ .{ .unsigned_int = .dword }, .any }, |
| | 139284 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 139285 | .patterns = &.{ |
| | 139286 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139287 | }, |
| | 139288 | .extra_temps = .{ |
| | 139289 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139290 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139291 | .unused, |
| | 139292 | .unused, |
| | 139293 | .unused, |
| | 139294 | .unused, |
| | 139295 | .unused, |
| | 139296 | .unused, |
| | 139297 | .unused, |
| | 139298 | .unused, |
| | 139299 | .unused, |
| | 139300 | }, |
| | 139301 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 139302 | .clobbers = .{ .eflags = true }, |
| | 139303 | .each = .{ .once = &.{ |
| | 139304 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 139305 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 139306 | .{ .@"0:", ._, .mov, .tmp1d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 139307 | .{ ._, ._, .cmp, .dst0d, .tmp1d, ._, ._ }, |
| | 139308 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 139309 | .{ ._, ._, .mov, .dst0d, .tmp1d, ._, ._ }, |
| | 139310 | .{ .@"1:", ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 139311 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139312 | } }, |
| | 139313 | }, .{ |
| | 139314 | .required_features = .{ .avx, null, null, null }, |
| | 139315 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139316 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 139317 | .patterns = &.{ |
| | 139318 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139319 | }, |
| | 139320 | .extra_temps = .{ |
| | 139321 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139322 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139323 | .unused, |
| | 139324 | .unused, |
| | 139325 | .unused, |
| | 139326 | .unused, |
| | 139327 | .unused, |
| | 139328 | .unused, |
| | 139329 | .unused, |
| | 139330 | .unused, |
| | 139331 | .unused, |
| | 139332 | }, |
| | 139333 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139334 | .each = .{ .once = &.{ |
| | 139335 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 139336 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .src0x, ._ }, |
| | 139337 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .tmp0x, .tmp1x }, |
| | 139338 | } }, |
| | 139339 | }, .{ |
| | 139340 | .required_features = .{ .sse4_2, null, null, null }, |
| | 139341 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139342 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 139343 | .patterns = &.{ |
| | 139344 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 139345 | }, |
| | 139346 | .extra_temps = .{ |
| | 139347 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139348 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 139349 | .unused, |
| | 139350 | .unused, |
| | 139351 | .unused, |
| | 139352 | .unused, |
| | 139353 | .unused, |
| | 139354 | .unused, |
| | 139355 | .unused, |
| | 139356 | .unused, |
| | 139357 | .unused, |
| | 139358 | }, |
| | 139359 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 139360 | .each = .{ .once = &.{ |
| | 139361 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 139362 | .{ ._, ._dqa, .mov, .tmp1x, .tmp0x, ._, ._ }, |
| | 139363 | .{ ._, .p_q, .cmpgt, .tmp1x, .src0x, ._, ._ }, |
| | 139364 | .{ ._, .p_b, .blendv, .dst0x, .tmp0x, .tmp1x, ._ }, |
| | 139365 | } }, |
| | 139366 | }, .{ |
| | 139367 | .required_features = .{ .avx, null, null, null }, |
| | 139368 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139369 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 139370 | .patterns = &.{ |
| | 139371 | .{ .src = .{ .mem, .none, .none } }, |
| | 139372 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139373 | }, |
| | 139374 | .extra_temps = .{ |
| | 139375 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 139376 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139377 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139378 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139379 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139380 | .unused, |
| | 139381 | .unused, |
| | 139382 | .unused, |
| | 139383 | .unused, |
| | 139384 | .unused, |
| | 139385 | .unused, |
| | 139386 | }, |
| | 139387 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139388 | .each = .{ .once = &.{ |
| | 139389 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139390 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 139391 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .src0x, ._ }, |
| | 139392 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 139393 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139394 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139395 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139396 | } }, |
| | 139397 | }, .{ |
| | 139398 | .required_features = .{ .sse4_2, null, null, null }, |
| | 139399 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139400 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 139401 | .patterns = &.{ |
| | 139402 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 139403 | }, |
| | 139404 | .extra_temps = .{ |
| | 139405 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 139406 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139407 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139408 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139409 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 139410 | .unused, |
| | 139411 | .unused, |
| | 139412 | .unused, |
| | 139413 | .unused, |
| | 139414 | .unused, |
| | 139415 | .unused, |
| | 139416 | }, |
| | 139417 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 139418 | .each = .{ .once = &.{ |
| | 139419 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139420 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 139421 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 139422 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 139423 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 139424 | .{ ._, .p_q, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 139425 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 139426 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 139427 | } }, |
| | 139428 | }, .{ |
| | 139429 | .required_features = .{ .avx2, null, null, null }, |
| | 139430 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139431 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139432 | .patterns = &.{ |
| | 139433 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139434 | }, |
| | 139435 | .extra_temps = .{ |
| | 139436 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139437 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139438 | .unused, |
| | 139439 | .unused, |
| | 139440 | .unused, |
| | 139441 | .unused, |
| | 139442 | .unused, |
| | 139443 | .unused, |
| | 139444 | .unused, |
| | 139445 | .unused, |
| | 139446 | .unused, |
| | 139447 | }, |
| | 139448 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139449 | .each = .{ .once = &.{ |
| | 139450 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 139451 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .src0x, ._ }, |
| | 139452 | .{ ._, .vp_b, .blendv, .tmp0x, .src0x, .tmp0x, .tmp1x }, |
| | 139453 | .{ ._, .v_i128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 139454 | .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 139455 | .{ ._, .vp_b, .blendv, .dst0x, .tmp0x, .dst0x, .tmp1x }, |
| | 139456 | } }, |
| | 139457 | }, .{ |
| | 139458 | .required_features = .{ .avx, null, null, null }, |
| | 139459 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139460 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139461 | .patterns = &.{ |
| | 139462 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139463 | }, |
| | 139464 | .extra_temps = .{ |
| | 139465 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139466 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139467 | .unused, |
| | 139468 | .unused, |
| | 139469 | .unused, |
| | 139470 | .unused, |
| | 139471 | .unused, |
| | 139472 | .unused, |
| | 139473 | .unused, |
| | 139474 | .unused, |
| | 139475 | .unused, |
| | 139476 | }, |
| | 139477 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139478 | .each = .{ .once = &.{ |
| | 139479 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 139480 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .src0x, ._ }, |
| | 139481 | .{ ._, .vp_b, .blendv, .tmp0x, .src0x, .tmp0x, .tmp1x }, |
| | 139482 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 139483 | .{ ._, .vp_q, .cmpgt, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 139484 | .{ ._, .vp_b, .blendv, .dst0x, .tmp0x, .dst0x, .tmp1x }, |
| | 139485 | } }, |
| | 139486 | }, .{ |
| | 139487 | .required_features = .{ .avx2, null, null, null }, |
| | 139488 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139489 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139490 | .patterns = &.{ |
| | 139491 | .{ .src = .{ .mem, .none, .none } }, |
| | 139492 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139493 | }, |
| | 139494 | .extra_temps = .{ |
| | 139495 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 139496 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139497 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139498 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139499 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139500 | .unused, |
| | 139501 | .unused, |
| | 139502 | .unused, |
| | 139503 | .unused, |
| | 139504 | .unused, |
| | 139505 | .unused, |
| | 139506 | }, |
| | 139507 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139508 | .each = .{ .once = &.{ |
| | 139509 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139510 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 139511 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 139512 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 139513 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139514 | .{ ._, .vp_b, .blendv, .tmp3x, .dst0x, .tmp3x, .tmp4x }, |
| | 139515 | .{ ._, .v_i128, .extract, .dst0x, .dst0y, .ui(1), ._ }, |
| | 139516 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 139517 | .{ ._, .vp_b, .blendv, .dst0x, .tmp3x, .dst0x, .tmp4x }, |
| | 139518 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139519 | } }, |
| | 139520 | }, .{ |
| | 139521 | .required_features = .{ .avx, null, null, null }, |
| | 139522 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139523 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139524 | .patterns = &.{ |
| | 139525 | .{ .src = .{ .mem, .none, .none } }, |
| | 139526 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139527 | }, |
| | 139528 | .extra_temps = .{ |
| | 139529 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 139530 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139531 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139532 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139533 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139534 | .unused, |
| | 139535 | .unused, |
| | 139536 | .unused, |
| | 139537 | .unused, |
| | 139538 | .unused, |
| | 139539 | .unused, |
| | 139540 | }, |
| | 139541 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139542 | .each = .{ .once = &.{ |
| | 139543 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139544 | .{ ._, .v_sd, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 139545 | .{ ._, .v_pd, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 139546 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 139547 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139548 | .{ ._, .vp_b, .blendv, .tmp3x, .dst0x, .tmp3x, .tmp4x }, |
| | 139549 | .{ ._, .v_f128, .extract, .dst0x, .dst0y, .ui(1), ._ }, |
| | 139550 | .{ ._, .vp_q, .cmpgt, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 139551 | .{ ._, .vp_b, .blendv, .dst0x, .tmp3x, .dst0x, .tmp4x }, |
| | 139552 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139553 | } }, |
| | 139554 | }, .{ |
| | 139555 | .required_features = .{ .avx2, null, null, null }, |
| | 139556 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139557 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139558 | .patterns = &.{ |
| | 139559 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139560 | }, |
| | 139561 | .extra_temps = .{ |
| | 139562 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139563 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139564 | .unused, |
| | 139565 | .unused, |
| | 139566 | .unused, |
| | 139567 | .unused, |
| | 139568 | .unused, |
| | 139569 | .unused, |
| | 139570 | .unused, |
| | 139571 | .unused, |
| | 139572 | .unused, |
| | 139573 | }, |
| | 139574 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139575 | .each = .{ .once = &.{ |
| | 139576 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 139577 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .src0x, ._ }, |
| | 139578 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .tmp0x, .tmp1x }, |
| | 139579 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 139580 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 139581 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| | 139582 | } }, |
| | 139583 | }, .{ |
| | 139584 | .required_features = .{ .avx, null, null, null }, |
| | 139585 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139586 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139587 | .patterns = &.{ |
| | 139588 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139589 | }, |
| | 139590 | .extra_temps = .{ |
| | 139591 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139592 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139593 | .unused, |
| | 139594 | .unused, |
| | 139595 | .unused, |
| | 139596 | .unused, |
| | 139597 | .unused, |
| | 139598 | .unused, |
| | 139599 | .unused, |
| | 139600 | .unused, |
| | 139601 | .unused, |
| | 139602 | }, |
| | 139603 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139604 | .each = .{ .once = &.{ |
| | 139605 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 139606 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .src0x, ._ }, |
| | 139607 | .{ ._, .vp_b, .blendv, .dst0x, .src0x, .tmp0x, .tmp1x }, |
| | 139608 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 139609 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 139610 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| | 139611 | } }, |
| | 139612 | }, .{ |
| | 139613 | .required_features = .{ .avx2, null, null, null }, |
| | 139614 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139615 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139616 | .patterns = &.{ |
| | 139617 | .{ .src = .{ .mem, .none, .none } }, |
| | 139618 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139619 | }, |
| | 139620 | .extra_temps = .{ |
| | 139621 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 139622 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139623 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139624 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139625 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139626 | .unused, |
| | 139627 | .unused, |
| | 139628 | .unused, |
| | 139629 | .unused, |
| | 139630 | .unused, |
| | 139631 | .unused, |
| | 139632 | }, |
| | 139633 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139634 | .each = .{ .once = &.{ |
| | 139635 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139636 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 139637 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 139638 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 139639 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139640 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139641 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 139642 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139643 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139644 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139645 | } }, |
| | 139646 | }, .{ |
| | 139647 | .required_features = .{ .avx, null, null, null }, |
| | 139648 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139649 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139650 | .patterns = &.{ |
| | 139651 | .{ .src = .{ .mem, .none, .none } }, |
| | 139652 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 139653 | }, |
| | 139654 | .extra_temps = .{ |
| | 139655 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 139656 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139657 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139658 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139659 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139660 | .unused, |
| | 139661 | .unused, |
| | 139662 | .unused, |
| | 139663 | .unused, |
| | 139664 | .unused, |
| | 139665 | .unused, |
| | 139666 | }, |
| | 139667 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 139668 | .each = .{ .once = &.{ |
| | 139669 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139670 | .{ ._, .v_sd, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 139671 | .{ ._, .v_pd, .xor, .dst0y, .tmp2y, .src0y, ._ }, |
| | 139672 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 139673 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139674 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139675 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 139676 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139677 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139678 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139679 | } }, |
| | 139680 | }, .{ |
| | 139681 | .required_features = .{ .avx512f, null, null, null }, |
| | 139682 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139683 | .src_constraints = .{ .{ .exclusive_scalar_signed_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 139684 | .patterns = &.{ |
| | 139685 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139686 | }, |
| | 139687 | .extra_temps = .{ |
| | 139688 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 139689 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 139690 | .{ .type = .vector_8_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 139691 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139692 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139693 | .unused, |
| | 139694 | .unused, |
| | 139695 | .unused, |
| | 139696 | .unused, |
| | 139697 | .unused, |
| | 139698 | .unused, |
| | 139699 | }, |
| | 139700 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139701 | .each = .{ .once = &.{ |
| | 139702 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139703 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 139704 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 139705 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 139706 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 139707 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 139708 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 139709 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 139710 | .{ ._, .vp_q, .cmpgt, .tmp4y, .tmp3y, .dst0y, ._ }, |
| | 139711 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 139712 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 139713 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139714 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139715 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 139716 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139717 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139718 | } }, |
| | 139719 | }, .{ |
| | 139720 | .required_features = .{ .avx512f, null, null, null }, |
| | 139721 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139722 | .src_constraints = .{ .{ .exclusive_scalar_unsigned_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 139723 | .patterns = &.{ |
| | 139724 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139725 | }, |
| | 139726 | .extra_temps = .{ |
| | 139727 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 139728 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139729 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139730 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 139731 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139732 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139733 | .unused, |
| | 139734 | .unused, |
| | 139735 | .unused, |
| | 139736 | .unused, |
| | 139737 | .unused, |
| | 139738 | }, |
| | 139739 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139740 | .each = .{ .once = &.{ |
| | 139741 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139742 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 139743 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 139744 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 139745 | .{ ._, .v_dqa, .mov, .tmp4y, .memd(.src0y, 32), ._, ._ }, |
| | 139746 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 139747 | .{ ._, .vp_, .@"and", .tmp4y, .tmp4y, .lead(.tmp0y, 32), ._ }, |
| | 139748 | .{ ._, .vp_, .xor, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 139749 | .{ ._, .vp_, .xor, .tmp4y, .tmp4y, .tmp2y, ._ }, |
| | 139750 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp4y, .dst0y, ._ }, |
| | 139751 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y }, |
| | 139752 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 139753 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .dst0x, ._ }, |
| | 139754 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 139755 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 139756 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .dst0x, ._ }, |
| | 139757 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 139758 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139759 | } }, |
| | 139760 | }, .{ |
| | 139761 | .required_features = .{ .avx512f, null, null, null }, |
| | 139762 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139763 | .src_constraints = .{ .{ .exact_scalar_signed_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 139764 | .patterns = &.{ |
| | 139765 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139766 | }, |
| | 139767 | .extra_temps = .{ |
| | 139768 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139769 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139770 | .unused, |
| | 139771 | .unused, |
| | 139772 | .unused, |
| | 139773 | .unused, |
| | 139774 | .unused, |
| | 139775 | .unused, |
| | 139776 | .unused, |
| | 139777 | .unused, |
| | 139778 | .unused, |
| | 139779 | }, |
| | 139780 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139781 | .each = .{ .once = &.{ |
| | 139782 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 139783 | .{ ._, .v_dqa, .mov, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 139784 | .{ ._, .vp_q, .cmpgt, .tmp1y, .tmp0y, .dst0y, ._ }, |
| | 139785 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp0y, .tmp1y }, |
| | 139786 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 139787 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 139788 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| | 139789 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 139790 | .{ ._, .vp_q, .cmpgt, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 139791 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp0x, .tmp1x }, |
| | 139792 | } }, |
| | 139793 | }, .{ |
| | 139794 | .required_features = .{ .avx512f, null, null, null }, |
| | 139795 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139796 | .src_constraints = .{ .{ .exact_scalar_unsigned_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 139797 | .patterns = &.{ |
| | 139798 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139799 | }, |
| | 139800 | .extra_temps = .{ |
| | 139801 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 139802 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139803 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139804 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139805 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139806 | .unused, |
| | 139807 | .unused, |
| | 139808 | .unused, |
| | 139809 | .unused, |
| | 139810 | .unused, |
| | 139811 | .unused, |
| | 139812 | }, |
| | 139813 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139814 | .each = .{ .once = &.{ |
| | 139815 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139816 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 139817 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .mem(.src0y), ._ }, |
| | 139818 | .{ ._, .vp_, .xor, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 139819 | .{ ._, .vp_q, .cmpgt, .tmp4y, .tmp3y, .dst0y, ._ }, |
| | 139820 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 139821 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 139822 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139823 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139824 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 139825 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139826 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139827 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139828 | } }, |
| | 139829 | }, .{ |
| | 139830 | .required_features = .{ .avx2, null, null, null }, |
| | 139831 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139832 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139833 | .patterns = &.{ |
| | 139834 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139835 | }, |
| | 139836 | .extra_temps = .{ |
| | 139837 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139838 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139839 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139840 | .unused, |
| | 139841 | .unused, |
| | 139842 | .unused, |
| | 139843 | .unused, |
| | 139844 | .unused, |
| | 139845 | .unused, |
| | 139846 | .unused, |
| | 139847 | .unused, |
| | 139848 | }, |
| | 139849 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139850 | .clobbers = .{ .eflags = true }, |
| | 139851 | .each = .{ .once = &.{ |
| | 139852 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 139853 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 139854 | .{ .@"0:", .v_dqa, .mov, .tmp1y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 139855 | .{ ._, .vp_q, .cmpgt, .tmp2y, .tmp1y, .dst0y, ._ }, |
| | 139856 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp1y, .tmp2y }, |
| | 139857 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 139858 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139859 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 139860 | .{ ._, .vp_q, .cmpgt, .tmp2x, .tmp1x, .dst0x, ._ }, |
| | 139861 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x }, |
| | 139862 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 139863 | .{ ._, .vp_q, .cmpgt, .tmp2x, .tmp1x, .dst0x, ._ }, |
| | 139864 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x }, |
| | 139865 | } }, |
| | 139866 | }, .{ |
| | 139867 | .required_features = .{ .avx, null, null, null }, |
| | 139868 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139869 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 139870 | .patterns = &.{ |
| | 139871 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139872 | }, |
| | 139873 | .extra_temps = .{ |
| | 139874 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139875 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139876 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139877 | .unused, |
| | 139878 | .unused, |
| | 139879 | .unused, |
| | 139880 | .unused, |
| | 139881 | .unused, |
| | 139882 | .unused, |
| | 139883 | .unused, |
| | 139884 | .unused, |
| | 139885 | }, |
| | 139886 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139887 | .clobbers = .{ .eflags = true }, |
| | 139888 | .each = .{ .once = &.{ |
| | 139889 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 139890 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 139891 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 139892 | .{ ._, .vp_q, .cmpgt, .tmp2x, .tmp1x, .dst0x, ._ }, |
| | 139893 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x }, |
| | 139894 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 139895 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139896 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 139897 | .{ ._, .vp_q, .cmpgt, .tmp2x, .tmp1x, .dst0x, ._ }, |
| | 139898 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp1x, .tmp2x }, |
| | 139899 | } }, |
| | 139900 | }, .{ |
| | 139901 | .required_features = .{ .sse4_2, null, null, null }, |
| | 139902 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 139903 | .src_constraints = .{ .{ .unaligned_multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 139904 | .patterns = &.{ |
| | 139905 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139906 | }, |
| | 139907 | .extra_temps = .{ |
| | 139908 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139909 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139910 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 139911 | .unused, |
| | 139912 | .unused, |
| | 139913 | .unused, |
| | 139914 | .unused, |
| | 139915 | .unused, |
| | 139916 | .unused, |
| | 139917 | .unused, |
| | 139918 | .unused, |
| | 139919 | }, |
| | 139920 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139921 | .clobbers = .{ .eflags = true }, |
| | 139922 | .each = .{ .once = &.{ |
| | 139923 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 139924 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 139925 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 139926 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 139927 | .{ ._, .p_q, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 139928 | .{ ._, .p_b, .blendv, .dst0x, .tmp1x, .tmp2x, ._ }, |
| | 139929 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 139930 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139931 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 139932 | .{ ._, ._dqa, .mov, .tmp2x, .tmp1x, ._, ._ }, |
| | 139933 | .{ ._, .p_q, .cmpgt, .tmp2x, .dst0x, ._, ._ }, |
| | 139934 | .{ ._, .p_b, .blendv, .dst0x, .tmp1x, .tmp2x, ._ }, |
| | 139935 | } }, |
| | 139936 | }, .{ |
| | 139937 | .required_features = .{ .avx2, null, null, null }, |
| | 139938 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139939 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 139940 | .patterns = &.{ |
| | 139941 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139942 | }, |
| | 139943 | .extra_temps = .{ |
| | 139944 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139945 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139946 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139947 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139948 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 139949 | .unused, |
| | 139950 | .unused, |
| | 139951 | .unused, |
| | 139952 | .unused, |
| | 139953 | .unused, |
| | 139954 | .unused, |
| | 139955 | }, |
| | 139956 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139957 | .clobbers = .{ .eflags = true }, |
| | 139958 | .each = .{ .once = &.{ |
| | 139959 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 139960 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 139961 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 139962 | .{ ._, .vp_, .xor, .dst0y, .tmp2y, .memad(.src0y, .add_unaligned_size, -32), ._ }, |
| | 139963 | .{ .@"0:", .vp_, .xor, .tmp3y, .tmp2y, .memi(.src0y, .tmp0), ._ }, |
| | 139964 | .{ ._, .vp_q, .cmpgt, .tmp4y, .tmp3y, .dst0y, ._ }, |
| | 139965 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 139966 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 139967 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 139968 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 139969 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139970 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139971 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 139972 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 139973 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 139974 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 139975 | } }, |
| | 139976 | }, .{ |
| | 139977 | .required_features = .{ .avx, null, null, null }, |
| | 139978 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 139979 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 139980 | .patterns = &.{ |
| | 139981 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 139982 | }, |
| | 139983 | .extra_temps = .{ |
| | 139984 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 139985 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 139986 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139987 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139988 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 139989 | .unused, |
| | 139990 | .unused, |
| | 139991 | .unused, |
| | 139992 | .unused, |
| | 139993 | .unused, |
| | 139994 | .unused, |
| | 139995 | }, |
| | 139996 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 139997 | .clobbers = .{ .eflags = true }, |
| | 139998 | .each = .{ .once = &.{ |
| | 139999 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140000 | .{ ._, .v_, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 140001 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 140002 | .{ ._, .vp_, .xor, .dst0x, .tmp2x, .memad(.src0x, .add_unaligned_size, -16), ._ }, |
| | 140003 | .{ .@"0:", .vp_, .xor, .tmp3x, .tmp2x, .memi(.src0x, .tmp0), ._ }, |
| | 140004 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 140005 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 140006 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 140007 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140008 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 140009 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 140010 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 140011 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 140012 | } }, |
| | 140013 | }, .{ |
| | 140014 | .required_features = .{ .sse4_2, null, null, null }, |
| | 140015 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 140016 | .src_constraints = .{ .{ .unaligned_multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 140017 | .patterns = &.{ |
| | 140018 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140019 | }, |
| | 140020 | .extra_temps = .{ |
| | 140021 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140022 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 140023 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 140024 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 140025 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 140026 | .unused, |
| | 140027 | .unused, |
| | 140028 | .unused, |
| | 140029 | .unused, |
| | 140030 | .unused, |
| | 140031 | .unused, |
| | 140032 | }, |
| | 140033 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140034 | .clobbers = .{ .eflags = true }, |
| | 140035 | .each = .{ .once = &.{ |
| | 140036 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140037 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 140038 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 140039 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 140040 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 140041 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 140042 | .{ ._, .p_, .xor, .tmp3x, .tmp2x, ._, ._ }, |
| | 140043 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 140044 | .{ ._, .p_q, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 140045 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 140046 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 140047 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140048 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 140049 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 140050 | .{ ._, .p_q, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 140051 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 140052 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 140053 | } }, |
| | 140054 | }, .{ |
| | 140055 | .required_features = .{ .avx512f, null, null, null }, |
| | 140056 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 140057 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 140058 | .patterns = &.{ |
| | 140059 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140060 | }, |
| | 140061 | .extra_temps = .{ |
| | 140062 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140063 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140064 | .{ .type = .vector_8_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 140065 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140066 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140067 | .unused, |
| | 140068 | .unused, |
| | 140069 | .unused, |
| | 140070 | .unused, |
| | 140071 | .unused, |
| | 140072 | .unused, |
| | 140073 | }, |
| | 140074 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140075 | .clobbers = .{ .eflags = true }, |
| | 140076 | .each = .{ .once = &.{ |
| | 140077 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140078 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 140079 | .{ ._, .v_dqa, .mov, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 140080 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 140081 | .{ ._, .vp_, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 140082 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 140083 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 140084 | .{ ._, .vp_, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 140085 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| | 140086 | .{ ._, .vp_q, .cmpgt, .tmp4y, .tmp3y, .dst0y, ._ }, |
| | 140087 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 140088 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 140089 | .{ ._, .vp_q, .cmpgt, .tmp4y, .tmp3y, .dst0y, ._ }, |
| | 140090 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 140091 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 140092 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140093 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 140094 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 140095 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 140096 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 140097 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 140098 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 140099 | } }, |
| | 140100 | }, .{ |
| | 140101 | .required_features = .{ .avx2, null, null, null }, |
| | 140102 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 140103 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 140104 | .patterns = &.{ |
| | 140105 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140106 | }, |
| | 140107 | .extra_temps = .{ |
| | 140108 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140109 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140110 | .{ .type = .vector_4_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 140111 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140112 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140113 | .unused, |
| | 140114 | .unused, |
| | 140115 | .unused, |
| | 140116 | .unused, |
| | 140117 | .unused, |
| | 140118 | .unused, |
| | 140119 | }, |
| | 140120 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140121 | .clobbers = .{ .eflags = true }, |
| | 140122 | .each = .{ .once = &.{ |
| | 140123 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140124 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 140125 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 140126 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 140127 | .{ ._, .vp_, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 140128 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 140129 | .{ .@"0:", .v_dqa, .mov, .tmp3y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 140130 | .{ ._, .vp_q, .cmpgt, .tmp4y, .tmp3y, .dst0y, ._ }, |
| | 140131 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp3y, .tmp4y }, |
| | 140132 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 140133 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140134 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 140135 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 140136 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 140137 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 140138 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 140139 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 140140 | } }, |
| | 140141 | }, .{ |
| | 140142 | .required_features = .{ .avx, null, null, null }, |
| | 140143 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 140144 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 140145 | .patterns = &.{ |
| | 140146 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140147 | }, |
| | 140148 | .extra_temps = .{ |
| | 140149 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140150 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140151 | .{ .type = .vector_4_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 140152 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 140153 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 140154 | .unused, |
| | 140155 | .unused, |
| | 140156 | .unused, |
| | 140157 | .unused, |
| | 140158 | .unused, |
| | 140159 | .unused, |
| | 140160 | }, |
| | 140161 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140162 | .clobbers = .{ .eflags = true }, |
| | 140163 | .each = .{ .once = &.{ |
| | 140164 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140165 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 140166 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 140167 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 140168 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 140169 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 140170 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 140171 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 140172 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 140173 | .{ .@"0:", .v_dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 140174 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 140175 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 140176 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 140177 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140178 | .{ ._, .vp_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 140179 | .{ ._, .vp_q, .cmpgt, .tmp4x, .tmp3x, .dst0x, ._ }, |
| | 140180 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp3x, .tmp4x }, |
| | 140181 | } }, |
| | 140182 | }, .{ |
| | 140183 | .required_features = .{ .sse4_2, null, null, null }, |
| | 140184 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 140185 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 140186 | .patterns = &.{ |
| | 140187 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140188 | }, |
| | 140189 | .extra_temps = .{ |
| | 140190 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140191 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140192 | .{ .type = .vector_2_i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .outside = .smin } } }, |
| | 140193 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 140194 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 140195 | .unused, |
| | 140196 | .unused, |
| | 140197 | .unused, |
| | 140198 | .unused, |
| | 140199 | .unused, |
| | 140200 | .unused, |
| | 140201 | }, |
| | 140202 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140203 | .clobbers = .{ .eflags = true }, |
| | 140204 | .each = .{ .once = &.{ |
| | 140205 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140206 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 140207 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 140208 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 140209 | .{ ._, .p_, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 140210 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 140211 | .{ .@"0:", ._dqa, .mov, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 140212 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 140213 | .{ ._, .p_q, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 140214 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 140215 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 140216 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140217 | .{ ._, .p_d, .shuf, .tmp3x, .dst0x, .ui(0b11_10), ._ }, |
| | 140218 | .{ ._, ._dqa, .mov, .tmp4x, .tmp3x, ._, ._ }, |
| | 140219 | .{ ._, .p_q, .cmpgt, .tmp4x, .dst0x, ._, ._ }, |
| | 140220 | .{ ._, .p_b, .blendv, .dst0x, .tmp3x, .tmp4x, ._ }, |
| | 140221 | } }, |
| | 140222 | }, .{ |
| | 140223 | .required_features = .{ .avx512f, null, null, null }, |
| | 140224 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 140225 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 140226 | .patterns = &.{ |
| | 140227 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140228 | }, |
| | 140229 | .extra_temps = .{ |
| | 140230 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140231 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 140232 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140233 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140234 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140235 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140236 | .unused, |
| | 140237 | .unused, |
| | 140238 | .unused, |
| | 140239 | .unused, |
| | 140240 | .unused, |
| | 140241 | }, |
| | 140242 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140243 | .clobbers = .{ .eflags = true }, |
| | 140244 | .each = .{ .once = &.{ |
| | 140245 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140246 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 140247 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 140248 | .{ ._, .v_dqa, .mov, .tmp4y, .memad(.src0y, .add_size, -32), ._, ._ }, |
| | 140249 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_size, -64), ._, ._ }, |
| | 140250 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 140251 | .{ ._, .vp_, .@"and", .tmp4y, .tmp4y, .lead(.tmp0y, 32), ._ }, |
| | 140252 | .{ ._, .vp_, .xor, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 140253 | .{ ._, .vp_, .xor, .tmp4y, .tmp4y, .tmp2y, ._ }, |
| | 140254 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| | 140255 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp4y, .dst0y, ._ }, |
| | 140256 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y }, |
| | 140257 | .{ .@"0:", .vp_, .xor, .tmp4y, .tmp2y, .memi(.src0y, .tmp0), ._ }, |
| | 140258 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp4y, .dst0y, ._ }, |
| | 140259 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y }, |
| | 140260 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 140261 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140262 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 140263 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .dst0x, ._ }, |
| | 140264 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 140265 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 140266 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .dst0x, ._ }, |
| | 140267 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 140268 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 140269 | } }, |
| | 140270 | }, .{ |
| | 140271 | .required_features = .{ .avx2, null, null, null }, |
| | 140272 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 140273 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 140274 | .patterns = &.{ |
| | 140275 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140276 | }, |
| | 140277 | .extra_temps = .{ |
| | 140278 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140279 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 140280 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140281 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140282 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140283 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140284 | .unused, |
| | 140285 | .unused, |
| | 140286 | .unused, |
| | 140287 | .unused, |
| | 140288 | .unused, |
| | 140289 | }, |
| | 140290 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140291 | .clobbers = .{ .eflags = true }, |
| | 140292 | .each = .{ .once = &.{ |
| | 140293 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140294 | .{ ._, .vp_q, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 140295 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 140296 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_size, -32), ._, ._ }, |
| | 140297 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 140298 | .{ ._, .vp_, .xor, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 140299 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 140300 | .{ .@"0:", .vp_, .xor, .tmp4y, .tmp2y, .memi(.src0y, .tmp0), ._ }, |
| | 140301 | .{ ._, .vp_q, .cmpgt, .tmp5y, .tmp4y, .dst0y, ._ }, |
| | 140302 | .{ ._, .vp_b, .blendv, .dst0y, .dst0y, .tmp4y, .tmp5y }, |
| | 140303 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 140304 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140305 | .{ ._, .v_i128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 140306 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .dst0x, ._ }, |
| | 140307 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 140308 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 140309 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .dst0x, ._ }, |
| | 140310 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 140311 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 140312 | } }, |
| | 140313 | }, .{ |
| | 140314 | .required_features = .{ .avx, null, null, null }, |
| | 140315 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 140316 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 140317 | .patterns = &.{ |
| | 140318 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140319 | }, |
| | 140320 | .extra_temps = .{ |
| | 140321 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140322 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 140323 | .{ .type = .vector_4_i64, .kind = .{ .rc = .sse } }, |
| | 140324 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140325 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 140326 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 140327 | .unused, |
| | 140328 | .unused, |
| | 140329 | .unused, |
| | 140330 | .unused, |
| | 140331 | .unused, |
| | 140332 | }, |
| | 140333 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140334 | .clobbers = .{ .eflags = true }, |
| | 140335 | .each = .{ .once = &.{ |
| | 140336 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140337 | .{ ._, .v_sd, .broadcast, .tmp2y, .lea(.tmp0q), ._, ._ }, |
| | 140338 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 140339 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_size, -32), ._, ._ }, |
| | 140340 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 140341 | .{ ._, .v_ps, .xor, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 140342 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 140343 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 140344 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .dst0x, ._ }, |
| | 140345 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 140346 | .{ .@"0:", .vp_, .xor, .tmp4x, .tmp2x, .memi(.src0x, .tmp0), ._ }, |
| | 140347 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .dst0x, ._ }, |
| | 140348 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 140349 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 140350 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140351 | .{ ._, .vp_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 140352 | .{ ._, .vp_q, .cmpgt, .tmp5x, .tmp4x, .dst0x, ._ }, |
| | 140353 | .{ ._, .vp_b, .blendv, .dst0x, .dst0x, .tmp4x, .tmp5x }, |
| | 140354 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 140355 | } }, |
| | 140356 | }, .{ |
| | 140357 | .required_features = .{ .sse4_2, null, null, null }, |
| | 140358 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 140359 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 140360 | .patterns = &.{ |
| | 140361 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140362 | }, |
| | 140363 | .extra_temps = .{ |
| | 140364 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140365 | .{ .type = .i64, .kind = .{ .splat_int_mem = .{ .ref = .src0, .inside = .smin, .outside = .smin } } }, |
| | 140366 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 140367 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140368 | .{ .type = .vector_2_i64, .kind = .{ .rc = .sse } }, |
| | 140369 | .{ .type = .vector_2_i64, .kind = .{ .reg = .xmm0 } }, |
| | 140370 | .unused, |
| | 140371 | .unused, |
| | 140372 | .unused, |
| | 140373 | .unused, |
| | 140374 | .unused, |
| | 140375 | }, |
| | 140376 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140377 | .clobbers = .{ .eflags = true }, |
| | 140378 | .each = .{ .once = &.{ |
| | 140379 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140380 | .{ ._, ._, .movddup, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 140381 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp3), ._, ._ }, |
| | 140382 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 140383 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 140384 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 140385 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 140386 | .{ .@"0:", ._dqa, .mov, .tmp4x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 140387 | .{ ._, .p_, .xor, .tmp4x, .tmp2x, ._, ._ }, |
| | 140388 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| | 140389 | .{ ._, .p_q, .cmpgt, .tmp5x, .dst0x, ._, ._ }, |
| | 140390 | .{ ._, .p_b, .blendv, .dst0x, .tmp4x, .tmp5x, ._ }, |
| | 140391 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 140392 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140393 | .{ ._, .p_d, .shuf, .tmp4x, .dst0x, .ui(0b11_10), ._ }, |
| | 140394 | .{ ._, ._dqa, .mov, .tmp5x, .tmp4x, ._, ._ }, |
| | 140395 | .{ ._, .p_q, .cmpgt, .tmp5x, .dst0x, ._, ._ }, |
| | 140396 | .{ ._, .p_b, .blendv, .dst0x, .tmp4x, .tmp5x, ._ }, |
| | 140397 | .{ ._, .p_, .xor, .dst0x, .tmp2x, ._, ._ }, |
| | 140398 | } }, |
| | 140399 | }, .{ |
| | 140400 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 140401 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 140402 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 140403 | .patterns = &.{ |
| | 140404 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140405 | }, |
| | 140406 | .extra_temps = .{ |
| | 140407 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140408 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| | 140409 | .unused, |
| | 140410 | .unused, |
| | 140411 | .unused, |
| | 140412 | .unused, |
| | 140413 | .unused, |
| | 140414 | .unused, |
| | 140415 | .unused, |
| | 140416 | .unused, |
| | 140417 | .unused, |
| | 140418 | }, |
| | 140419 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 140420 | .clobbers = .{ .eflags = true }, |
| | 140421 | .each = .{ .once = &.{ |
| | 140422 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 140423 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 140424 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 140425 | .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ }, |
| | 140426 | .{ ._, ._l, .cmov, .dst0q, .tmp1q, ._, ._ }, |
| | 140427 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 140428 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140429 | } }, |
| | 140430 | }, .{ |
| | 140431 | .required_features = .{ .@"64bit", null, null, null }, |
| | 140432 | .dst_constraints = .{ .{ .signed_int = .qword }, .any }, |
| | 140433 | .src_constraints = .{ .{ .multiple_scalar_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 140434 | .patterns = &.{ |
| | 140435 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140436 | }, |
| | 140437 | .extra_temps = .{ |
| | 140438 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140439 | .{ .type = .i64, .kind = .{ .rc = .general_purpose } }, |
| | 140440 | .unused, |
| | 140441 | .unused, |
| | 140442 | .unused, |
| | 140443 | .unused, |
| | 140444 | .unused, |
| | 140445 | .unused, |
| | 140446 | .unused, |
| | 140447 | .unused, |
| | 140448 | .unused, |
| | 140449 | }, |
| | 140450 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 140451 | .clobbers = .{ .eflags = true }, |
| | 140452 | .each = .{ .once = &.{ |
| | 140453 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 140454 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 140455 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 140456 | .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ }, |
| | 140457 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, |
| | 140458 | .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ }, |
| | 140459 | .{ .@"1:", ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 140460 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140461 | } }, |
| | 140462 | }, .{ |
| | 140463 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 140464 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 140465 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 140466 | .patterns = &.{ |
| | 140467 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140468 | }, |
| | 140469 | .extra_temps = .{ |
| | 140470 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140471 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 140472 | .unused, |
| | 140473 | .unused, |
| | 140474 | .unused, |
| | 140475 | .unused, |
| | 140476 | .unused, |
| | 140477 | .unused, |
| | 140478 | .unused, |
| | 140479 | .unused, |
| | 140480 | .unused, |
| | 140481 | }, |
| | 140482 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 140483 | .clobbers = .{ .eflags = true }, |
| | 140484 | .each = .{ .once = &.{ |
| | 140485 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 140486 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 140487 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 140488 | .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ }, |
| | 140489 | .{ ._, ._b, .cmov, .dst0q, .tmp1q, ._, ._ }, |
| | 140490 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 140491 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140492 | } }, |
| | 140493 | }, .{ |
| | 140494 | .required_features = .{ .@"64bit", null, null, null }, |
| | 140495 | .dst_constraints = .{ .{ .unsigned_int = .qword }, .any }, |
| | 140496 | .src_constraints = .{ .{ .multiple_scalar_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 140497 | .patterns = &.{ |
| | 140498 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140499 | }, |
| | 140500 | .extra_temps = .{ |
| | 140501 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 140502 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 140503 | .unused, |
| | 140504 | .unused, |
| | 140505 | .unused, |
| | 140506 | .unused, |
| | 140507 | .unused, |
| | 140508 | .unused, |
| | 140509 | .unused, |
| | 140510 | .unused, |
| | 140511 | .unused, |
| | 140512 | }, |
| | 140513 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 140514 | .clobbers = .{ .eflags = true }, |
| | 140515 | .each = .{ .once = &.{ |
| | 140516 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 140517 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 140518 | .{ .@"0:", ._, .mov, .tmp1q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 140519 | .{ ._, ._, .cmp, .dst0q, .tmp1q, ._, ._ }, |
| | 140520 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 140521 | .{ ._, ._, .mov, .dst0q, .tmp1q, ._, ._ }, |
| | 140522 | .{ .@"1:", ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 140523 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140524 | } }, |
| | 140525 | }, .{ |
| | 140526 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 140527 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 140528 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 140529 | .patterns = &.{ |
| | 140530 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140531 | }, |
| | 140532 | .extra_temps = .{ |
| | 140533 | .{ .type = .u32, .kind = .{ .reg = .rdi } }, |
| | 140534 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, |
| | 140535 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 140536 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 140537 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 140538 | .unused, |
| | 140539 | .unused, |
| | 140540 | .unused, |
| | 140541 | .unused, |
| | 140542 | .unused, |
| | 140543 | .unused, |
| | 140544 | }, |
| | 140545 | .dst_temps = .{ .mem, .unused }, |
| | 140546 | .clobbers = .{ .eflags = true }, |
| | 140547 | .each = .{ .once = &.{ |
| | 140548 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 140549 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 140550 | .{ .@"0:", ._, .mov, .tmp2p, .sia(1, .dst0, .sub_size_div_8), ._, ._ }, |
| | 140551 | .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ }, |
| | 140552 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| | 140553 | .{ .@"1:", ._, .mov, .tmp4q, .leasiad(.tmp1q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ }, |
| | 140554 | .{ ._, ._, .sbb, .tmp4q, .leasiad(.tmp3q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ }, |
| | 140555 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, |
| | 140556 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 140557 | .{ ._, ._, .mov, .tmp4q, .leaad(.tmp1q, .add_src0_elem_size, -8), ._, ._ }, |
| | 140558 | .{ ._, ._, .sbb, .tmp4q, .leaad(.tmp3q, .add_src0_elem_size, -8), ._, ._ }, |
| | 140559 | .{ ._, ._l, .cmov, .tmp1p, .tmp3p, ._, ._ }, |
| | 140560 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 140561 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140562 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 140563 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 140564 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 140565 | } }, |
| | 140566 | }, .{ |
| | 140567 | .required_features = .{ .@"64bit", null, null, null }, |
| | 140568 | .dst_constraints = .{ .{ .remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 140569 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 140570 | .patterns = &.{ |
| | 140571 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140572 | }, |
| | 140573 | .extra_temps = .{ |
| | 140574 | .{ .type = .u32, .kind = .{ .reg = .rdi } }, |
| | 140575 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, |
| | 140576 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 140577 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 140578 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 140579 | .unused, |
| | 140580 | .unused, |
| | 140581 | .unused, |
| | 140582 | .unused, |
| | 140583 | .unused, |
| | 140584 | .unused, |
| | 140585 | }, |
| | 140586 | .dst_temps = .{ .mem, .unused }, |
| | 140587 | .clobbers = .{ .eflags = true }, |
| | 140588 | .each = .{ .once = &.{ |
| | 140589 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 140590 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 140591 | .{ .@"0:", ._, .mov, .tmp2p, .sia(1, .dst0, .sub_size_div_8), ._, ._ }, |
| | 140592 | .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ }, |
| | 140593 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| | 140594 | .{ .@"1:", ._, .mov, .tmp4q, .leasiad(.tmp1q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ }, |
| | 140595 | .{ ._, ._, .sbb, .tmp4q, .leasiad(.tmp3q, .@"8", .tmp2, .add_src0_elem_size, -8), ._, ._ }, |
| | 140596 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, |
| | 140597 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 140598 | .{ ._, ._, .mov, .tmp4q, .leaad(.tmp1q, .add_src0_elem_size, -8), ._, ._ }, |
| | 140599 | .{ ._, ._, .sbb, .tmp4q, .leaad(.tmp3q, .add_src0_elem_size, -8), ._, ._ }, |
| | 140600 | .{ ._, ._nl, .j, .@"1f", ._, ._, ._ }, |
| | 140601 | .{ ._, ._, .mov, .tmp1p, .tmp3p, ._, ._ }, |
| | 140602 | .{ .@"1:", ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 140603 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140604 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 140605 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 140606 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 140607 | } }, |
| | 140608 | }, .{ |
| | 140609 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 140610 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 140611 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 140612 | .patterns = &.{ |
| | 140613 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140614 | }, |
| | 140615 | .extra_temps = .{ |
| | 140616 | .{ .type = .u32, .kind = .{ .reg = .rdi } }, |
| | 140617 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, |
| | 140618 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 140619 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 140620 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 140621 | .unused, |
| | 140622 | .unused, |
| | 140623 | .unused, |
| | 140624 | .unused, |
| | 140625 | .unused, |
| | 140626 | .unused, |
| | 140627 | }, |
| | 140628 | .dst_temps = .{ .mem, .unused }, |
| | 140629 | .clobbers = .{ .eflags = true }, |
| | 140630 | .each = .{ .once = &.{ |
| | 140631 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 140632 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 140633 | .{ .@"0:", ._, .mov, .tmp2p, .sa(.dst0, .sub_size_div_8), ._, ._ }, |
| | 140634 | .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ }, |
| | 140635 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| | 140636 | .{ .@"1:", ._, .mov, .tmp4q, .leasia(.tmp1q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ }, |
| | 140637 | .{ ._, ._, .sbb, .tmp4q, .leasia(.tmp3q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ }, |
| | 140638 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, |
| | 140639 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 140640 | .{ ._, ._b, .cmov, .tmp1p, .tmp3p, ._, ._ }, |
| | 140641 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 140642 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140643 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 140644 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 140645 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 140646 | } }, |
| | 140647 | }, .{ |
| | 140648 | .required_features = .{ .@"64bit", null, null, null }, |
| | 140649 | .dst_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 140650 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 140651 | .patterns = &.{ |
| | 140652 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140653 | }, |
| | 140654 | .extra_temps = .{ |
| | 140655 | .{ .type = .u32, .kind = .{ .reg = .rdi } }, |
| | 140656 | .{ .type = .usize, .kind = .{ .reg = .rsi } }, |
| | 140657 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 140658 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 140659 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 140660 | .unused, |
| | 140661 | .unused, |
| | 140662 | .unused, |
| | 140663 | .unused, |
| | 140664 | .unused, |
| | 140665 | .unused, |
| | 140666 | }, |
| | 140667 | .dst_temps = .{ .mem, .unused }, |
| | 140668 | .clobbers = .{ .eflags = true }, |
| | 140669 | .each = .{ .once = &.{ |
| | 140670 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 140671 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 140672 | .{ .@"0:", ._, .mov, .tmp2p, .sa(.dst0, .sub_size_div_8), ._, ._ }, |
| | 140673 | .{ ._, ._, .lea, .tmp3p, .memi(.src0, .tmp0), ._, ._ }, |
| | 140674 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| | 140675 | .{ .@"1:", ._, .mov, .tmp4q, .leasia(.tmp1q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ }, |
| | 140676 | .{ ._, ._, .sbb, .tmp4q, .leasia(.tmp3q, .@"8", .tmp2, .add_src0_elem_size), ._, ._ }, |
| | 140677 | .{ ._, ._c, .in, .tmp2p, ._, ._, ._ }, |
| | 140678 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 140679 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 140680 | .{ ._, ._, .mov, .tmp1p, .tmp3p, ._, ._ }, |
| | 140681 | .{ .@"1:", ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 140682 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 140683 | .{ ._, ._, .lea, .tmp0p, .mem(.dst0), ._, ._ }, |
| | 140684 | .{ ._, ._, .mov, .tmp2d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 140685 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 140686 | } }, |
| | 140687 | }, .{ |
| | 140688 | .required_features = .{ .f16c, null, null, null }, |
| | 140689 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 140690 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 140691 | .patterns = &.{ |
| | 140692 | .{ .src = .{ .mem, .none, .none } }, |
| | 140693 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 140694 | }, |
| | 140695 | .extra_temps = .{ |
| | 140696 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 140697 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 140698 | .unused, |
| | 140699 | .unused, |
| | 140700 | .unused, |
| | 140701 | .unused, |
| | 140702 | .unused, |
| | 140703 | .unused, |
| | 140704 | .unused, |
| | 140705 | .unused, |
| | 140706 | .unused, |
| | 140707 | }, |
| | 140708 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 140709 | .each = .{ .once = &.{ |
| | 140710 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 140711 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 140712 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140713 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140714 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140715 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 140716 | } }, |
| | 140717 | }, .{ |
| | 140718 | .required_features = .{ .f16c, null, null, null }, |
| | 140719 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 140720 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 140721 | .patterns = &.{ |
| | 140722 | .{ .src = .{ .mem, .none, .none } }, |
| | 140723 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 140724 | }, |
| | 140725 | .extra_temps = .{ |
| | 140726 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 140727 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 140728 | .unused, |
| | 140729 | .unused, |
| | 140730 | .unused, |
| | 140731 | .unused, |
| | 140732 | .unused, |
| | 140733 | .unused, |
| | 140734 | .unused, |
| | 140735 | .unused, |
| | 140736 | .unused, |
| | 140737 | }, |
| | 140738 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 140739 | .each = .{ .once = &.{ |
| | 140740 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 140741 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 140742 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140743 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140744 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140745 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 140746 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140747 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140748 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140749 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 140750 | } }, |
| | 140751 | }, .{ |
| | 140752 | .required_features = .{ .f16c, null, null, null }, |
| | 140753 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 140754 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 140755 | .patterns = &.{ |
| | 140756 | .{ .src = .{ .mem, .none, .none } }, |
| | 140757 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 140758 | }, |
| | 140759 | .extra_temps = .{ |
| | 140760 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 140761 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 140762 | .unused, |
| | 140763 | .unused, |
| | 140764 | .unused, |
| | 140765 | .unused, |
| | 140766 | .unused, |
| | 140767 | .unused, |
| | 140768 | .unused, |
| | 140769 | .unused, |
| | 140770 | .unused, |
| | 140771 | }, |
| | 140772 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 140773 | .each = .{ .once = &.{ |
| | 140774 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 140775 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 140776 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140777 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140778 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140779 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 140780 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140781 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140782 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140783 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 140784 | } }, |
| | 140785 | }, .{ |
| | 140786 | .required_features = .{ .f16c, null, null, null }, |
| | 140787 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 140788 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 140789 | .patterns = &.{ |
| | 140790 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 140791 | }, |
| | 140792 | .extra_temps = .{ |
| | 140793 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 140794 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140795 | .{ .type = .vector_8_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 140796 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140797 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140798 | .unused, |
| | 140799 | .unused, |
| | 140800 | .unused, |
| | 140801 | .unused, |
| | 140802 | .unused, |
| | 140803 | .unused, |
| | 140804 | }, |
| | 140805 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 140806 | .each = .{ .once = &.{ |
| | 140807 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140808 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 140809 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 140810 | .{ ._, .v_ps, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 140811 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 140812 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 140813 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 140814 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 140815 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 140816 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 140817 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 140818 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 140819 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 140820 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 140821 | .{ ._, .v_ss, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 140822 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 140823 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 140824 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 140825 | } }, |
| | 140826 | }, .{ |
| | 140827 | .required_features = .{ .f16c, null, null, null }, |
| | 140828 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 140829 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 140830 | .patterns = &.{ |
| | 140831 | .{ .src = .{ .mem, .none, .none } }, |
| | 140832 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 140833 | }, |
| | 140834 | .extra_temps = .{ |
| | 140835 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140836 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140837 | .unused, |
| | 140838 | .unused, |
| | 140839 | .unused, |
| | 140840 | .unused, |
| | 140841 | .unused, |
| | 140842 | .unused, |
| | 140843 | .unused, |
| | 140844 | .unused, |
| | 140845 | .unused, |
| | 140846 | }, |
| | 140847 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 140848 | .each = .{ .once = &.{ |
| | 140849 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 140850 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 140851 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140852 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140853 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140854 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 140855 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140856 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140857 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140858 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 140859 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140860 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140861 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140862 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 140863 | } }, |
| | 140864 | }, .{ |
| | 140865 | .required_features = .{ .f16c, null, null, null }, |
| | 140866 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 140867 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 140868 | .patterns = &.{ |
| | 140869 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 140870 | }, |
| | 140871 | .extra_temps = .{ |
| | 140872 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 140873 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140874 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 140875 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140876 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140877 | .unused, |
| | 140878 | .unused, |
| | 140879 | .unused, |
| | 140880 | .unused, |
| | 140881 | .unused, |
| | 140882 | .unused, |
| | 140883 | }, |
| | 140884 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 140885 | .each = .{ .once = &.{ |
| | 140886 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140887 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 140888 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 140889 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 140890 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 140891 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 140892 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 140893 | .{ ._, .v_ps, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 140894 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 140895 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 140896 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 140897 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 140898 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 140899 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 140900 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 140901 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 140902 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 140903 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 140904 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 140905 | .{ ._, .v_ss, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 140906 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 140907 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 140908 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 140909 | } }, |
| | 140910 | }, .{ |
| | 140911 | .required_features = .{ .f16c, null, null, null }, |
| | 140912 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 140913 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 140914 | .patterns = &.{ |
| | 140915 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 140916 | }, |
| | 140917 | .extra_temps = .{ |
| | 140918 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140919 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140920 | .unused, |
| | 140921 | .unused, |
| | 140922 | .unused, |
| | 140923 | .unused, |
| | 140924 | .unused, |
| | 140925 | .unused, |
| | 140926 | .unused, |
| | 140927 | .unused, |
| | 140928 | .unused, |
| | 140929 | }, |
| | 140930 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 140931 | .each = .{ .once = &.{ |
| | 140932 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 140933 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 140934 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 140935 | .{ ._, .v_ps, .max, .tmp1y, .dst0y, .tmp0y, ._ }, |
| | 140936 | .{ ._, .v_ps, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.ord) }, |
| | 140937 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp1y, .tmp0y }, |
| | 140938 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 140939 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140940 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140941 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140942 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 140943 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140944 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140945 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140946 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 140947 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 140948 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 140949 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 140950 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 140951 | } }, |
| | 140952 | }, .{ |
| | 140953 | .required_features = .{ .avx512f, null, null, null }, |
| | 140954 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 140955 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 140956 | .patterns = &.{ |
| | 140957 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 140958 | }, |
| | 140959 | .extra_temps = .{ |
| | 140960 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 140961 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 140962 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 140963 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140964 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140965 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 140966 | .unused, |
| | 140967 | .unused, |
| | 140968 | .unused, |
| | 140969 | .unused, |
| | 140970 | .unused, |
| | 140971 | }, |
| | 140972 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 140973 | .each = .{ .once = &.{ |
| | 140974 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 140975 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 140976 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 140977 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 140978 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 140979 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 140980 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 140981 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 140982 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 140983 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 140984 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 140985 | .{ ._, .v_ps, .max, .tmp5y, .tmp3y, .tmp4y, ._ }, |
| | 140986 | .{ ._, .v_ps, .cmp, .tmp4y, .tmp4y, .tmp4y, .vp(.ord) }, |
| | 140987 | .{ ._, .v_ps, .blendv, .tmp3y, .tmp3y, .tmp5y, .tmp4y }, |
| | 140988 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 140989 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 140990 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 140991 | .{ ._, .v_ps, .max, .tmp5y, .dst0y, .tmp4y, ._ }, |
| | 140992 | .{ ._, .v_ps, .cmp, .tmp4y, .tmp4y, .tmp4y, .vp(.ord) }, |
| | 140993 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp5y, .tmp4y }, |
| | 140994 | .{ ._, .v_ps, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 140995 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 140996 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 140997 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 140998 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 140999 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141000 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141001 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 141002 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141003 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141004 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141005 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141006 | .{ ._, .v_ss, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141007 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141008 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141009 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 141010 | } }, |
| | 141011 | }, .{ |
| | 141012 | .required_features = .{ .avx512f, null, null, null }, |
| | 141013 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 141014 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 141015 | .patterns = &.{ |
| | 141016 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141017 | }, |
| | 141018 | .extra_temps = .{ |
| | 141019 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141020 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141021 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141022 | .unused, |
| | 141023 | .unused, |
| | 141024 | .unused, |
| | 141025 | .unused, |
| | 141026 | .unused, |
| | 141027 | .unused, |
| | 141028 | .unused, |
| | 141029 | .unused, |
| | 141030 | }, |
| | 141031 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141032 | .each = .{ .once = &.{ |
| | 141033 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 141034 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 141035 | .{ ._, .v_f128, .extract, .tmp1x, .tmp0y, .ui(1), ._ }, |
| | 141036 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 141037 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 141038 | .{ ._, .v_ps, .max, .tmp2y, .tmp0y, .tmp1y, ._ }, |
| | 141039 | .{ ._, .v_ps, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 141040 | .{ ._, .v_ps, .blendv, .tmp0y, .tmp0y, .tmp2y, .tmp1y }, |
| | 141041 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 141042 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 141043 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 141044 | .{ ._, .v_ps, .max, .tmp2y, .dst0y, .tmp1y, ._ }, |
| | 141045 | .{ ._, .v_ps, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 141046 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp2y, .tmp1y }, |
| | 141047 | .{ ._, .v_ps, .max, .tmp1y, .dst0y, .tmp0y, ._ }, |
| | 141048 | .{ ._, .v_ps, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.ord) }, |
| | 141049 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp1y, .tmp0y }, |
| | 141050 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 141051 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141052 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141053 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141054 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 141055 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141056 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141057 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141058 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141059 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141060 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141061 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141062 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 141063 | } }, |
| | 141064 | }, .{ |
| | 141065 | .required_features = .{ .f16c, null, null, null }, |
| | 141066 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 141067 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 141068 | .patterns = &.{ |
| | 141069 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141070 | }, |
| | 141071 | .extra_temps = .{ |
| | 141072 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141073 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141074 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141075 | .unused, |
| | 141076 | .unused, |
| | 141077 | .unused, |
| | 141078 | .unused, |
| | 141079 | .unused, |
| | 141080 | .unused, |
| | 141081 | .unused, |
| | 141082 | .unused, |
| | 141083 | }, |
| | 141084 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141085 | .clobbers = .{ .eflags = true }, |
| | 141086 | .each = .{ .once = &.{ |
| | 141087 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 141088 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 141089 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 141090 | .{ ._, .v_ps, .max, .tmp2y, .dst0y, .tmp1y, ._ }, |
| | 141091 | .{ ._, .v_ps, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 141092 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp2y, .tmp1y }, |
| | 141093 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 141094 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141095 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 141096 | .{ ._, .v_ps, .max, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 141097 | .{ ._, .v_ps, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 141098 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 141099 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 141100 | .{ ._, .v_ps, .max, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 141101 | .{ ._, .v_ps, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 141102 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 141103 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141104 | .{ ._, .v_ss, .max, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 141105 | .{ ._, .v_ss, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 141106 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 141107 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 141108 | } }, |
| | 141109 | }, .{ |
| | 141110 | .required_features = .{ .avx512f, null, null, null }, |
| | 141111 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 141112 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 141113 | .patterns = &.{ |
| | 141114 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141115 | }, |
| | 141116 | .extra_temps = .{ |
| | 141117 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141118 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 141119 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 141120 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141121 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141122 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141123 | .unused, |
| | 141124 | .unused, |
| | 141125 | .unused, |
| | 141126 | .unused, |
| | 141127 | .unused, |
| | 141128 | }, |
| | 141129 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141130 | .clobbers = .{ .eflags = true }, |
| | 141131 | .each = .{ .once = &.{ |
| | 141132 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 141133 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 141134 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 141135 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 141136 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 141137 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 141138 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 141139 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 141140 | .{ ._, ._, .mov, .tmp0d, .sia(-80, .src0, .add_size), ._, ._ }, |
| | 141141 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 141142 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 141143 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 141144 | .{ ._, .v_ps, .max, .tmp5y, .tmp3y, .tmp4y, ._ }, |
| | 141145 | .{ ._, .v_ps, .cmp, .tmp4y, .tmp4y, .tmp4y, .vp(.ord) }, |
| | 141146 | .{ ._, .v_ps, .blendv, .tmp3y, .tmp3y, .tmp5y, .tmp4y }, |
| | 141147 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 141148 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 141149 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 141150 | .{ ._, .v_ps, .max, .tmp5y, .dst0y, .tmp4y, ._ }, |
| | 141151 | .{ ._, .v_ps, .cmp, .tmp4y, .tmp4y, .tmp4y, .vp(.ord) }, |
| | 141152 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp5y, .tmp4y }, |
| | 141153 | .{ ._, .v_ps, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 141154 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 141155 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 141156 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 141157 | .{ ._, .v_ps, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 141158 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 141159 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 141160 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 141161 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141162 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 141163 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141164 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141165 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141166 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 141167 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141168 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141169 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141170 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141171 | .{ ._, .v_ss, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141172 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141173 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141174 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 141175 | } }, |
| | 141176 | }, .{ |
| | 141177 | .required_features = .{ .f16c, null, null, null }, |
| | 141178 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 141179 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 141180 | .patterns = &.{ |
| | 141181 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141182 | }, |
| | 141183 | .extra_temps = .{ |
| | 141184 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141185 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 141186 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 141187 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141188 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141189 | .unused, |
| | 141190 | .unused, |
| | 141191 | .unused, |
| | 141192 | .unused, |
| | 141193 | .unused, |
| | 141194 | .unused, |
| | 141195 | }, |
| | 141196 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141197 | .clobbers = .{ .eflags = true }, |
| | 141198 | .each = .{ .once = &.{ |
| | 141199 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 141200 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 141201 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 141202 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 141203 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 141204 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 141205 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 141206 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 141207 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 141208 | .{ ._, .v_ps, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 141209 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 141210 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 141211 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 141212 | .{ ._, .v_ps, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 141213 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 141214 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 141215 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 141216 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141217 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 141218 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141219 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141220 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141221 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 141222 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141223 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141224 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141225 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141226 | .{ ._, .v_ss, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141227 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141228 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141229 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 141230 | } }, |
| | 141231 | }, .{ |
| | 141232 | .required_features = .{ .avx, null, null, null }, |
| | 141233 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 141234 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 141235 | .patterns = &.{ |
| | 141236 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141237 | }, |
| | 141238 | .call_frame = .{ .alignment = .@"16" }, |
| | 141239 | .extra_temps = .{ |
| | 141240 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141241 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 141242 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| | 141243 | .unused, |
| | 141244 | .unused, |
| | 141245 | .unused, |
| | 141246 | .unused, |
| | 141247 | .unused, |
| | 141248 | .unused, |
| | 141249 | .unused, |
| | 141250 | .unused, |
| | 141251 | }, |
| | 141252 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 141253 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 141254 | .each = .{ .once = &.{ |
| | 141255 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 141256 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 141257 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0) }, |
| | 141258 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 141259 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 141260 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 141261 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 141262 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141263 | } }, |
| | 141264 | }, .{ |
| | 141265 | .required_features = .{ .sse2, null, null, null }, |
| | 141266 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 141267 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 141268 | .patterns = &.{ |
| | 141269 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141270 | }, |
| | 141271 | .call_frame = .{ .alignment = .@"16" }, |
| | 141272 | .extra_temps = .{ |
| | 141273 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141274 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 141275 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| | 141276 | .unused, |
| | 141277 | .unused, |
| | 141278 | .unused, |
| | 141279 | .unused, |
| | 141280 | .unused, |
| | 141281 | .unused, |
| | 141282 | .unused, |
| | 141283 | .unused, |
| | 141284 | }, |
| | 141285 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 141286 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 141287 | .each = .{ .once = &.{ |
| | 141288 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 141289 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 141290 | .{ ._, .p_w, .insr, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0), ._ }, |
| | 141291 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 141292 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 141293 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 141294 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 141295 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141296 | } }, |
| | 141297 | }, .{ |
| | 141298 | .required_features = .{ .sse, null, null, null }, |
| | 141299 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 141300 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 141301 | .patterns = &.{ |
| | 141302 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141303 | }, |
| | 141304 | .call_frame = .{ .alignment = .@"16" }, |
| | 141305 | .extra_temps = .{ |
| | 141306 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141307 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 141308 | .{ .type = .f32, .kind = .mem }, |
| | 141309 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 141310 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| | 141311 | .unused, |
| | 141312 | .unused, |
| | 141313 | .unused, |
| | 141314 | .unused, |
| | 141315 | .unused, |
| | 141316 | .unused, |
| | 141317 | }, |
| | 141318 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 141319 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 141320 | .each = .{ .once = &.{ |
| | 141321 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 141322 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 141323 | .{ ._, ._, .movzx, .tmp1d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 141324 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 141325 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 141326 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 141327 | .{ ._, ._ss, .mov, .tmp3x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 141328 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 141329 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 141330 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141331 | } }, |
| | 141332 | }, .{ |
| | 141333 | .required_features = .{ .avx, null, null, null }, |
| | 141334 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141335 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 141336 | .patterns = &.{ |
| | 141337 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 141338 | }, |
| | 141339 | .extra_temps = .{ |
| | 141340 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141341 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141342 | .unused, |
| | 141343 | .unused, |
| | 141344 | .unused, |
| | 141345 | .unused, |
| | 141346 | .unused, |
| | 141347 | .unused, |
| | 141348 | .unused, |
| | 141349 | .unused, |
| | 141350 | .unused, |
| | 141351 | }, |
| | 141352 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 141353 | .each = .{ .once = &.{ |
| | 141354 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 141355 | .{ ._, .v_ss, .max, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 141356 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141357 | .{ ._, .v_ps, .blendv, .dst0x, .src0x, .tmp1x, .tmp0x }, |
| | 141358 | } }, |
| | 141359 | }, .{ |
| | 141360 | .required_features = .{ .sse4_1, null, null, null }, |
| | 141361 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141362 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 141363 | .patterns = &.{ |
| | 141364 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 141365 | }, |
| | 141366 | .extra_temps = .{ |
| | 141367 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 141368 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141369 | .unused, |
| | 141370 | .unused, |
| | 141371 | .unused, |
| | 141372 | .unused, |
| | 141373 | .unused, |
| | 141374 | .unused, |
| | 141375 | .unused, |
| | 141376 | .unused, |
| | 141377 | .unused, |
| | 141378 | }, |
| | 141379 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 141380 | .each = .{ .once = &.{ |
| | 141381 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 141382 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 141383 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 141384 | .{ ._, ._ss, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141385 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 141386 | .{ ._, ._ps, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 141387 | } }, |
| | 141388 | }, .{ |
| | 141389 | .required_features = .{ .sse, null, null, null }, |
| | 141390 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141391 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 141392 | .patterns = &.{ |
| | 141393 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 141394 | }, |
| | 141395 | .extra_temps = .{ |
| | 141396 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141397 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141398 | .unused, |
| | 141399 | .unused, |
| | 141400 | .unused, |
| | 141401 | .unused, |
| | 141402 | .unused, |
| | 141403 | .unused, |
| | 141404 | .unused, |
| | 141405 | .unused, |
| | 141406 | .unused, |
| | 141407 | }, |
| | 141408 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 141409 | .each = .{ .once = &.{ |
| | 141410 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 141411 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 141412 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 141413 | .{ ._, ._ss, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141414 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 141415 | .{ ._, ._ps, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 141416 | .{ ._, ._ps, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 141417 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 141418 | } }, |
| | 141419 | }, .{ |
| | 141420 | .required_features = .{ .avx, null, null, null }, |
| | 141421 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141422 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 141423 | .patterns = &.{ |
| | 141424 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 141425 | }, |
| | 141426 | .extra_temps = .{ |
| | 141427 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141428 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141429 | .unused, |
| | 141430 | .unused, |
| | 141431 | .unused, |
| | 141432 | .unused, |
| | 141433 | .unused, |
| | 141434 | .unused, |
| | 141435 | .unused, |
| | 141436 | .unused, |
| | 141437 | .unused, |
| | 141438 | }, |
| | 141439 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 141440 | .each = .{ .once = &.{ |
| | 141441 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 141442 | .{ ._, .v_ss, .max, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 141443 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141444 | .{ ._, .v_ps, .blendv, .tmp0x, .src0x, .tmp1x, .tmp0x }, |
| | 141445 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| | 141446 | .{ ._, .v_ss, .max, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 141447 | .{ ._, .v_ss, .cmp, .dst0x, .dst0x, .dst0x, .vp(.ord) }, |
| | 141448 | .{ ._, .v_ps, .blendv, .dst0x, .tmp0x, .tmp1x, .dst0x }, |
| | 141449 | } }, |
| | 141450 | }, .{ |
| | 141451 | .required_features = .{ .sse4_1, null, null, null }, |
| | 141452 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141453 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 141454 | .patterns = &.{ |
| | 141455 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 141456 | }, |
| | 141457 | .extra_temps = .{ |
| | 141458 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 141459 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141460 | .unused, |
| | 141461 | .unused, |
| | 141462 | .unused, |
| | 141463 | .unused, |
| | 141464 | .unused, |
| | 141465 | .unused, |
| | 141466 | .unused, |
| | 141467 | .unused, |
| | 141468 | .unused, |
| | 141469 | }, |
| | 141470 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 141471 | .each = .{ .once = &.{ |
| | 141472 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 141473 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 141474 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 141475 | .{ ._, ._ss, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141476 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 141477 | .{ ._, ._ps, .blendv, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 141478 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 141479 | .{ ._, ._ps, .mova, .tmp0x, .tmp1x, ._, ._ }, |
| | 141480 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 141481 | .{ ._, ._ss, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141482 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 141483 | .{ ._, ._ps, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 141484 | } }, |
| | 141485 | }, .{ |
| | 141486 | .required_features = .{ .sse, null, null, null }, |
| | 141487 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141488 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 141489 | .patterns = &.{ |
| | 141490 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 141491 | }, |
| | 141492 | .extra_temps = .{ |
| | 141493 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141494 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141495 | .unused, |
| | 141496 | .unused, |
| | 141497 | .unused, |
| | 141498 | .unused, |
| | 141499 | .unused, |
| | 141500 | .unused, |
| | 141501 | .unused, |
| | 141502 | .unused, |
| | 141503 | .unused, |
| | 141504 | }, |
| | 141505 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 141506 | .each = .{ .once = &.{ |
| | 141507 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 141508 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 141509 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 141510 | .{ ._, ._ss, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141511 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 141512 | .{ ._, ._ps, .@"and", .tmp1x, .tmp0x, ._, ._ }, |
| | 141513 | .{ ._, ._ps, .andn, .tmp0x, .dst0x, ._, ._ }, |
| | 141514 | .{ ._, ._ps, .@"or", .tmp0x, .tmp1x, ._, ._ }, |
| | 141515 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 141516 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 141517 | .{ ._, ._ss, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141518 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 141519 | .{ ._, ._ps, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 141520 | .{ ._, ._ps, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 141521 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 141522 | } }, |
| | 141523 | }, .{ |
| | 141524 | .required_features = .{ .avx, null, null, null }, |
| | 141525 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141526 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 141527 | .patterns = &.{ |
| | 141528 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 141529 | }, |
| | 141530 | .extra_temps = .{ |
| | 141531 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141532 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141533 | .unused, |
| | 141534 | .unused, |
| | 141535 | .unused, |
| | 141536 | .unused, |
| | 141537 | .unused, |
| | 141538 | .unused, |
| | 141539 | .unused, |
| | 141540 | .unused, |
| | 141541 | .unused, |
| | 141542 | }, |
| | 141543 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 141544 | .each = .{ .once = &.{ |
| | 141545 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 141546 | .{ ._, .v_ps, .max, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 141547 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141548 | .{ ._, .v_ps, .blendv, .dst0x, .src0x, .tmp1x, .tmp0x }, |
| | 141549 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141550 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141551 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141552 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141553 | } }, |
| | 141554 | }, .{ |
| | 141555 | .required_features = .{ .sse4_1, null, null, null }, |
| | 141556 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141557 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 141558 | .patterns = &.{ |
| | 141559 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 141560 | }, |
| | 141561 | .extra_temps = .{ |
| | 141562 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 141563 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141564 | .unused, |
| | 141565 | .unused, |
| | 141566 | .unused, |
| | 141567 | .unused, |
| | 141568 | .unused, |
| | 141569 | .unused, |
| | 141570 | .unused, |
| | 141571 | .unused, |
| | 141572 | .unused, |
| | 141573 | }, |
| | 141574 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 141575 | .each = .{ .once = &.{ |
| | 141576 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 141577 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 141578 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 141579 | .{ ._, ._ps, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141580 | .{ ._, ._ps, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 141581 | .{ ._, ._ps, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 141582 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 141583 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 141584 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 141585 | .{ ._, ._ss, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141586 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 141587 | .{ ._, ._ps, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 141588 | } }, |
| | 141589 | }, .{ |
| | 141590 | .required_features = .{ .sse, null, null, null }, |
| | 141591 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141592 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 141593 | .patterns = &.{ |
| | 141594 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 141595 | }, |
| | 141596 | .extra_temps = .{ |
| | 141597 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141598 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141599 | .unused, |
| | 141600 | .unused, |
| | 141601 | .unused, |
| | 141602 | .unused, |
| | 141603 | .unused, |
| | 141604 | .unused, |
| | 141605 | .unused, |
| | 141606 | .unused, |
| | 141607 | .unused, |
| | 141608 | }, |
| | 141609 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 141610 | .each = .{ .once = &.{ |
| | 141611 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 141612 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 141613 | .{ ._, ._ps, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 141614 | .{ ._, ._ps, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141615 | .{ ._, ._ps, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 141616 | .{ ._, ._ps, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 141617 | .{ ._, ._ps, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 141618 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 141619 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 141620 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 141621 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 141622 | .{ ._, ._ss, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 141623 | .{ ._, ._ss, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 141624 | .{ ._, ._ps, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 141625 | .{ ._, ._ps, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 141626 | .{ ._, ._ps, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 141627 | } }, |
| | 141628 | }, .{ |
| | 141629 | .required_features = .{ .avx, null, null, null }, |
| | 141630 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141631 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 141632 | .patterns = &.{ |
| | 141633 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 141634 | }, |
| | 141635 | .extra_temps = .{ |
| | 141636 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 141637 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 141638 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 141639 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141640 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141641 | .unused, |
| | 141642 | .unused, |
| | 141643 | .unused, |
| | 141644 | .unused, |
| | 141645 | .unused, |
| | 141646 | .unused, |
| | 141647 | }, |
| | 141648 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 141649 | .each = .{ .once = &.{ |
| | 141650 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 141651 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 141652 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 141653 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 141654 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 141655 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141656 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141657 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141658 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 141659 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141660 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141661 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141662 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141663 | .{ ._, .v_ss, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141664 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141665 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141666 | } }, |
| | 141667 | }, .{ |
| | 141668 | .required_features = .{ .avx, null, null, null }, |
| | 141669 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141670 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 141671 | .patterns = &.{ |
| | 141672 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 141673 | }, |
| | 141674 | .extra_temps = .{ |
| | 141675 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141676 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141677 | .unused, |
| | 141678 | .unused, |
| | 141679 | .unused, |
| | 141680 | .unused, |
| | 141681 | .unused, |
| | 141682 | .unused, |
| | 141683 | .unused, |
| | 141684 | .unused, |
| | 141685 | .unused, |
| | 141686 | }, |
| | 141687 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 141688 | .each = .{ .once = &.{ |
| | 141689 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 141690 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141691 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141692 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141693 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 141694 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141695 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141696 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141697 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141698 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141699 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141700 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141701 | } }, |
| | 141702 | }, .{ |
| | 141703 | .required_features = .{ .avx512f, null, null, null }, |
| | 141704 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141705 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 141706 | .patterns = &.{ |
| | 141707 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141708 | }, |
| | 141709 | .extra_temps = .{ |
| | 141710 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 141711 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 141712 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 141713 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141714 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141715 | .unused, |
| | 141716 | .unused, |
| | 141717 | .unused, |
| | 141718 | .unused, |
| | 141719 | .unused, |
| | 141720 | .unused, |
| | 141721 | }, |
| | 141722 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141723 | .each = .{ .once = &.{ |
| | 141724 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 141725 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 141726 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 141727 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 141728 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 141729 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 141730 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 141731 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 141732 | .{ ._, .v_ps, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 141733 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 141734 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 141735 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 141736 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141737 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141738 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141739 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 141740 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141741 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141742 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141743 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141744 | .{ ._, .v_ss, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141745 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141746 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141747 | } }, |
| | 141748 | }, .{ |
| | 141749 | .required_features = .{ .avx512f, null, null, null }, |
| | 141750 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141751 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 141752 | .patterns = &.{ |
| | 141753 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141754 | }, |
| | 141755 | .extra_temps = .{ |
| | 141756 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141757 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141758 | .unused, |
| | 141759 | .unused, |
| | 141760 | .unused, |
| | 141761 | .unused, |
| | 141762 | .unused, |
| | 141763 | .unused, |
| | 141764 | .unused, |
| | 141765 | .unused, |
| | 141766 | .unused, |
| | 141767 | }, |
| | 141768 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141769 | .each = .{ .once = &.{ |
| | 141770 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 141771 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 141772 | .{ ._, .v_ps, .max, .tmp1y, .dst0y, .tmp0y, ._ }, |
| | 141773 | .{ ._, .v_ps, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.ord) }, |
| | 141774 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp1y, .tmp0y }, |
| | 141775 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 141776 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141777 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141778 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141779 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 141780 | .{ ._, .v_ps, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141781 | .{ ._, .v_ps, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141782 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141783 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141784 | .{ ._, .v_ss, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 141785 | .{ ._, .v_ss, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 141786 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 141787 | } }, |
| | 141788 | }, .{ |
| | 141789 | .required_features = .{ .avx, null, null, null }, |
| | 141790 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141791 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 141792 | .patterns = &.{ |
| | 141793 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141794 | }, |
| | 141795 | .extra_temps = .{ |
| | 141796 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141797 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141798 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141799 | .unused, |
| | 141800 | .unused, |
| | 141801 | .unused, |
| | 141802 | .unused, |
| | 141803 | .unused, |
| | 141804 | .unused, |
| | 141805 | .unused, |
| | 141806 | .unused, |
| | 141807 | }, |
| | 141808 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141809 | .clobbers = .{ .eflags = true }, |
| | 141810 | .each = .{ .once = &.{ |
| | 141811 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 141812 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 141813 | .{ .@"0:", .v_ps, .mova, .tmp1y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 141814 | .{ ._, .v_ps, .max, .tmp2y, .dst0y, .tmp1y, ._ }, |
| | 141815 | .{ ._, .v_ps, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 141816 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp2y, .tmp1y }, |
| | 141817 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 141818 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141819 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 141820 | .{ ._, .v_ps, .max, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 141821 | .{ ._, .v_ps, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 141822 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 141823 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 141824 | .{ ._, .v_ps, .max, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 141825 | .{ ._, .v_ps, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 141826 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 141827 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141828 | .{ ._, .v_ss, .max, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 141829 | .{ ._, .v_ss, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 141830 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 141831 | } }, |
| | 141832 | }, .{ |
| | 141833 | .required_features = .{ .sse4_1, null, null, null }, |
| | 141834 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141835 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 141836 | .patterns = &.{ |
| | 141837 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141838 | }, |
| | 141839 | .extra_temps = .{ |
| | 141840 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141841 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 141842 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141843 | .unused, |
| | 141844 | .unused, |
| | 141845 | .unused, |
| | 141846 | .unused, |
| | 141847 | .unused, |
| | 141848 | .unused, |
| | 141849 | .unused, |
| | 141850 | .unused, |
| | 141851 | }, |
| | 141852 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141853 | .clobbers = .{ .eflags = true }, |
| | 141854 | .each = .{ .once = &.{ |
| | 141855 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 141856 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 141857 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 141858 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 141859 | .{ ._, ._ps, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 141860 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 141861 | .{ ._, ._ps, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 141862 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 141863 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141864 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 141865 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 141866 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 141867 | .{ ._, ._ps, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 141868 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 141869 | .{ ._, ._ps, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 141870 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 141871 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ }, |
| | 141872 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 141873 | .{ ._, ._ss, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 141874 | .{ ._, ._ss, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 141875 | .{ ._, ._ps, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 141876 | } }, |
| | 141877 | }, .{ |
| | 141878 | .required_features = .{ .sse, null, null, null }, |
| | 141879 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141880 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 141881 | .patterns = &.{ |
| | 141882 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141883 | }, |
| | 141884 | .extra_temps = .{ |
| | 141885 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141886 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141887 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141888 | .unused, |
| | 141889 | .unused, |
| | 141890 | .unused, |
| | 141891 | .unused, |
| | 141892 | .unused, |
| | 141893 | .unused, |
| | 141894 | .unused, |
| | 141895 | .unused, |
| | 141896 | }, |
| | 141897 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141898 | .clobbers = .{ .eflags = true }, |
| | 141899 | .each = .{ .once = &.{ |
| | 141900 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 141901 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 141902 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 141903 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 141904 | .{ ._, ._ps, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 141905 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 141906 | .{ ._, ._ps, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 141907 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 141908 | .{ ._, ._ps, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 141909 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 141910 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141911 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 141912 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 141913 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 141914 | .{ ._, ._ps, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 141915 | .{ ._, ._ps, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 141916 | .{ ._, ._ps, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 141917 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 141918 | .{ ._, ._ps, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 141919 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 141920 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ }, |
| | 141921 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 141922 | .{ ._, ._ss, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 141923 | .{ ._, ._ss, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 141924 | .{ ._, ._ps, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 141925 | .{ ._, ._ps, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 141926 | .{ ._, ._ps, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 141927 | } }, |
| | 141928 | }, .{ |
| | 141929 | .required_features = .{ .avx512f, null, null, null }, |
| | 141930 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141931 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 141932 | .patterns = &.{ |
| | 141933 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141934 | }, |
| | 141935 | .extra_temps = .{ |
| | 141936 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141937 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 141938 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 141939 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141940 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 141941 | .unused, |
| | 141942 | .unused, |
| | 141943 | .unused, |
| | 141944 | .unused, |
| | 141945 | .unused, |
| | 141946 | .unused, |
| | 141947 | }, |
| | 141948 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 141949 | .clobbers = .{ .eflags = true }, |
| | 141950 | .each = .{ .once = &.{ |
| | 141951 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 141952 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 141953 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 141954 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 141955 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 141956 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 141957 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 141958 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 141959 | .{ ._, .v_ps, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 141960 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 141961 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 141962 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| | 141963 | .{ .@"0:", .v_ps, .mova, .tmp3y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 141964 | .{ ._, .v_ps, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 141965 | .{ ._, .v_ps, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 141966 | .{ ._, .v_ps, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 141967 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 141968 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 141969 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 141970 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141971 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141972 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141973 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 141974 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141975 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141976 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141977 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 141978 | .{ ._, .v_ss, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 141979 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 141980 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 141981 | } }, |
| | 141982 | }, .{ |
| | 141983 | .required_features = .{ .avx, null, null, null }, |
| | 141984 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 141985 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 141986 | .patterns = &.{ |
| | 141987 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 141988 | }, |
| | 141989 | .extra_temps = .{ |
| | 141990 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 141991 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 141992 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 141993 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141994 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 141995 | .unused, |
| | 141996 | .unused, |
| | 141997 | .unused, |
| | 141998 | .unused, |
| | 141999 | .unused, |
| | 142000 | .unused, |
| | 142001 | }, |
| | 142002 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142003 | .clobbers = .{ .eflags = true }, |
| | 142004 | .each = .{ .once = &.{ |
| | 142005 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 142006 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 142007 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 142008 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 142009 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 142010 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 142011 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 142012 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142013 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142014 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142015 | .{ .@"0:", .v_ps, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142016 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142017 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142018 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142019 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142020 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142021 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 142022 | .{ ._, .v_ps, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142023 | .{ ._, .v_ps, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142024 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142025 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 142026 | .{ ._, .v_ss, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142027 | .{ ._, .v_ss, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142028 | .{ ._, .v_ps, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142029 | } }, |
| | 142030 | }, .{ |
| | 142031 | .required_features = .{ .sse4_1, null, null, null }, |
| | 142032 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 142033 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 142034 | .patterns = &.{ |
| | 142035 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142036 | }, |
| | 142037 | .extra_temps = .{ |
| | 142038 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142039 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 142040 | .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 142041 | .{ .type = .vector_4_f32, .kind = .{ .reg = .xmm0 } }, |
| | 142042 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 142043 | .unused, |
| | 142044 | .unused, |
| | 142045 | .unused, |
| | 142046 | .unused, |
| | 142047 | .unused, |
| | 142048 | .unused, |
| | 142049 | }, |
| | 142050 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142051 | .clobbers = .{ .eflags = true }, |
| | 142052 | .each = .{ .once = &.{ |
| | 142053 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 142054 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 142055 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 142056 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 142057 | .{ ._, ._ps, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 142058 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 142059 | .{ .@"0:", ._ps, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142060 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142061 | .{ ._, ._ps, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142062 | .{ ._, ._ps, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 142063 | .{ ._, ._ps, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 142064 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142065 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142066 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 142067 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 142068 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142069 | .{ ._, ._ps, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142070 | .{ ._, ._ps, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 142071 | .{ ._, ._ps, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 142072 | .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ }, |
| | 142073 | .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ }, |
| | 142074 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142075 | .{ ._, ._ss, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142076 | .{ ._, ._ss, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 142077 | .{ ._, ._ps, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 142078 | } }, |
| | 142079 | }, .{ |
| | 142080 | .required_features = .{ .sse, null, null, null }, |
| | 142081 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 142082 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 142083 | .patterns = &.{ |
| | 142084 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142085 | }, |
| | 142086 | .extra_temps = .{ |
| | 142087 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142088 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 142089 | .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 142090 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 142091 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 142092 | .unused, |
| | 142093 | .unused, |
| | 142094 | .unused, |
| | 142095 | .unused, |
| | 142096 | .unused, |
| | 142097 | .unused, |
| | 142098 | }, |
| | 142099 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142100 | .clobbers = .{ .eflags = true }, |
| | 142101 | .each = .{ .once = &.{ |
| | 142102 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 142103 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 142104 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 142105 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 142106 | .{ ._, ._ps, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 142107 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 142108 | .{ .@"0:", ._ps, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142109 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142110 | .{ ._, ._ps, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142111 | .{ ._, ._ps, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 142112 | .{ ._, ._ps, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 142113 | .{ ._, ._ps, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 142114 | .{ ._, ._ps, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 142115 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142116 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142117 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 142118 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 142119 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142120 | .{ ._, ._ps, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142121 | .{ ._, ._ps, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 142122 | .{ ._, ._ps, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 142123 | .{ ._, ._ps, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 142124 | .{ ._, ._ps, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 142125 | .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ }, |
| | 142126 | .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ }, |
| | 142127 | .{ ._, ._ps, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142128 | .{ ._, ._ss, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142129 | .{ ._, ._ss, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 142130 | .{ ._, ._ps, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 142131 | .{ ._, ._ps, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 142132 | .{ ._, ._ps, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 142133 | } }, |
| | 142134 | }, .{ |
| | 142135 | .required_features = .{ .avx, null, null, null }, |
| | 142136 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142137 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 142138 | .patterns = &.{ |
| | 142139 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 142140 | }, |
| | 142141 | .extra_temps = .{ |
| | 142142 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142143 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142144 | .unused, |
| | 142145 | .unused, |
| | 142146 | .unused, |
| | 142147 | .unused, |
| | 142148 | .unused, |
| | 142149 | .unused, |
| | 142150 | .unused, |
| | 142151 | .unused, |
| | 142152 | .unused, |
| | 142153 | }, |
| | 142154 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 142155 | .each = .{ .once = &.{ |
| | 142156 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 142157 | .{ ._, .v_sd, .max, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 142158 | .{ ._, .v_sd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 142159 | .{ ._, .v_pd, .blendv, .dst0x, .src0x, .tmp1x, .tmp0x }, |
| | 142160 | } }, |
| | 142161 | }, .{ |
| | 142162 | .required_features = .{ .sse4_1, null, null, null }, |
| | 142163 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142164 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 142165 | .patterns = &.{ |
| | 142166 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 142167 | }, |
| | 142168 | .extra_temps = .{ |
| | 142169 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, |
| | 142170 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142171 | .unused, |
| | 142172 | .unused, |
| | 142173 | .unused, |
| | 142174 | .unused, |
| | 142175 | .unused, |
| | 142176 | .unused, |
| | 142177 | .unused, |
| | 142178 | .unused, |
| | 142179 | .unused, |
| | 142180 | }, |
| | 142181 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 142182 | .each = .{ .once = &.{ |
| | 142183 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 142184 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 142185 | .{ ._, ._pd, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 142186 | .{ ._, ._sd, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 142187 | .{ ._, ._sd, .cmp, .tmp0x, .tmp0x, .sp(.ord), ._ }, |
| | 142188 | .{ ._, ._pd, .blendv, .dst0x, .tmp1x, .tmp0x, ._ }, |
| | 142189 | } }, |
| | 142190 | }, .{ |
| | 142191 | .required_features = .{ .sse2, null, null, null }, |
| | 142192 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142193 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 142194 | .patterns = &.{ |
| | 142195 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 142196 | }, |
| | 142197 | .extra_temps = .{ |
| | 142198 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142199 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142200 | .unused, |
| | 142201 | .unused, |
| | 142202 | .unused, |
| | 142203 | .unused, |
| | 142204 | .unused, |
| | 142205 | .unused, |
| | 142206 | .unused, |
| | 142207 | .unused, |
| | 142208 | .unused, |
| | 142209 | }, |
| | 142210 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 142211 | .each = .{ .once = &.{ |
| | 142212 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 142213 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 142214 | .{ ._, ._pd, .mova, .tmp1x, .src0x, ._, ._ }, |
| | 142215 | .{ ._, ._sd, .max, .tmp1x, .tmp0x, ._, ._ }, |
| | 142216 | .{ ._, ._sd, .cmp, .tmp0x, .tmp0x, .sp(.unord), ._ }, |
| | 142217 | .{ ._, ._pd, .@"and", .dst0x, .tmp0x, ._, ._ }, |
| | 142218 | .{ ._, ._pd, .andn, .tmp0x, .tmp1x, ._, ._ }, |
| | 142219 | .{ ._, ._pd, .@"or", .dst0x, .tmp0x, ._, ._ }, |
| | 142220 | } }, |
| | 142221 | }, .{ |
| | 142222 | .required_features = .{ .avx, null, null, null }, |
| | 142223 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142224 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 142225 | .patterns = &.{ |
| | 142226 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 142227 | }, |
| | 142228 | .extra_temps = .{ |
| | 142229 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142230 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142231 | .unused, |
| | 142232 | .unused, |
| | 142233 | .unused, |
| | 142234 | .unused, |
| | 142235 | .unused, |
| | 142236 | .unused, |
| | 142237 | .unused, |
| | 142238 | .unused, |
| | 142239 | .unused, |
| | 142240 | }, |
| | 142241 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 142242 | .each = .{ .once = &.{ |
| | 142243 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 142244 | .{ ._, .v_sd, .max, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 142245 | .{ ._, .v_sd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 142246 | .{ ._, .v_pd, .blendv, .tmp0x, .src0x, .tmp1x, .tmp0x }, |
| | 142247 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 142248 | .{ ._, .v_sd, .max, .tmp1x, .tmp0x, .dst0x, ._ }, |
| | 142249 | .{ ._, .v_sd, .cmp, .dst0x, .dst0x, .dst0x, .vp(.ord) }, |
| | 142250 | .{ ._, .v_pd, .blendv, .dst0x, .tmp0x, .tmp1x, .dst0x }, |
| | 142251 | } }, |
| | 142252 | }, .{ |
| | 142253 | .required_features = .{ .avx, null, null, null }, |
| | 142254 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142255 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 142256 | .patterns = &.{ |
| | 142257 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 142258 | }, |
| | 142259 | .extra_temps = .{ |
| | 142260 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142261 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142262 | .unused, |
| | 142263 | .unused, |
| | 142264 | .unused, |
| | 142265 | .unused, |
| | 142266 | .unused, |
| | 142267 | .unused, |
| | 142268 | .unused, |
| | 142269 | .unused, |
| | 142270 | .unused, |
| | 142271 | }, |
| | 142272 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 142273 | .each = .{ .once = &.{ |
| | 142274 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 142275 | .{ ._, .v_pd, .max, .tmp1x, .src0x, .tmp0x, ._ }, |
| | 142276 | .{ ._, .v_pd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 142277 | .{ ._, .v_pd, .blendv, .dst0x, .src0x, .tmp1x, .tmp0x }, |
| | 142278 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 142279 | .{ ._, .v_sd, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 142280 | .{ ._, .v_sd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 142281 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 142282 | } }, |
| | 142283 | }, .{ |
| | 142284 | .required_features = .{ .avx512f, null, null, null }, |
| | 142285 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142286 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 142287 | .patterns = &.{ |
| | 142288 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142289 | }, |
| | 142290 | .extra_temps = .{ |
| | 142291 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 142292 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 142293 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 142294 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 142295 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 142296 | .unused, |
| | 142297 | .unused, |
| | 142298 | .unused, |
| | 142299 | .unused, |
| | 142300 | .unused, |
| | 142301 | .unused, |
| | 142302 | }, |
| | 142303 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142304 | .each = .{ .once = &.{ |
| | 142305 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 142306 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 142307 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 142308 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 142309 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 142310 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 142311 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 142312 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 142313 | .{ ._, .v_pd, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 142314 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 142315 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 142316 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 142317 | .{ ._, .v_pd, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142318 | .{ ._, .v_pd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142319 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142320 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 142321 | .{ ._, .v_sd, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142322 | .{ ._, .v_sd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142323 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142324 | } }, |
| | 142325 | }, .{ |
| | 142326 | .required_features = .{ .avx512f, null, null, null }, |
| | 142327 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142328 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 142329 | .patterns = &.{ |
| | 142330 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142331 | }, |
| | 142332 | .extra_temps = .{ |
| | 142333 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142334 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142335 | .unused, |
| | 142336 | .unused, |
| | 142337 | .unused, |
| | 142338 | .unused, |
| | 142339 | .unused, |
| | 142340 | .unused, |
| | 142341 | .unused, |
| | 142342 | .unused, |
| | 142343 | .unused, |
| | 142344 | }, |
| | 142345 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142346 | .each = .{ .once = &.{ |
| | 142347 | .{ ._, .v_pd, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 142348 | .{ ._, .v_pd, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 142349 | .{ ._, .v_pd, .max, .tmp1y, .dst0y, .tmp0y, ._ }, |
| | 142350 | .{ ._, .v_pd, .cmp, .tmp0y, .tmp0y, .tmp0y, .vp(.ord) }, |
| | 142351 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp1y, .tmp0y }, |
| | 142352 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 142353 | .{ ._, .v_pd, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 142354 | .{ ._, .v_pd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 142355 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 142356 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 142357 | .{ ._, .v_sd, .max, .tmp1x, .dst0x, .tmp0x, ._ }, |
| | 142358 | .{ ._, .v_sd, .cmp, .tmp0x, .tmp0x, .tmp0x, .vp(.ord) }, |
| | 142359 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp1x, .tmp0x }, |
| | 142360 | } }, |
| | 142361 | }, .{ |
| | 142362 | .required_features = .{ .avx, null, null, null }, |
| | 142363 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142364 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 142365 | .patterns = &.{ |
| | 142366 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142367 | }, |
| | 142368 | .extra_temps = .{ |
| | 142369 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142370 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142371 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142372 | .unused, |
| | 142373 | .unused, |
| | 142374 | .unused, |
| | 142375 | .unused, |
| | 142376 | .unused, |
| | 142377 | .unused, |
| | 142378 | .unused, |
| | 142379 | .unused, |
| | 142380 | }, |
| | 142381 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142382 | .clobbers = .{ .eflags = true }, |
| | 142383 | .each = .{ .once = &.{ |
| | 142384 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 142385 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 142386 | .{ .@"0:", .v_pd, .mova, .tmp1y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 142387 | .{ ._, .v_pd, .max, .tmp2y, .dst0y, .tmp1y, ._ }, |
| | 142388 | .{ ._, .v_pd, .cmp, .tmp1y, .tmp1y, .tmp1y, .vp(.ord) }, |
| | 142389 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp2y, .tmp1y }, |
| | 142390 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 142391 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142392 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 142393 | .{ ._, .v_pd, .max, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 142394 | .{ ._, .v_pd, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 142395 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 142396 | .{ ._, .v_pd, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 142397 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 142398 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 142399 | .{ ._, .v_sd, .max, .tmp2x, .dst0x, .tmp1x, ._ }, |
| | 142400 | .{ ._, .v_sd, .cmp, .tmp1x, .tmp1x, .tmp1x, .vp(.ord) }, |
| | 142401 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp2x, .tmp1x }, |
| | 142402 | } }, |
| | 142403 | }, .{ |
| | 142404 | .required_features = .{ .sse4_1, null, null, null }, |
| | 142405 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142406 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 142407 | .patterns = &.{ |
| | 142408 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142409 | }, |
| | 142410 | .extra_temps = .{ |
| | 142411 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142412 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, |
| | 142413 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142414 | .unused, |
| | 142415 | .unused, |
| | 142416 | .unused, |
| | 142417 | .unused, |
| | 142418 | .unused, |
| | 142419 | .unused, |
| | 142420 | .unused, |
| | 142421 | .unused, |
| | 142422 | }, |
| | 142423 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142424 | .clobbers = .{ .eflags = true }, |
| | 142425 | .each = .{ .once = &.{ |
| | 142426 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 142427 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 142428 | .{ .@"0:", ._pd, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142429 | .{ ._, ._pd, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 142430 | .{ ._, ._pd, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 142431 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 142432 | .{ ._, ._pd, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 142433 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142434 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142435 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 142436 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 142437 | .{ ._, ._pd, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 142438 | .{ ._, ._sd, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 142439 | .{ ._, ._sd, .cmp, .tmp1x, .tmp1x, .sp(.ord), ._ }, |
| | 142440 | .{ ._, ._pd, .blendv, .dst0x, .tmp2x, .tmp1x, ._ }, |
| | 142441 | } }, |
| | 142442 | }, .{ |
| | 142443 | .required_features = .{ .sse2, null, null, null }, |
| | 142444 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142445 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 142446 | .patterns = &.{ |
| | 142447 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142448 | }, |
| | 142449 | .extra_temps = .{ |
| | 142450 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142451 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142452 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142453 | .unused, |
| | 142454 | .unused, |
| | 142455 | .unused, |
| | 142456 | .unused, |
| | 142457 | .unused, |
| | 142458 | .unused, |
| | 142459 | .unused, |
| | 142460 | .unused, |
| | 142461 | }, |
| | 142462 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142463 | .clobbers = .{ .eflags = true }, |
| | 142464 | .each = .{ .once = &.{ |
| | 142465 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 142466 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 142467 | .{ .@"0:", ._pd, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142468 | .{ ._, ._pd, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 142469 | .{ ._, ._pd, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 142470 | .{ ._, ._pd, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 142471 | .{ ._, ._pd, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 142472 | .{ ._, ._pd, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 142473 | .{ ._, ._pd, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 142474 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142475 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142476 | .{ ._, ._pd, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 142477 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 142478 | .{ ._, ._pd, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 142479 | .{ ._, ._sd, .max, .tmp2x, .tmp1x, ._, ._ }, |
| | 142480 | .{ ._, ._sd, .cmp, .tmp1x, .tmp1x, .sp(.unord), ._ }, |
| | 142481 | .{ ._, ._pd, .@"and", .dst0x, .tmp1x, ._, ._ }, |
| | 142482 | .{ ._, ._pd, .andn, .tmp1x, .tmp2x, ._, ._ }, |
| | 142483 | .{ ._, ._pd, .@"or", .dst0x, .tmp1x, ._, ._ }, |
| | 142484 | } }, |
| | 142485 | }, .{ |
| | 142486 | .required_features = .{ .avx512f, null, null, null }, |
| | 142487 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142488 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 142489 | .patterns = &.{ |
| | 142490 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142491 | }, |
| | 142492 | .extra_temps = .{ |
| | 142493 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142494 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 142495 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 142496 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 142497 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 142498 | .unused, |
| | 142499 | .unused, |
| | 142500 | .unused, |
| | 142501 | .unused, |
| | 142502 | .unused, |
| | 142503 | .unused, |
| | 142504 | }, |
| | 142505 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142506 | .clobbers = .{ .eflags = true }, |
| | 142507 | .each = .{ .once = &.{ |
| | 142508 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 142509 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 142510 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 142511 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 142512 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 142513 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 142514 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 142515 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 142516 | .{ ._, .v_pd, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 142517 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 142518 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 142519 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| | 142520 | .{ .@"0:", .v_pd, .mova, .tmp3y, .memi(.src0y, .tmp0), ._, ._ }, |
| | 142521 | .{ ._, .v_pd, .max, .tmp4y, .dst0y, .tmp3y, ._ }, |
| | 142522 | .{ ._, .v_pd, .cmp, .tmp3y, .tmp3y, .tmp3y, .vp(.ord) }, |
| | 142523 | .{ ._, .v_pd, .blendv, .dst0y, .dst0y, .tmp4y, .tmp3y }, |
| | 142524 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 142525 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142526 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 142527 | .{ ._, .v_pd, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142528 | .{ ._, .v_pd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142529 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142530 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 142531 | .{ ._, .v_sd, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142532 | .{ ._, .v_sd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142533 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142534 | } }, |
| | 142535 | }, .{ |
| | 142536 | .required_features = .{ .avx, null, null, null }, |
| | 142537 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142538 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 142539 | .patterns = &.{ |
| | 142540 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142541 | }, |
| | 142542 | .extra_temps = .{ |
| | 142543 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142544 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 142545 | .{ .type = .vector_4_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 142546 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142547 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142548 | .unused, |
| | 142549 | .unused, |
| | 142550 | .unused, |
| | 142551 | .unused, |
| | 142552 | .unused, |
| | 142553 | .unused, |
| | 142554 | }, |
| | 142555 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142556 | .clobbers = .{ .eflags = true }, |
| | 142557 | .each = .{ .once = &.{ |
| | 142558 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 142559 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 142560 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 142561 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 142562 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 142563 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 142564 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 142565 | .{ ._, .v_pd, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142566 | .{ ._, .v_pd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142567 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142568 | .{ .@"0:", .v_pd, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142569 | .{ ._, .v_pd, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142570 | .{ ._, .v_pd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142571 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142572 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142573 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142574 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 142575 | .{ ._, .v_sd, .max, .tmp4x, .dst0x, .tmp3x, ._ }, |
| | 142576 | .{ ._, .v_sd, .cmp, .tmp3x, .tmp3x, .tmp3x, .vp(.ord) }, |
| | 142577 | .{ ._, .v_pd, .blendv, .dst0x, .dst0x, .tmp4x, .tmp3x }, |
| | 142578 | } }, |
| | 142579 | }, .{ |
| | 142580 | .required_features = .{ .sse4_1, null, null, null }, |
| | 142581 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142582 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 142583 | .patterns = &.{ |
| | 142584 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142585 | }, |
| | 142586 | .extra_temps = .{ |
| | 142587 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142588 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 142589 | .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 142590 | .{ .type = .vector_2_f64, .kind = .{ .reg = .xmm0 } }, |
| | 142591 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142592 | .unused, |
| | 142593 | .unused, |
| | 142594 | .unused, |
| | 142595 | .unused, |
| | 142596 | .unused, |
| | 142597 | .unused, |
| | 142598 | }, |
| | 142599 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142600 | .clobbers = .{ .eflags = true }, |
| | 142601 | .each = .{ .once = &.{ |
| | 142602 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 142603 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 142604 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 142605 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 142606 | .{ ._, ._pd, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 142607 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 142608 | .{ .@"0:", ._pd, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142609 | .{ ._, ._pd, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142610 | .{ ._, ._pd, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142611 | .{ ._, ._pd, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 142612 | .{ ._, ._pd, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 142613 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142614 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142615 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 142616 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 142617 | .{ ._, ._pd, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142618 | .{ ._, ._sd, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142619 | .{ ._, ._sd, .cmp, .tmp3x, .tmp3x, .sp(.ord), ._ }, |
| | 142620 | .{ ._, ._pd, .blendv, .dst0x, .tmp4x, .tmp3x, ._ }, |
| | 142621 | } }, |
| | 142622 | }, .{ |
| | 142623 | .required_features = .{ .sse2, null, null, null }, |
| | 142624 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142625 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 142626 | .patterns = &.{ |
| | 142627 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142628 | }, |
| | 142629 | .extra_temps = .{ |
| | 142630 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142631 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 142632 | .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -nan } } }, |
| | 142633 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142634 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 142635 | .unused, |
| | 142636 | .unused, |
| | 142637 | .unused, |
| | 142638 | .unused, |
| | 142639 | .unused, |
| | 142640 | .unused, |
| | 142641 | }, |
| | 142642 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 142643 | .clobbers = .{ .eflags = true }, |
| | 142644 | .each = .{ .once = &.{ |
| | 142645 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 142646 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 142647 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 142648 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 142649 | .{ ._, ._pd, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 142650 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 142651 | .{ .@"0:", ._pd, .mova, .tmp3x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142652 | .{ ._, ._pd, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142653 | .{ ._, ._pd, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142654 | .{ ._, ._pd, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 142655 | .{ ._, ._pd, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 142656 | .{ ._, ._pd, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 142657 | .{ ._, ._pd, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 142658 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142659 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142660 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 142661 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 142662 | .{ ._, ._pd, .mova, .tmp4x, .dst0x, ._, ._ }, |
| | 142663 | .{ ._, ._sd, .max, .tmp4x, .tmp3x, ._, ._ }, |
| | 142664 | .{ ._, ._sd, .cmp, .tmp3x, .tmp3x, .sp(.unord), ._ }, |
| | 142665 | .{ ._, ._pd, .@"and", .dst0x, .tmp3x, ._, ._ }, |
| | 142666 | .{ ._, ._pd, .andn, .tmp3x, .tmp4x, ._, ._ }, |
| | 142667 | .{ ._, ._pd, .@"or", .dst0x, .tmp3x, ._, ._ }, |
| | 142668 | } }, |
| | 142669 | }, .{ |
| | 142670 | .required_features = .{ .x87, .cmov, null, null }, |
| | 142671 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142672 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 142673 | .patterns = &.{ |
| | 142674 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142675 | }, |
| | 142676 | .extra_temps = .{ |
| | 142677 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142678 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 142679 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 142680 | .unused, |
| | 142681 | .unused, |
| | 142682 | .unused, |
| | 142683 | .unused, |
| | 142684 | .unused, |
| | 142685 | .unused, |
| | 142686 | .unused, |
| | 142687 | .unused, |
| | 142688 | }, |
| | 142689 | .dst_temps = .{ .mem, .unused }, |
| | 142690 | .clobbers = .{ .eflags = true }, |
| | 142691 | .each = .{ .once = &.{ |
| | 142692 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 142693 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 142694 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 142695 | .{ ._, .f_, .ucomi, .tmp2t, .tmp2t, ._, ._ }, |
| | 142696 | .{ ._, .f_u, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 142697 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142698 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 142699 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142700 | .{ ._, .f_nb, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 142701 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 142702 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 142703 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142704 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 142705 | } }, |
| | 142706 | }, .{ |
| | 142707 | .required_features = .{ .sahf, .x87, null, null }, |
| | 142708 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142709 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 142710 | .patterns = &.{ |
| | 142711 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142712 | }, |
| | 142713 | .extra_temps = .{ |
| | 142714 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142715 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 142716 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 142717 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 142718 | .unused, |
| | 142719 | .unused, |
| | 142720 | .unused, |
| | 142721 | .unused, |
| | 142722 | .unused, |
| | 142723 | .unused, |
| | 142724 | .unused, |
| | 142725 | }, |
| | 142726 | .dst_temps = .{ .mem, .unused }, |
| | 142727 | .clobbers = .{ .eflags = true }, |
| | 142728 | .each = .{ .once = &.{ |
| | 142729 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 142730 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 142731 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 142732 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 142733 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 142734 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 142735 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 142736 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142737 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| | 142738 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 142739 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| | 142740 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, |
| | 142741 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142742 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 142743 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 142744 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142745 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 142746 | } }, |
| | 142747 | }, .{ |
| | 142748 | .required_features = .{ .x87, null, null, null }, |
| | 142749 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 142750 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 142751 | .patterns = &.{ |
| | 142752 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142753 | }, |
| | 142754 | .extra_temps = .{ |
| | 142755 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142756 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 142757 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 142758 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 142759 | .unused, |
| | 142760 | .unused, |
| | 142761 | .unused, |
| | 142762 | .unused, |
| | 142763 | .unused, |
| | 142764 | .unused, |
| | 142765 | .unused, |
| | 142766 | }, |
| | 142767 | .dst_temps = .{ .mem, .unused }, |
| | 142768 | .clobbers = .{ .eflags = true }, |
| | 142769 | .each = .{ .once = &.{ |
| | 142770 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 142771 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 142772 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 142773 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 142774 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 142775 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 142776 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 142777 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142778 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| | 142779 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 142780 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| | 142781 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, |
| | 142782 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142783 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 142784 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 142785 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142786 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 142787 | } }, |
| | 142788 | }, .{ |
| | 142789 | .required_features = .{ .x87, .cmov, null, null }, |
| | 142790 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 142791 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 142792 | .patterns = &.{ |
| | 142793 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142794 | }, |
| | 142795 | .extra_temps = .{ |
| | 142796 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142797 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 142798 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 142799 | .unused, |
| | 142800 | .unused, |
| | 142801 | .unused, |
| | 142802 | .unused, |
| | 142803 | .unused, |
| | 142804 | .unused, |
| | 142805 | .unused, |
| | 142806 | .unused, |
| | 142807 | }, |
| | 142808 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 142809 | .clobbers = .{ .eflags = true }, |
| | 142810 | .each = .{ .once = &.{ |
| | 142811 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 142812 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 142813 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 142814 | .{ ._, .f_, .ucomi, .tmp2t, .tmp2t, ._, ._ }, |
| | 142815 | .{ ._, .f_u, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 142816 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142817 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 142818 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142819 | .{ ._, .f_nb, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 142820 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 142821 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142822 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142823 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 142824 | } }, |
| | 142825 | }, .{ |
| | 142826 | .required_features = .{ .sahf, .x87, null, null }, |
| | 142827 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 142828 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 142829 | .patterns = &.{ |
| | 142830 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142831 | }, |
| | 142832 | .extra_temps = .{ |
| | 142833 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142834 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 142835 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 142836 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 142837 | .unused, |
| | 142838 | .unused, |
| | 142839 | .unused, |
| | 142840 | .unused, |
| | 142841 | .unused, |
| | 142842 | .unused, |
| | 142843 | .unused, |
| | 142844 | }, |
| | 142845 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 142846 | .clobbers = .{ .eflags = true }, |
| | 142847 | .each = .{ .once = &.{ |
| | 142848 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 142849 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 142850 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 142851 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 142852 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 142853 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 142854 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 142855 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142856 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| | 142857 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 142858 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| | 142859 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, |
| | 142860 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142861 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 142862 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142863 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142864 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 142865 | } }, |
| | 142866 | }, .{ |
| | 142867 | .required_features = .{ .x87, null, null, null }, |
| | 142868 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 142869 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 142870 | .patterns = &.{ |
| | 142871 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142872 | }, |
| | 142873 | .extra_temps = .{ |
| | 142874 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142875 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 142876 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 142877 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 142878 | .unused, |
| | 142879 | .unused, |
| | 142880 | .unused, |
| | 142881 | .unused, |
| | 142882 | .unused, |
| | 142883 | .unused, |
| | 142884 | .unused, |
| | 142885 | }, |
| | 142886 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 142887 | .clobbers = .{ .eflags = true }, |
| | 142888 | .each = .{ .once = &.{ |
| | 142889 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 142890 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 142891 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 142892 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 142893 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 142894 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 142895 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 142896 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142897 | .{ ._, .f_, .xam, ._, ._, ._, ._ }, |
| | 142898 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 142899 | .{ ._, ._, .@"test", .tmp3h, .si(0b1_000_100), ._, ._ }, |
| | 142900 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, |
| | 142901 | .{ ._, .f_, .xch, .tmp1t, ._, ._, ._ }, |
| | 142902 | .{ .@"1:", .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 142903 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142904 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142905 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 142906 | } }, |
| | 142907 | }, .{ |
| | 142908 | .required_features = .{ .avx, null, null, null }, |
| | 142909 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 142910 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 142911 | .patterns = &.{ |
| | 142912 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142913 | }, |
| | 142914 | .call_frame = .{ .alignment = .@"16" }, |
| | 142915 | .extra_temps = .{ |
| | 142916 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142917 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 142918 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| | 142919 | .unused, |
| | 142920 | .unused, |
| | 142921 | .unused, |
| | 142922 | .unused, |
| | 142923 | .unused, |
| | 142924 | .unused, |
| | 142925 | .unused, |
| | 142926 | .unused, |
| | 142927 | }, |
| | 142928 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 142929 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 142930 | .each = .{ .once = &.{ |
| | 142931 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 142932 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 142933 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142934 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 142935 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142936 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142937 | } }, |
| | 142938 | }, .{ |
| | 142939 | .required_features = .{ .sse2, null, null, null }, |
| | 142940 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 142941 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 142942 | .patterns = &.{ |
| | 142943 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142944 | }, |
| | 142945 | .call_frame = .{ .alignment = .@"16" }, |
| | 142946 | .extra_temps = .{ |
| | 142947 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142948 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 142949 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| | 142950 | .unused, |
| | 142951 | .unused, |
| | 142952 | .unused, |
| | 142953 | .unused, |
| | 142954 | .unused, |
| | 142955 | .unused, |
| | 142956 | .unused, |
| | 142957 | .unused, |
| | 142958 | }, |
| | 142959 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 142960 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 142961 | .each = .{ .once = &.{ |
| | 142962 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 142963 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 142964 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142965 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 142966 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142967 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142968 | } }, |
| | 142969 | }, .{ |
| | 142970 | .required_features = .{ .sse, null, null, null }, |
| | 142971 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 142972 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 142973 | .patterns = &.{ |
| | 142974 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 142975 | }, |
| | 142976 | .call_frame = .{ .alignment = .@"16" }, |
| | 142977 | .extra_temps = .{ |
| | 142978 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 142979 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 142980 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| | 142981 | .unused, |
| | 142982 | .unused, |
| | 142983 | .unused, |
| | 142984 | .unused, |
| | 142985 | .unused, |
| | 142986 | .unused, |
| | 142987 | .unused, |
| | 142988 | .unused, |
| | 142989 | }, |
| | 142990 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 142991 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 142992 | .each = .{ .once = &.{ |
| | 142993 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 142994 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 142995 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 142996 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 142997 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 142998 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 142999 | } }, |
| | 143000 | } }, |
| | 143001 | .Add => comptime &.{ .{ |
| | 143002 | .required_features = .{ .avx, null, null, null }, |
| | 143003 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143004 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 143005 | .patterns = &.{ |
| | 143006 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143007 | }, |
| | 143008 | .extra_temps = .{ |
| | 143009 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143010 | .unused, |
| | 143011 | .unused, |
| | 143012 | .unused, |
| | 143013 | .unused, |
| | 143014 | .unused, |
| | 143015 | .unused, |
| | 143016 | .unused, |
| | 143017 | .unused, |
| | 143018 | .unused, |
| | 143019 | .unused, |
| | 143020 | }, |
| | 143021 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143022 | .each = .{ .once = &.{ |
| | 143023 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 143024 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 143025 | } }, |
| | 143026 | }, .{ |
| | 143027 | .required_features = .{ .sse2, null, null, null }, |
| | 143028 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143029 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 143030 | .patterns = &.{ |
| | 143031 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 143032 | }, |
| | 143033 | .extra_temps = .{ |
| | 143034 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143035 | .unused, |
| | 143036 | .unused, |
| | 143037 | .unused, |
| | 143038 | .unused, |
| | 143039 | .unused, |
| | 143040 | .unused, |
| | 143041 | .unused, |
| | 143042 | .unused, |
| | 143043 | .unused, |
| | 143044 | .unused, |
| | 143045 | }, |
| | 143046 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 143047 | .each = .{ .once = &.{ |
| | 143048 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 143049 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 143050 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143051 | } }, |
| | 143052 | }, .{ |
| | 143053 | .required_features = .{ .avx, null, null, null }, |
| | 143054 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143055 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 143056 | .patterns = &.{ |
| | 143057 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143058 | }, |
| | 143059 | .extra_temps = .{ |
| | 143060 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143061 | .unused, |
| | 143062 | .unused, |
| | 143063 | .unused, |
| | 143064 | .unused, |
| | 143065 | .unused, |
| | 143066 | .unused, |
| | 143067 | .unused, |
| | 143068 | .unused, |
| | 143069 | .unused, |
| | 143070 | .unused, |
| | 143071 | }, |
| | 143072 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143073 | .each = .{ .once = &.{ |
| | 143074 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 143075 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 143076 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 143077 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143078 | } }, |
| | 143079 | }, .{ |
| | 143080 | .required_features = .{ .sse2, null, null, null }, |
| | 143081 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143082 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 143083 | .patterns = &.{ |
| | 143084 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 143085 | }, |
| | 143086 | .extra_temps = .{ |
| | 143087 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143088 | .unused, |
| | 143089 | .unused, |
| | 143090 | .unused, |
| | 143091 | .unused, |
| | 143092 | .unused, |
| | 143093 | .unused, |
| | 143094 | .unused, |
| | 143095 | .unused, |
| | 143096 | .unused, |
| | 143097 | .unused, |
| | 143098 | }, |
| | 143099 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 143100 | .each = .{ .once = &.{ |
| | 143101 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 143102 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143103 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 143104 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 143105 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143106 | } }, |
| | 143107 | }, .{ |
| | 143108 | .required_features = .{ .avx, null, null, null }, |
| | 143109 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143110 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 143111 | .patterns = &.{ |
| | 143112 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143113 | }, |
| | 143114 | .extra_temps = .{ |
| | 143115 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143116 | .unused, |
| | 143117 | .unused, |
| | 143118 | .unused, |
| | 143119 | .unused, |
| | 143120 | .unused, |
| | 143121 | .unused, |
| | 143122 | .unused, |
| | 143123 | .unused, |
| | 143124 | .unused, |
| | 143125 | .unused, |
| | 143126 | }, |
| | 143127 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143128 | .each = .{ .once = &.{ |
| | 143129 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 143130 | .{ ._, .vp_b, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 143131 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| | 143132 | .{ ._, .vp_b, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 143133 | } }, |
| | 143134 | }, .{ |
| | 143135 | .required_features = .{ .sse2, null, null, null }, |
| | 143136 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143137 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 143138 | .patterns = &.{ |
| | 143139 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 143140 | }, |
| | 143141 | .extra_temps = .{ |
| | 143142 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143143 | .unused, |
| | 143144 | .unused, |
| | 143145 | .unused, |
| | 143146 | .unused, |
| | 143147 | .unused, |
| | 143148 | .unused, |
| | 143149 | .unused, |
| | 143150 | .unused, |
| | 143151 | .unused, |
| | 143152 | .unused, |
| | 143153 | }, |
| | 143154 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 143155 | .each = .{ .once = &.{ |
| | 143156 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 143157 | .{ ._, .p_b, .add, .tmp0x, .src0x, ._, ._ }, |
| | 143158 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| | 143159 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143160 | } }, |
| | 143161 | }, .{ |
| | 143162 | .required_features = .{ .avx, null, null, null }, |
| | 143163 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143164 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 143165 | .patterns = &.{ |
| | 143166 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143167 | }, |
| | 143168 | .extra_temps = .{ |
| | 143169 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143170 | .unused, |
| | 143171 | .unused, |
| | 143172 | .unused, |
| | 143173 | .unused, |
| | 143174 | .unused, |
| | 143175 | .unused, |
| | 143176 | .unused, |
| | 143177 | .unused, |
| | 143178 | .unused, |
| | 143179 | .unused, |
| | 143180 | }, |
| | 143181 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143182 | .each = .{ .once = &.{ |
| | 143183 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 143184 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 143185 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 143186 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143187 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 143188 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143189 | } }, |
| | 143190 | }, .{ |
| | 143191 | .required_features = .{ .sse2, null, null, null }, |
| | 143192 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143193 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 143194 | .patterns = &.{ |
| | 143195 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 143196 | }, |
| | 143197 | .extra_temps = .{ |
| | 143198 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143199 | .unused, |
| | 143200 | .unused, |
| | 143201 | .unused, |
| | 143202 | .unused, |
| | 143203 | .unused, |
| | 143204 | .unused, |
| | 143205 | .unused, |
| | 143206 | .unused, |
| | 143207 | .unused, |
| | 143208 | .unused, |
| | 143209 | }, |
| | 143210 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 143211 | .each = .{ .once = &.{ |
| | 143212 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 143213 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143214 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 143215 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143216 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 143217 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 143218 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143219 | } }, |
| | 143220 | }, .{ |
| | 143221 | .required_features = .{ .avx, null, null, null }, |
| | 143222 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143223 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 143224 | .patterns = &.{ |
| | 143225 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143226 | }, |
| | 143227 | .extra_temps = .{ |
| | 143228 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 143229 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143230 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143231 | .unused, |
| | 143232 | .unused, |
| | 143233 | .unused, |
| | 143234 | .unused, |
| | 143235 | .unused, |
| | 143236 | .unused, |
| | 143237 | .unused, |
| | 143238 | .unused, |
| | 143239 | }, |
| | 143240 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143241 | .each = .{ .once = &.{ |
| | 143242 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143243 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 143244 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143245 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143246 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143247 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143248 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 143249 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143250 | } }, |
| | 143251 | }, .{ |
| | 143252 | .required_features = .{ .sse2, null, null, null }, |
| | 143253 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143254 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 143255 | .patterns = &.{ |
| | 143256 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 143257 | }, |
| | 143258 | .extra_temps = .{ |
| | 143259 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 143260 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143261 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143262 | .unused, |
| | 143263 | .unused, |
| | 143264 | .unused, |
| | 143265 | .unused, |
| | 143266 | .unused, |
| | 143267 | .unused, |
| | 143268 | .unused, |
| | 143269 | .unused, |
| | 143270 | }, |
| | 143271 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 143272 | .each = .{ .once = &.{ |
| | 143273 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143274 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 143275 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143276 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143277 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143278 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143279 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 143280 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 143281 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143282 | } }, |
| | 143283 | }, .{ |
| | 143284 | .required_features = .{ .avx, null, null, null }, |
| | 143285 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143286 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 143287 | .patterns = &.{ |
| | 143288 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143289 | }, |
| | 143290 | .extra_temps = .{ |
| | 143291 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143292 | .unused, |
| | 143293 | .unused, |
| | 143294 | .unused, |
| | 143295 | .unused, |
| | 143296 | .unused, |
| | 143297 | .unused, |
| | 143298 | .unused, |
| | 143299 | .unused, |
| | 143300 | .unused, |
| | 143301 | .unused, |
| | 143302 | }, |
| | 143303 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143304 | .each = .{ .once = &.{ |
| | 143305 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 143306 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 143307 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 143308 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143309 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 143310 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143311 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 143312 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143313 | } }, |
| | 143314 | }, .{ |
| | 143315 | .required_features = .{ .sse2, null, null, null }, |
| | 143316 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143317 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 143318 | .patterns = &.{ |
| | 143319 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 143320 | }, |
| | 143321 | .extra_temps = .{ |
| | 143322 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143323 | .unused, |
| | 143324 | .unused, |
| | 143325 | .unused, |
| | 143326 | .unused, |
| | 143327 | .unused, |
| | 143328 | .unused, |
| | 143329 | .unused, |
| | 143330 | .unused, |
| | 143331 | .unused, |
| | 143332 | .unused, |
| | 143333 | }, |
| | 143334 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 143335 | .each = .{ .once = &.{ |
| | 143336 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 143337 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143338 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 143339 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143340 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 143341 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143342 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| | 143343 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 143344 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 143345 | } }, |
| | 143346 | }, .{ |
| | 143347 | .required_features = .{ .avx, null, null, null }, |
| | 143348 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143349 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 143350 | .patterns = &.{ |
| | 143351 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143352 | }, |
| | 143353 | .extra_temps = .{ |
| | 143354 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 143355 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143356 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143357 | .unused, |
| | 143358 | .unused, |
| | 143359 | .unused, |
| | 143360 | .unused, |
| | 143361 | .unused, |
| | 143362 | .unused, |
| | 143363 | .unused, |
| | 143364 | .unused, |
| | 143365 | }, |
| | 143366 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143367 | .each = .{ .once = &.{ |
| | 143368 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143369 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 143370 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143371 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143372 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143373 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143374 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143375 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143376 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 143377 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143378 | } }, |
| | 143379 | }, .{ |
| | 143380 | .required_features = .{ .sse2, null, null, null }, |
| | 143381 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143382 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 143383 | .patterns = &.{ |
| | 143384 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 143385 | }, |
| | 143386 | .extra_temps = .{ |
| | 143387 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 143388 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143389 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143390 | .unused, |
| | 143391 | .unused, |
| | 143392 | .unused, |
| | 143393 | .unused, |
| | 143394 | .unused, |
| | 143395 | .unused, |
| | 143396 | .unused, |
| | 143397 | .unused, |
| | 143398 | }, |
| | 143399 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 143400 | .each = .{ .once = &.{ |
| | 143401 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143402 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 143403 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143404 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143405 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143406 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143407 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143408 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143409 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 143410 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 143411 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143412 | } }, |
| | 143413 | }, .{ |
| | 143414 | .required_features = .{ .avx2, null, null, null }, |
| | 143415 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143416 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 143417 | .patterns = &.{ |
| | 143418 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143419 | }, |
| | 143420 | .extra_temps = .{ |
| | 143421 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143422 | .unused, |
| | 143423 | .unused, |
| | 143424 | .unused, |
| | 143425 | .unused, |
| | 143426 | .unused, |
| | 143427 | .unused, |
| | 143428 | .unused, |
| | 143429 | .unused, |
| | 143430 | .unused, |
| | 143431 | .unused, |
| | 143432 | }, |
| | 143433 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143434 | .each = .{ .once = &.{ |
| | 143435 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 143436 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 143437 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 143438 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143439 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 143440 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143441 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 143442 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143443 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 143444 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143445 | } }, |
| | 143446 | }, .{ |
| | 143447 | .required_features = .{ .avx, null, null, null }, |
| | 143448 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143449 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 143450 | .patterns = &.{ |
| | 143451 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143452 | }, |
| | 143453 | .extra_temps = .{ |
| | 143454 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143455 | .unused, |
| | 143456 | .unused, |
| | 143457 | .unused, |
| | 143458 | .unused, |
| | 143459 | .unused, |
| | 143460 | .unused, |
| | 143461 | .unused, |
| | 143462 | .unused, |
| | 143463 | .unused, |
| | 143464 | .unused, |
| | 143465 | }, |
| | 143466 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143467 | .each = .{ .once = &.{ |
| | 143468 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 143469 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 143470 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 143471 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143472 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 143473 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143474 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 143475 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143476 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 143477 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143478 | } }, |
| | 143479 | }, .{ |
| | 143480 | .required_features = .{ .avx2, null, null, null }, |
| | 143481 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143482 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 143483 | .patterns = &.{ |
| | 143484 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143485 | }, |
| | 143486 | .extra_temps = .{ |
| | 143487 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 143488 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143489 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143490 | .unused, |
| | 143491 | .unused, |
| | 143492 | .unused, |
| | 143493 | .unused, |
| | 143494 | .unused, |
| | 143495 | .unused, |
| | 143496 | .unused, |
| | 143497 | .unused, |
| | 143498 | }, |
| | 143499 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143500 | .each = .{ .once = &.{ |
| | 143501 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143502 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 143503 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 143504 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143505 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143506 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143507 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143508 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143509 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143510 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143511 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 143512 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143513 | } }, |
| | 143514 | }, .{ |
| | 143515 | .required_features = .{ .avx, null, null, null }, |
| | 143516 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143517 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 143518 | .patterns = &.{ |
| | 143519 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143520 | }, |
| | 143521 | .extra_temps = .{ |
| | 143522 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 143523 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143524 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143525 | .unused, |
| | 143526 | .unused, |
| | 143527 | .unused, |
| | 143528 | .unused, |
| | 143529 | .unused, |
| | 143530 | .unused, |
| | 143531 | .unused, |
| | 143532 | .unused, |
| | 143533 | }, |
| | 143534 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143535 | .each = .{ .once = &.{ |
| | 143536 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143537 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 143538 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 143539 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143540 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143541 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143542 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143543 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143544 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143545 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143546 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 143547 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143548 | } }, |
| | 143549 | }, .{ |
| | 143550 | .required_features = .{ .avx512f, null, null, null }, |
| | 143551 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143552 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 143553 | .patterns = &.{ |
| | 143554 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143555 | }, |
| | 143556 | .extra_temps = .{ |
| | 143557 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143558 | .unused, |
| | 143559 | .unused, |
| | 143560 | .unused, |
| | 143561 | .unused, |
| | 143562 | .unused, |
| | 143563 | .unused, |
| | 143564 | .unused, |
| | 143565 | .unused, |
| | 143566 | .unused, |
| | 143567 | .unused, |
| | 143568 | }, |
| | 143569 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 143570 | .each = .{ .once = &.{ |
| | 143571 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 143572 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 143573 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 143574 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143575 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 143576 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143577 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 143578 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143579 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 143580 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143581 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| | 143582 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 143583 | } }, |
| | 143584 | }, .{ |
| | 143585 | .required_features = .{ .avx512f, null, null, null }, |
| | 143586 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143587 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 143588 | .patterns = &.{ |
| | 143589 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143590 | }, |
| | 143591 | .extra_temps = .{ |
| | 143592 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 143593 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143594 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 143595 | .unused, |
| | 143596 | .unused, |
| | 143597 | .unused, |
| | 143598 | .unused, |
| | 143599 | .unused, |
| | 143600 | .unused, |
| | 143601 | .unused, |
| | 143602 | .unused, |
| | 143603 | }, |
| | 143604 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 143605 | .each = .{ .once = &.{ |
| | 143606 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143607 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 143608 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 143609 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 143610 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 143611 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 143612 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 143613 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143614 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143615 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143616 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143617 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143618 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143619 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143620 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 143621 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143622 | } }, |
| | 143623 | }, .{ |
| | 143624 | .required_features = .{ .avx2, null, null, null }, |
| | 143625 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143626 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 143627 | .patterns = &.{ |
| | 143628 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143629 | }, |
| | 143630 | .extra_temps = .{ |
| | 143631 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 143632 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143633 | .unused, |
| | 143634 | .unused, |
| | 143635 | .unused, |
| | 143636 | .unused, |
| | 143637 | .unused, |
| | 143638 | .unused, |
| | 143639 | .unused, |
| | 143640 | .unused, |
| | 143641 | .unused, |
| | 143642 | }, |
| | 143643 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 143644 | .clobbers = .{ .eflags = true }, |
| | 143645 | .each = .{ .once = &.{ |
| | 143646 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 143647 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 143648 | .{ .@"0:", .vp_b, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 143649 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 143650 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 143651 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 143652 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 143653 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 143654 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 143655 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 143656 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 143657 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 143658 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 143659 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 143660 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 143661 | } }, |
| | 143662 | }, .{ |
| | 143663 | .required_features = .{ .avx, null, null, null }, |
| | 143664 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143665 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 143666 | .patterns = &.{ |
| | 143667 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143668 | }, |
| | 143669 | .extra_temps = .{ |
| | 143670 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 143671 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143672 | .unused, |
| | 143673 | .unused, |
| | 143674 | .unused, |
| | 143675 | .unused, |
| | 143676 | .unused, |
| | 143677 | .unused, |
| | 143678 | .unused, |
| | 143679 | .unused, |
| | 143680 | .unused, |
| | 143681 | }, |
| | 143682 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 143683 | .clobbers = .{ .eflags = true }, |
| | 143684 | .each = .{ .once = &.{ |
| | 143685 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 143686 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 143687 | .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 143688 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 143689 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 143690 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 143691 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 143692 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 143693 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 143694 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 143695 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 143696 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 143697 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 143698 | } }, |
| | 143699 | }, .{ |
| | 143700 | .required_features = .{ .sse2, null, null, null }, |
| | 143701 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143702 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 143703 | .patterns = &.{ |
| | 143704 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143705 | }, |
| | 143706 | .extra_temps = .{ |
| | 143707 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 143708 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143709 | .unused, |
| | 143710 | .unused, |
| | 143711 | .unused, |
| | 143712 | .unused, |
| | 143713 | .unused, |
| | 143714 | .unused, |
| | 143715 | .unused, |
| | 143716 | .unused, |
| | 143717 | .unused, |
| | 143718 | }, |
| | 143719 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 143720 | .clobbers = .{ .eflags = true }, |
| | 143721 | .each = .{ .once = &.{ |
| | 143722 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 143723 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 143724 | .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 143725 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 143726 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 143727 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 143728 | .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 143729 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 143730 | .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 143731 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 143732 | .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 143733 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 143734 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 143735 | .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 143736 | } }, |
| | 143737 | }, .{ |
| | 143738 | .required_features = .{ .avx512f, null, null, null }, |
| | 143739 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143740 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 143741 | .patterns = &.{ |
| | 143742 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143743 | }, |
| | 143744 | .extra_temps = .{ |
| | 143745 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 143746 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143747 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 143748 | .unused, |
| | 143749 | .unused, |
| | 143750 | .unused, |
| | 143751 | .unused, |
| | 143752 | .unused, |
| | 143753 | .unused, |
| | 143754 | .unused, |
| | 143755 | .unused, |
| | 143756 | }, |
| | 143757 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 143758 | .clobbers = .{ .eflags = true }, |
| | 143759 | .each = .{ .once = &.{ |
| | 143760 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143761 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 143762 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 143763 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 143764 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 143765 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 143766 | .{ .@"0:", .vp_b, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 143767 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 143768 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 143769 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 143770 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 143771 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 143772 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143773 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143774 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143775 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143776 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143777 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143778 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143779 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 143780 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143781 | } }, |
| | 143782 | }, .{ |
| | 143783 | .required_features = .{ .avx2, null, null, null }, |
| | 143784 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143785 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 143786 | .patterns = &.{ |
| | 143787 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143788 | }, |
| | 143789 | .extra_temps = .{ |
| | 143790 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 143791 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143792 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143793 | .unused, |
| | 143794 | .unused, |
| | 143795 | .unused, |
| | 143796 | .unused, |
| | 143797 | .unused, |
| | 143798 | .unused, |
| | 143799 | .unused, |
| | 143800 | .unused, |
| | 143801 | }, |
| | 143802 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 143803 | .clobbers = .{ .eflags = true }, |
| | 143804 | .each = .{ .once = &.{ |
| | 143805 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143806 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 143807 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 143808 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 143809 | .{ .@"0:", .vp_b, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 143810 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 143811 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 143812 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 143813 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143814 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143815 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143816 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143817 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143818 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143819 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143820 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 143821 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143822 | } }, |
| | 143823 | }, .{ |
| | 143824 | .required_features = .{ .avx, null, null, null }, |
| | 143825 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143826 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 143827 | .patterns = &.{ |
| | 143828 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143829 | }, |
| | 143830 | .extra_temps = .{ |
| | 143831 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 143832 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143833 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143834 | .unused, |
| | 143835 | .unused, |
| | 143836 | .unused, |
| | 143837 | .unused, |
| | 143838 | .unused, |
| | 143839 | .unused, |
| | 143840 | .unused, |
| | 143841 | .unused, |
| | 143842 | }, |
| | 143843 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 143844 | .clobbers = .{ .eflags = true }, |
| | 143845 | .each = .{ .once = &.{ |
| | 143846 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143847 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 143848 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 143849 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 143850 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 143851 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143852 | .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 143853 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 143854 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 143855 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143856 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143857 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143858 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143859 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143860 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143861 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 143862 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 143863 | } }, |
| | 143864 | }, .{ |
| | 143865 | .required_features = .{ .sse2, null, null, null }, |
| | 143866 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143867 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 143868 | .patterns = &.{ |
| | 143869 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143870 | }, |
| | 143871 | .extra_temps = .{ |
| | 143872 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 143873 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 143874 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 143875 | .unused, |
| | 143876 | .unused, |
| | 143877 | .unused, |
| | 143878 | .unused, |
| | 143879 | .unused, |
| | 143880 | .unused, |
| | 143881 | .unused, |
| | 143882 | .unused, |
| | 143883 | }, |
| | 143884 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 143885 | .clobbers = .{ .eflags = true }, |
| | 143886 | .each = .{ .once = &.{ |
| | 143887 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 143888 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 143889 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 143890 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 143891 | .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 143892 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 143893 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 143894 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143895 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143896 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 143897 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143898 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 143899 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143900 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 143901 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 143902 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 143903 | } }, |
| | 143904 | }, .{ |
| | 143905 | .required_features = .{ .slow_incdec, null, null, null }, |
| | 143906 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143907 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 143908 | .patterns = &.{ |
| | 143909 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143910 | }, |
| | 143911 | .extra_temps = .{ |
| | 143912 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 143913 | .unused, |
| | 143914 | .unused, |
| | 143915 | .unused, |
| | 143916 | .unused, |
| | 143917 | .unused, |
| | 143918 | .unused, |
| | 143919 | .unused, |
| | 143920 | .unused, |
| | 143921 | .unused, |
| | 143922 | .unused, |
| | 143923 | }, |
| | 143924 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 143925 | .clobbers = .{ .eflags = true }, |
| | 143926 | .each = .{ .once = &.{ |
| | 143927 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 143928 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 143929 | .{ .@"0:", ._, .add, .dst0b, .memi(.src0b, .tmp0), ._, ._ }, |
| | 143930 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 143931 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 143932 | } }, |
| | 143933 | }, .{ |
| | 143934 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 143935 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 143936 | .patterns = &.{ |
| | 143937 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 143938 | }, |
| | 143939 | .extra_temps = .{ |
| | 143940 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 143941 | .unused, |
| | 143942 | .unused, |
| | 143943 | .unused, |
| | 143944 | .unused, |
| | 143945 | .unused, |
| | 143946 | .unused, |
| | 143947 | .unused, |
| | 143948 | .unused, |
| | 143949 | .unused, |
| | 143950 | .unused, |
| | 143951 | }, |
| | 143952 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 143953 | .clobbers = .{ .eflags = true }, |
| | 143954 | .each = .{ .once = &.{ |
| | 143955 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 143956 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 143957 | .{ .@"0:", ._, .add, .dst0b, .memi(.src0b, .tmp0), ._, ._ }, |
| | 143958 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 143959 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 143960 | } }, |
| | 143961 | }, .{ |
| | 143962 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 143963 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 143964 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 143965 | .patterns = &.{ |
| | 143966 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143967 | }, |
| | 143968 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143969 | .each = .{ .once = &.{ |
| | 143970 | .{ ._, .vph_w, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 143971 | } }, |
| | 143972 | }, .{ |
| | 143973 | .required_features = .{ .avx, null, null, null }, |
| | 143974 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 143975 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 143976 | .patterns = &.{ |
| | 143977 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 143978 | }, |
| | 143979 | .extra_temps = .{ |
| | 143980 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 143981 | .unused, |
| | 143982 | .unused, |
| | 143983 | .unused, |
| | 143984 | .unused, |
| | 143985 | .unused, |
| | 143986 | .unused, |
| | 143987 | .unused, |
| | 143988 | .unused, |
| | 143989 | .unused, |
| | 143990 | .unused, |
| | 143991 | }, |
| | 143992 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 143993 | .each = .{ .once = &.{ |
| | 143994 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 143995 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 143996 | } }, |
| | 143997 | }, .{ |
| | 143998 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 143999 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144000 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 144001 | .patterns = &.{ |
| | 144002 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144003 | }, |
| | 144004 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 144005 | .each = .{ .once = &.{ |
| | 144006 | .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ }, |
| | 144007 | } }, |
| | 144008 | }, .{ |
| | 144009 | .required_features = .{ .sse2, null, null, null }, |
| | 144010 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144011 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 144012 | .patterns = &.{ |
| | 144013 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144014 | }, |
| | 144015 | .extra_temps = .{ |
| | 144016 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144017 | .unused, |
| | 144018 | .unused, |
| | 144019 | .unused, |
| | 144020 | .unused, |
| | 144021 | .unused, |
| | 144022 | .unused, |
| | 144023 | .unused, |
| | 144024 | .unused, |
| | 144025 | .unused, |
| | 144026 | .unused, |
| | 144027 | }, |
| | 144028 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 144029 | .each = .{ .once = &.{ |
| | 144030 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 144031 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 144032 | } }, |
| | 144033 | }, .{ |
| | 144034 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 144035 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144036 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 144037 | .patterns = &.{ |
| | 144038 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144039 | }, |
| | 144040 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144041 | .each = .{ .once = &.{ |
| | 144042 | .{ ._, .vph_w, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 144043 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144044 | } }, |
| | 144045 | }, .{ |
| | 144046 | .required_features = .{ .avx, null, null, null }, |
| | 144047 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144048 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 144049 | .patterns = &.{ |
| | 144050 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144051 | }, |
| | 144052 | .extra_temps = .{ |
| | 144053 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144054 | .unused, |
| | 144055 | .unused, |
| | 144056 | .unused, |
| | 144057 | .unused, |
| | 144058 | .unused, |
| | 144059 | .unused, |
| | 144060 | .unused, |
| | 144061 | .unused, |
| | 144062 | .unused, |
| | 144063 | .unused, |
| | 144064 | }, |
| | 144065 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144066 | .each = .{ .once = &.{ |
| | 144067 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 144068 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 144069 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 144070 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144071 | } }, |
| | 144072 | }, .{ |
| | 144073 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 144074 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144075 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 144076 | .patterns = &.{ |
| | 144077 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144078 | }, |
| | 144079 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 144080 | .each = .{ .once = &.{ |
| | 144081 | .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ }, |
| | 144082 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 144083 | } }, |
| | 144084 | }, .{ |
| | 144085 | .required_features = .{ .sse2, null, null, null }, |
| | 144086 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144087 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 144088 | .patterns = &.{ |
| | 144089 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144090 | }, |
| | 144091 | .extra_temps = .{ |
| | 144092 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144093 | .unused, |
| | 144094 | .unused, |
| | 144095 | .unused, |
| | 144096 | .unused, |
| | 144097 | .unused, |
| | 144098 | .unused, |
| | 144099 | .unused, |
| | 144100 | .unused, |
| | 144101 | .unused, |
| | 144102 | .unused, |
| | 144103 | }, |
| | 144104 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 144105 | .each = .{ .once = &.{ |
| | 144106 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 144107 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 144108 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 144109 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 144110 | } }, |
| | 144111 | }, .{ |
| | 144112 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 144113 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144114 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 144115 | .patterns = &.{ |
| | 144116 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144117 | }, |
| | 144118 | .extra_temps = .{ |
| | 144119 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144120 | .unused, |
| | 144121 | .unused, |
| | 144122 | .unused, |
| | 144123 | .unused, |
| | 144124 | .unused, |
| | 144125 | .unused, |
| | 144126 | .unused, |
| | 144127 | .unused, |
| | 144128 | .unused, |
| | 144129 | .unused, |
| | 144130 | }, |
| | 144131 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144132 | .each = .{ .once = &.{ |
| | 144133 | .{ ._, .vph_w, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 144134 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 144135 | .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 144136 | } }, |
| | 144137 | }, .{ |
| | 144138 | .required_features = .{ .avx, null, null, null }, |
| | 144139 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144140 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 144141 | .patterns = &.{ |
| | 144142 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144143 | }, |
| | 144144 | .extra_temps = .{ |
| | 144145 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144146 | .unused, |
| | 144147 | .unused, |
| | 144148 | .unused, |
| | 144149 | .unused, |
| | 144150 | .unused, |
| | 144151 | .unused, |
| | 144152 | .unused, |
| | 144153 | .unused, |
| | 144154 | .unused, |
| | 144155 | .unused, |
| | 144156 | }, |
| | 144157 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144158 | .each = .{ .once = &.{ |
| | 144159 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 144160 | .{ ._, .vp_w, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 144161 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 144162 | .{ ._, .vp_w, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 144163 | } }, |
| | 144164 | }, .{ |
| | 144165 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 144166 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144167 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 144168 | .patterns = &.{ |
| | 144169 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144170 | }, |
| | 144171 | .extra_temps = .{ |
| | 144172 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144173 | .unused, |
| | 144174 | .unused, |
| | 144175 | .unused, |
| | 144176 | .unused, |
| | 144177 | .unused, |
| | 144178 | .unused, |
| | 144179 | .unused, |
| | 144180 | .unused, |
| | 144181 | .unused, |
| | 144182 | .unused, |
| | 144183 | }, |
| | 144184 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 144185 | .each = .{ .once = &.{ |
| | 144186 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 144187 | .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ }, |
| | 144188 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 144189 | } }, |
| | 144190 | }, .{ |
| | 144191 | .required_features = .{ .sse2, null, null, null }, |
| | 144192 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144193 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 144194 | .patterns = &.{ |
| | 144195 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144196 | }, |
| | 144197 | .extra_temps = .{ |
| | 144198 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144199 | .unused, |
| | 144200 | .unused, |
| | 144201 | .unused, |
| | 144202 | .unused, |
| | 144203 | .unused, |
| | 144204 | .unused, |
| | 144205 | .unused, |
| | 144206 | .unused, |
| | 144207 | .unused, |
| | 144208 | .unused, |
| | 144209 | }, |
| | 144210 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144211 | .each = .{ .once = &.{ |
| | 144212 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 144213 | .{ ._, .p_w, .add, .tmp0x, .src0x, ._, ._ }, |
| | 144214 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 144215 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 144216 | } }, |
| | 144217 | }, .{ |
| | 144218 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 144219 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144220 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144221 | .patterns = &.{ |
| | 144222 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144223 | }, |
| | 144224 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144225 | .each = .{ .once = &.{ |
| | 144226 | .{ ._, .vph_w, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 144227 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144228 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144229 | } }, |
| | 144230 | }, .{ |
| | 144231 | .required_features = .{ .avx, null, null, null }, |
| | 144232 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144233 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144234 | .patterns = &.{ |
| | 144235 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144236 | }, |
| | 144237 | .extra_temps = .{ |
| | 144238 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144239 | .unused, |
| | 144240 | .unused, |
| | 144241 | .unused, |
| | 144242 | .unused, |
| | 144243 | .unused, |
| | 144244 | .unused, |
| | 144245 | .unused, |
| | 144246 | .unused, |
| | 144247 | .unused, |
| | 144248 | .unused, |
| | 144249 | }, |
| | 144250 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144251 | .each = .{ .once = &.{ |
| | 144252 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 144253 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 144254 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 144255 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144256 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 144257 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144258 | } }, |
| | 144259 | }, .{ |
| | 144260 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 144261 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144262 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144263 | .patterns = &.{ |
| | 144264 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144265 | }, |
| | 144266 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 144267 | .each = .{ .once = &.{ |
| | 144268 | .{ ._, .ph_w, .add, .dst0x, .src0x, ._, ._ }, |
| | 144269 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 144270 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 144271 | } }, |
| | 144272 | }, .{ |
| | 144273 | .required_features = .{ .sse2, null, null, null }, |
| | 144274 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144275 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144276 | .patterns = &.{ |
| | 144277 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144278 | }, |
| | 144279 | .extra_temps = .{ |
| | 144280 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144281 | .unused, |
| | 144282 | .unused, |
| | 144283 | .unused, |
| | 144284 | .unused, |
| | 144285 | .unused, |
| | 144286 | .unused, |
| | 144287 | .unused, |
| | 144288 | .unused, |
| | 144289 | .unused, |
| | 144290 | .unused, |
| | 144291 | }, |
| | 144292 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 144293 | .each = .{ .once = &.{ |
| | 144294 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 144295 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 144296 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 144297 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 144298 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 144299 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 144300 | } }, |
| | 144301 | }, .{ |
| | 144302 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 144303 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144304 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144305 | .patterns = &.{ |
| | 144306 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144307 | }, |
| | 144308 | .extra_temps = .{ |
| | 144309 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 144310 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144311 | .unused, |
| | 144312 | .unused, |
| | 144313 | .unused, |
| | 144314 | .unused, |
| | 144315 | .unused, |
| | 144316 | .unused, |
| | 144317 | .unused, |
| | 144318 | .unused, |
| | 144319 | .unused, |
| | 144320 | }, |
| | 144321 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144322 | .each = .{ .once = &.{ |
| | 144323 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144324 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 144325 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144326 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144327 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144328 | } }, |
| | 144329 | }, .{ |
| | 144330 | .required_features = .{ .avx, null, null, null }, |
| | 144331 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144332 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144333 | .patterns = &.{ |
| | 144334 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144335 | }, |
| | 144336 | .extra_temps = .{ |
| | 144337 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 144338 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144339 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144340 | .unused, |
| | 144341 | .unused, |
| | 144342 | .unused, |
| | 144343 | .unused, |
| | 144344 | .unused, |
| | 144345 | .unused, |
| | 144346 | .unused, |
| | 144347 | .unused, |
| | 144348 | }, |
| | 144349 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144350 | .each = .{ .once = &.{ |
| | 144351 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144352 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 144353 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144354 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144355 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144356 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144357 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 144358 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144359 | } }, |
| | 144360 | }, .{ |
| | 144361 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 144362 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144363 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144364 | .patterns = &.{ |
| | 144365 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144366 | }, |
| | 144367 | .extra_temps = .{ |
| | 144368 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 144369 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144370 | .unused, |
| | 144371 | .unused, |
| | 144372 | .unused, |
| | 144373 | .unused, |
| | 144374 | .unused, |
| | 144375 | .unused, |
| | 144376 | .unused, |
| | 144377 | .unused, |
| | 144378 | .unused, |
| | 144379 | }, |
| | 144380 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 144381 | .each = .{ .once = &.{ |
| | 144382 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144383 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 144384 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 144385 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 144386 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 144387 | } }, |
| | 144388 | }, .{ |
| | 144389 | .required_features = .{ .sse2, null, null, null }, |
| | 144390 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144391 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144392 | .patterns = &.{ |
| | 144393 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 144394 | }, |
| | 144395 | .extra_temps = .{ |
| | 144396 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 144397 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144398 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144399 | .unused, |
| | 144400 | .unused, |
| | 144401 | .unused, |
| | 144402 | .unused, |
| | 144403 | .unused, |
| | 144404 | .unused, |
| | 144405 | .unused, |
| | 144406 | .unused, |
| | 144407 | }, |
| | 144408 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 144409 | .each = .{ .once = &.{ |
| | 144410 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144411 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 144412 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144413 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 144414 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144415 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 144416 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 144417 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 144418 | } }, |
| | 144419 | }, .{ |
| | 144420 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 144421 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144422 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144423 | .patterns = &.{ |
| | 144424 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144425 | }, |
| | 144426 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144427 | .each = .{ .once = &.{ |
| | 144428 | .{ ._, .v_i128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 144429 | .{ ._, .vp_w, .add, .dst0x, .src0x, .dst0x, ._ }, |
| | 144430 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144431 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144432 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144433 | } }, |
| | 144434 | }, .{ |
| | 144435 | .required_features = .{ .avx2, null, null, null }, |
| | 144436 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144437 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144438 | .patterns = &.{ |
| | 144439 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144440 | }, |
| | 144441 | .extra_temps = .{ |
| | 144442 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144443 | .unused, |
| | 144444 | .unused, |
| | 144445 | .unused, |
| | 144446 | .unused, |
| | 144447 | .unused, |
| | 144448 | .unused, |
| | 144449 | .unused, |
| | 144450 | .unused, |
| | 144451 | .unused, |
| | 144452 | .unused, |
| | 144453 | }, |
| | 144454 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144455 | .each = .{ .once = &.{ |
| | 144456 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 144457 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 144458 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 144459 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144460 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 144461 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144462 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 144463 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144464 | } }, |
| | 144465 | }, .{ |
| | 144466 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 144467 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144468 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144469 | .patterns = &.{ |
| | 144470 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144471 | }, |
| | 144472 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144473 | .each = .{ .once = &.{ |
| | 144474 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 144475 | .{ ._, .vp_w, .add, .dst0x, .src0x, .dst0x, ._ }, |
| | 144476 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144477 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144478 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144479 | } }, |
| | 144480 | }, .{ |
| | 144481 | .required_features = .{ .avx, null, null, null }, |
| | 144482 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144483 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144484 | .patterns = &.{ |
| | 144485 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144486 | }, |
| | 144487 | .extra_temps = .{ |
| | 144488 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144489 | .unused, |
| | 144490 | .unused, |
| | 144491 | .unused, |
| | 144492 | .unused, |
| | 144493 | .unused, |
| | 144494 | .unused, |
| | 144495 | .unused, |
| | 144496 | .unused, |
| | 144497 | .unused, |
| | 144498 | .unused, |
| | 144499 | }, |
| | 144500 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144501 | .each = .{ .once = &.{ |
| | 144502 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 144503 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 144504 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 144505 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144506 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 144507 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144508 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 144509 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144510 | } }, |
| | 144511 | }, .{ |
| | 144512 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 144513 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144514 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144515 | .patterns = &.{ |
| | 144516 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144517 | }, |
| | 144518 | .extra_temps = .{ |
| | 144519 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 144520 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144521 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144522 | .unused, |
| | 144523 | .unused, |
| | 144524 | .unused, |
| | 144525 | .unused, |
| | 144526 | .unused, |
| | 144527 | .unused, |
| | 144528 | .unused, |
| | 144529 | .unused, |
| | 144530 | }, |
| | 144531 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144532 | .each = .{ .once = &.{ |
| | 144533 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144534 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 144535 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 144536 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144537 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144538 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144539 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144540 | } }, |
| | 144541 | }, .{ |
| | 144542 | .required_features = .{ .avx2, null, null, null }, |
| | 144543 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144544 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144545 | .patterns = &.{ |
| | 144546 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144547 | }, |
| | 144548 | .extra_temps = .{ |
| | 144549 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 144550 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144551 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144552 | .unused, |
| | 144553 | .unused, |
| | 144554 | .unused, |
| | 144555 | .unused, |
| | 144556 | .unused, |
| | 144557 | .unused, |
| | 144558 | .unused, |
| | 144559 | .unused, |
| | 144560 | }, |
| | 144561 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144562 | .each = .{ .once = &.{ |
| | 144563 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144564 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 144565 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 144566 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144567 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144568 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144569 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144570 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144571 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 144572 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144573 | } }, |
| | 144574 | }, .{ |
| | 144575 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 144576 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144577 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144578 | .patterns = &.{ |
| | 144579 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144580 | }, |
| | 144581 | .extra_temps = .{ |
| | 144582 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 144583 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144584 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144585 | .unused, |
| | 144586 | .unused, |
| | 144587 | .unused, |
| | 144588 | .unused, |
| | 144589 | .unused, |
| | 144590 | .unused, |
| | 144591 | .unused, |
| | 144592 | .unused, |
| | 144593 | }, |
| | 144594 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144595 | .each = .{ .once = &.{ |
| | 144596 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144597 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 144598 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 144599 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144600 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144601 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144602 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144603 | } }, |
| | 144604 | }, .{ |
| | 144605 | .required_features = .{ .avx, null, null, null }, |
| | 144606 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144607 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144608 | .patterns = &.{ |
| | 144609 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 144610 | }, |
| | 144611 | .extra_temps = .{ |
| | 144612 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 144613 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144614 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144615 | .unused, |
| | 144616 | .unused, |
| | 144617 | .unused, |
| | 144618 | .unused, |
| | 144619 | .unused, |
| | 144620 | .unused, |
| | 144621 | .unused, |
| | 144622 | .unused, |
| | 144623 | }, |
| | 144624 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 144625 | .each = .{ .once = &.{ |
| | 144626 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144627 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 144628 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 144629 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144630 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144631 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144632 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144633 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144634 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 144635 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144636 | } }, |
| | 144637 | }, .{ |
| | 144638 | .required_features = .{ .avx512f, null, null, null }, |
| | 144639 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144640 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 144641 | .patterns = &.{ |
| | 144642 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144643 | }, |
| | 144644 | .extra_temps = .{ |
| | 144645 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144646 | .unused, |
| | 144647 | .unused, |
| | 144648 | .unused, |
| | 144649 | .unused, |
| | 144650 | .unused, |
| | 144651 | .unused, |
| | 144652 | .unused, |
| | 144653 | .unused, |
| | 144654 | .unused, |
| | 144655 | .unused, |
| | 144656 | }, |
| | 144657 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144658 | .each = .{ .once = &.{ |
| | 144659 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 144660 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 144661 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 144662 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144663 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 144664 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144665 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 144666 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144667 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 144668 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 144669 | } }, |
| | 144670 | }, .{ |
| | 144671 | .required_features = .{ .avx512f, null, null, null }, |
| | 144672 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144673 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 144674 | .patterns = &.{ |
| | 144675 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144676 | }, |
| | 144677 | .extra_temps = .{ |
| | 144678 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 144679 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144680 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 144681 | .unused, |
| | 144682 | .unused, |
| | 144683 | .unused, |
| | 144684 | .unused, |
| | 144685 | .unused, |
| | 144686 | .unused, |
| | 144687 | .unused, |
| | 144688 | .unused, |
| | 144689 | }, |
| | 144690 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144691 | .each = .{ .once = &.{ |
| | 144692 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144693 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 144694 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 144695 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 144696 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 144697 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 144698 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 144699 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144700 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144701 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144702 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144703 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144704 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 144705 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144706 | } }, |
| | 144707 | }, .{ |
| | 144708 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 144709 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144710 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144711 | .patterns = &.{ |
| | 144712 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144713 | }, |
| | 144714 | .extra_temps = .{ |
| | 144715 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 144716 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144717 | .unused, |
| | 144718 | .unused, |
| | 144719 | .unused, |
| | 144720 | .unused, |
| | 144721 | .unused, |
| | 144722 | .unused, |
| | 144723 | .unused, |
| | 144724 | .unused, |
| | 144725 | .unused, |
| | 144726 | }, |
| | 144727 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144728 | .clobbers = .{ .eflags = true }, |
| | 144729 | .each = .{ .once = &.{ |
| | 144730 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 144731 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 144732 | .{ .@"0:", .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 144733 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 144734 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 144735 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 144736 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 144737 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144738 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144739 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144740 | } }, |
| | 144741 | }, .{ |
| | 144742 | .required_features = .{ .avx2, null, null, null }, |
| | 144743 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144744 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144745 | .patterns = &.{ |
| | 144746 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144747 | }, |
| | 144748 | .extra_temps = .{ |
| | 144749 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 144750 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144751 | .unused, |
| | 144752 | .unused, |
| | 144753 | .unused, |
| | 144754 | .unused, |
| | 144755 | .unused, |
| | 144756 | .unused, |
| | 144757 | .unused, |
| | 144758 | .unused, |
| | 144759 | .unused, |
| | 144760 | }, |
| | 144761 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144762 | .clobbers = .{ .eflags = true }, |
| | 144763 | .each = .{ .once = &.{ |
| | 144764 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 144765 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 144766 | .{ .@"0:", .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 144767 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 144768 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 144769 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 144770 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 144771 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 144772 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 144773 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 144774 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 144775 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 144776 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 144777 | } }, |
| | 144778 | }, .{ |
| | 144779 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 144780 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144781 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144782 | .patterns = &.{ |
| | 144783 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144784 | }, |
| | 144785 | .extra_temps = .{ |
| | 144786 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 144787 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144788 | .unused, |
| | 144789 | .unused, |
| | 144790 | .unused, |
| | 144791 | .unused, |
| | 144792 | .unused, |
| | 144793 | .unused, |
| | 144794 | .unused, |
| | 144795 | .unused, |
| | 144796 | .unused, |
| | 144797 | }, |
| | 144798 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144799 | .clobbers = .{ .eflags = true }, |
| | 144800 | .each = .{ .once = &.{ |
| | 144801 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 144802 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 144803 | .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 144804 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 144805 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 144806 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 144807 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144808 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144809 | } }, |
| | 144810 | }, .{ |
| | 144811 | .required_features = .{ .avx, null, null, null }, |
| | 144812 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144813 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144814 | .patterns = &.{ |
| | 144815 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144816 | }, |
| | 144817 | .extra_temps = .{ |
| | 144818 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 144819 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144820 | .unused, |
| | 144821 | .unused, |
| | 144822 | .unused, |
| | 144823 | .unused, |
| | 144824 | .unused, |
| | 144825 | .unused, |
| | 144826 | .unused, |
| | 144827 | .unused, |
| | 144828 | .unused, |
| | 144829 | }, |
| | 144830 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144831 | .clobbers = .{ .eflags = true }, |
| | 144832 | .each = .{ .once = &.{ |
| | 144833 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 144834 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 144835 | .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 144836 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 144837 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 144838 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 144839 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 144840 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 144841 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 144842 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 144843 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 144844 | } }, |
| | 144845 | }, .{ |
| | 144846 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 144847 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144848 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144849 | .patterns = &.{ |
| | 144850 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144851 | }, |
| | 144852 | .extra_temps = .{ |
| | 144853 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 144854 | .unused, |
| | 144855 | .unused, |
| | 144856 | .unused, |
| | 144857 | .unused, |
| | 144858 | .unused, |
| | 144859 | .unused, |
| | 144860 | .unused, |
| | 144861 | .unused, |
| | 144862 | .unused, |
| | 144863 | .unused, |
| | 144864 | }, |
| | 144865 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144866 | .clobbers = .{ .eflags = true }, |
| | 144867 | .each = .{ .once = &.{ |
| | 144868 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 144869 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 144870 | .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 144871 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 144872 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 144873 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 144874 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 144875 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 144876 | } }, |
| | 144877 | }, .{ |
| | 144878 | .required_features = .{ .sse2, null, null, null }, |
| | 144879 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144880 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 144881 | .patterns = &.{ |
| | 144882 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144883 | }, |
| | 144884 | .extra_temps = .{ |
| | 144885 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 144886 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144887 | .unused, |
| | 144888 | .unused, |
| | 144889 | .unused, |
| | 144890 | .unused, |
| | 144891 | .unused, |
| | 144892 | .unused, |
| | 144893 | .unused, |
| | 144894 | .unused, |
| | 144895 | .unused, |
| | 144896 | }, |
| | 144897 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144898 | .clobbers = .{ .eflags = true }, |
| | 144899 | .each = .{ .once = &.{ |
| | 144900 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 144901 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 144902 | .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 144903 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 144904 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 144905 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 144906 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 144907 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 144908 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 144909 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 144910 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 144911 | } }, |
| | 144912 | }, .{ |
| | 144913 | .required_features = .{ .avx512f, null, null, null }, |
| | 144914 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144915 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 144916 | .patterns = &.{ |
| | 144917 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144918 | }, |
| | 144919 | .extra_temps = .{ |
| | 144920 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 144921 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144922 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 144923 | .unused, |
| | 144924 | .unused, |
| | 144925 | .unused, |
| | 144926 | .unused, |
| | 144927 | .unused, |
| | 144928 | .unused, |
| | 144929 | .unused, |
| | 144930 | .unused, |
| | 144931 | }, |
| | 144932 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144933 | .clobbers = .{ .eflags = true }, |
| | 144934 | .each = .{ .once = &.{ |
| | 144935 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144936 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 144937 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 144938 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 144939 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 144940 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 144941 | .{ .@"0:", .vp_w, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 144942 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 144943 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 144944 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 144945 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 144946 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 144947 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144948 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144949 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144950 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 144951 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144952 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 144953 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144954 | } }, |
| | 144955 | }, .{ |
| | 144956 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 144957 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144958 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144959 | .patterns = &.{ |
| | 144960 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144961 | }, |
| | 144962 | .extra_temps = .{ |
| | 144963 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 144964 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 144965 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 144966 | .unused, |
| | 144967 | .unused, |
| | 144968 | .unused, |
| | 144969 | .unused, |
| | 144970 | .unused, |
| | 144971 | .unused, |
| | 144972 | .unused, |
| | 144973 | .unused, |
| | 144974 | }, |
| | 144975 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 144976 | .clobbers = .{ .eflags = true }, |
| | 144977 | .each = .{ .once = &.{ |
| | 144978 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 144979 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 144980 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 144981 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 144982 | .{ .@"0:", .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 144983 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 144984 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 144985 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 144986 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 144987 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144988 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144989 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 144990 | } }, |
| | 144991 | }, .{ |
| | 144992 | .required_features = .{ .avx2, null, null, null }, |
| | 144993 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 144994 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 144995 | .patterns = &.{ |
| | 144996 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 144997 | }, |
| | 144998 | .extra_temps = .{ |
| | 144999 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145000 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145001 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 145002 | .unused, |
| | 145003 | .unused, |
| | 145004 | .unused, |
| | 145005 | .unused, |
| | 145006 | .unused, |
| | 145007 | .unused, |
| | 145008 | .unused, |
| | 145009 | .unused, |
| | 145010 | }, |
| | 145011 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145012 | .clobbers = .{ .eflags = true }, |
| | 145013 | .each = .{ .once = &.{ |
| | 145014 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145015 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 145016 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 145017 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 145018 | .{ .@"0:", .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 145019 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 145020 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145021 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 145022 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145023 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145024 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145025 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145026 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145027 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 145028 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145029 | } }, |
| | 145030 | }, .{ |
| | 145031 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 145032 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 145033 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 145034 | .patterns = &.{ |
| | 145035 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145036 | }, |
| | 145037 | .extra_temps = .{ |
| | 145038 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145039 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145040 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 145041 | .unused, |
| | 145042 | .unused, |
| | 145043 | .unused, |
| | 145044 | .unused, |
| | 145045 | .unused, |
| | 145046 | .unused, |
| | 145047 | .unused, |
| | 145048 | .unused, |
| | 145049 | }, |
| | 145050 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145051 | .clobbers = .{ .eflags = true }, |
| | 145052 | .each = .{ .once = &.{ |
| | 145053 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145054 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 145055 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 145056 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 145057 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 145058 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145059 | .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 145060 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 145061 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145062 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145063 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145064 | .{ ._, .vph_w, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145065 | } }, |
| | 145066 | }, .{ |
| | 145067 | .required_features = .{ .avx, null, null, null }, |
| | 145068 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 145069 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 145070 | .patterns = &.{ |
| | 145071 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145072 | }, |
| | 145073 | .extra_temps = .{ |
| | 145074 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145075 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145076 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 145077 | .unused, |
| | 145078 | .unused, |
| | 145079 | .unused, |
| | 145080 | .unused, |
| | 145081 | .unused, |
| | 145082 | .unused, |
| | 145083 | .unused, |
| | 145084 | .unused, |
| | 145085 | }, |
| | 145086 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145087 | .clobbers = .{ .eflags = true }, |
| | 145088 | .each = .{ .once = &.{ |
| | 145089 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145090 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 145091 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 145092 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 145093 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 145094 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145095 | .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 145096 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 145097 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145098 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145099 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145100 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145101 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145102 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 145103 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145104 | } }, |
| | 145105 | }, .{ |
| | 145106 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 145107 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 145108 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 145109 | .patterns = &.{ |
| | 145110 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145111 | }, |
| | 145112 | .extra_temps = .{ |
| | 145113 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145114 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145115 | .unused, |
| | 145116 | .unused, |
| | 145117 | .unused, |
| | 145118 | .unused, |
| | 145119 | .unused, |
| | 145120 | .unused, |
| | 145121 | .unused, |
| | 145122 | .unused, |
| | 145123 | .unused, |
| | 145124 | }, |
| | 145125 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145126 | .clobbers = .{ .eflags = true }, |
| | 145127 | .each = .{ .once = &.{ |
| | 145128 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145129 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 145130 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 145131 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 145132 | .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 145133 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 145134 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145135 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 145136 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 145137 | .{ ._, .ph_w, .add, .dst0x, .dst0x, ._, ._ }, |
| | 145138 | } }, |
| | 145139 | }, .{ |
| | 145140 | .required_features = .{ .sse2, null, null, null }, |
| | 145141 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 145142 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 145143 | .patterns = &.{ |
| | 145144 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145145 | }, |
| | 145146 | .extra_temps = .{ |
| | 145147 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145148 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145149 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 145150 | .unused, |
| | 145151 | .unused, |
| | 145152 | .unused, |
| | 145153 | .unused, |
| | 145154 | .unused, |
| | 145155 | .unused, |
| | 145156 | .unused, |
| | 145157 | .unused, |
| | 145158 | }, |
| | 145159 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145160 | .clobbers = .{ .eflags = true }, |
| | 145161 | .each = .{ .once = &.{ |
| | 145162 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145163 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 145164 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 145165 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 145166 | .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 145167 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 145168 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145169 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145170 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 145171 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145172 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 145173 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 145174 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 145175 | } }, |
| | 145176 | }, .{ |
| | 145177 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 145178 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 145179 | .patterns = &.{ |
| | 145180 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145181 | }, |
| | 145182 | .extra_temps = .{ |
| | 145183 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145184 | .unused, |
| | 145185 | .unused, |
| | 145186 | .unused, |
| | 145187 | .unused, |
| | 145188 | .unused, |
| | 145189 | .unused, |
| | 145190 | .unused, |
| | 145191 | .unused, |
| | 145192 | .unused, |
| | 145193 | .unused, |
| | 145194 | }, |
| | 145195 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 145196 | .clobbers = .{ .eflags = true }, |
| | 145197 | .each = .{ .once = &.{ |
| | 145198 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 145199 | .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 145200 | .{ .@"0:", ._, .add, .dst0w, .memi(.src0w, .tmp0), ._, ._ }, |
| | 145201 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 145202 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145203 | } }, |
| | 145204 | }, .{ |
| | 145205 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 145206 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145207 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 145208 | .patterns = &.{ |
| | 145209 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145210 | }, |
| | 145211 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145212 | .each = .{ .once = &.{ |
| | 145213 | .{ ._, .vph_d, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 145214 | } }, |
| | 145215 | }, .{ |
| | 145216 | .required_features = .{ .avx, null, null, null }, |
| | 145217 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145218 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 145219 | .patterns = &.{ |
| | 145220 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145221 | }, |
| | 145222 | .extra_temps = .{ |
| | 145223 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145224 | .unused, |
| | 145225 | .unused, |
| | 145226 | .unused, |
| | 145227 | .unused, |
| | 145228 | .unused, |
| | 145229 | .unused, |
| | 145230 | .unused, |
| | 145231 | .unused, |
| | 145232 | .unused, |
| | 145233 | .unused, |
| | 145234 | }, |
| | 145235 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145236 | .each = .{ .once = &.{ |
| | 145237 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 145238 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 145239 | } }, |
| | 145240 | }, .{ |
| | 145241 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 145242 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145243 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 145244 | .patterns = &.{ |
| | 145245 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 145246 | }, |
| | 145247 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 145248 | .each = .{ .once = &.{ |
| | 145249 | .{ ._, .ph_d, .add, .dst0x, .src0x, ._, ._ }, |
| | 145250 | } }, |
| | 145251 | }, .{ |
| | 145252 | .required_features = .{ .sse2, null, null, null }, |
| | 145253 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145254 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 145255 | .patterns = &.{ |
| | 145256 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 145257 | }, |
| | 145258 | .extra_temps = .{ |
| | 145259 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145260 | .unused, |
| | 145261 | .unused, |
| | 145262 | .unused, |
| | 145263 | .unused, |
| | 145264 | .unused, |
| | 145265 | .unused, |
| | 145266 | .unused, |
| | 145267 | .unused, |
| | 145268 | .unused, |
| | 145269 | .unused, |
| | 145270 | }, |
| | 145271 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 145272 | .each = .{ .once = &.{ |
| | 145273 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 145274 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 145275 | } }, |
| | 145276 | }, .{ |
| | 145277 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 145278 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145279 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145280 | .patterns = &.{ |
| | 145281 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145282 | }, |
| | 145283 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145284 | .each = .{ .once = &.{ |
| | 145285 | .{ ._, .vph_d, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 145286 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145287 | } }, |
| | 145288 | }, .{ |
| | 145289 | .required_features = .{ .avx, null, null, null }, |
| | 145290 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145291 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145292 | .patterns = &.{ |
| | 145293 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145294 | }, |
| | 145295 | .extra_temps = .{ |
| | 145296 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145297 | .unused, |
| | 145298 | .unused, |
| | 145299 | .unused, |
| | 145300 | .unused, |
| | 145301 | .unused, |
| | 145302 | .unused, |
| | 145303 | .unused, |
| | 145304 | .unused, |
| | 145305 | .unused, |
| | 145306 | .unused, |
| | 145307 | }, |
| | 145308 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145309 | .each = .{ .once = &.{ |
| | 145310 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 145311 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 145312 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 145313 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 145314 | } }, |
| | 145315 | }, .{ |
| | 145316 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 145317 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145318 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145319 | .patterns = &.{ |
| | 145320 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 145321 | }, |
| | 145322 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 145323 | .each = .{ .once = &.{ |
| | 145324 | .{ ._, .ph_d, .add, .dst0x, .src0x, ._, ._ }, |
| | 145325 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 145326 | } }, |
| | 145327 | }, .{ |
| | 145328 | .required_features = .{ .sse2, null, null, null }, |
| | 145329 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145330 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145331 | .patterns = &.{ |
| | 145332 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 145333 | }, |
| | 145334 | .extra_temps = .{ |
| | 145335 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145336 | .unused, |
| | 145337 | .unused, |
| | 145338 | .unused, |
| | 145339 | .unused, |
| | 145340 | .unused, |
| | 145341 | .unused, |
| | 145342 | .unused, |
| | 145343 | .unused, |
| | 145344 | .unused, |
| | 145345 | .unused, |
| | 145346 | }, |
| | 145347 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 145348 | .each = .{ .once = &.{ |
| | 145349 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 145350 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 145351 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 145352 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 145353 | } }, |
| | 145354 | }, .{ |
| | 145355 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 145356 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145357 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145358 | .patterns = &.{ |
| | 145359 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145360 | }, |
| | 145361 | .extra_temps = .{ |
| | 145362 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145363 | .unused, |
| | 145364 | .unused, |
| | 145365 | .unused, |
| | 145366 | .unused, |
| | 145367 | .unused, |
| | 145368 | .unused, |
| | 145369 | .unused, |
| | 145370 | .unused, |
| | 145371 | .unused, |
| | 145372 | .unused, |
| | 145373 | }, |
| | 145374 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145375 | .each = .{ .once = &.{ |
| | 145376 | .{ ._, .vph_d, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 145377 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 145378 | .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 145379 | } }, |
| | 145380 | }, .{ |
| | 145381 | .required_features = .{ .avx, null, null, null }, |
| | 145382 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145383 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145384 | .patterns = &.{ |
| | 145385 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145386 | }, |
| | 145387 | .extra_temps = .{ |
| | 145388 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145389 | .unused, |
| | 145390 | .unused, |
| | 145391 | .unused, |
| | 145392 | .unused, |
| | 145393 | .unused, |
| | 145394 | .unused, |
| | 145395 | .unused, |
| | 145396 | .unused, |
| | 145397 | .unused, |
| | 145398 | .unused, |
| | 145399 | }, |
| | 145400 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145401 | .each = .{ .once = &.{ |
| | 145402 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 145403 | .{ ._, .vp_d, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 145404 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 145405 | .{ ._, .vp_d, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 145406 | } }, |
| | 145407 | }, .{ |
| | 145408 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 145409 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145410 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145411 | .patterns = &.{ |
| | 145412 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 145413 | }, |
| | 145414 | .extra_temps = .{ |
| | 145415 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145416 | .unused, |
| | 145417 | .unused, |
| | 145418 | .unused, |
| | 145419 | .unused, |
| | 145420 | .unused, |
| | 145421 | .unused, |
| | 145422 | .unused, |
| | 145423 | .unused, |
| | 145424 | .unused, |
| | 145425 | .unused, |
| | 145426 | }, |
| | 145427 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 145428 | .each = .{ .once = &.{ |
| | 145429 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 145430 | .{ ._, .ph_d, .add, .dst0x, .src0x, ._, ._ }, |
| | 145431 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 145432 | } }, |
| | 145433 | }, .{ |
| | 145434 | .required_features = .{ .sse2, null, null, null }, |
| | 145435 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145436 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145437 | .patterns = &.{ |
| | 145438 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145439 | }, |
| | 145440 | .extra_temps = .{ |
| | 145441 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145442 | .unused, |
| | 145443 | .unused, |
| | 145444 | .unused, |
| | 145445 | .unused, |
| | 145446 | .unused, |
| | 145447 | .unused, |
| | 145448 | .unused, |
| | 145449 | .unused, |
| | 145450 | .unused, |
| | 145451 | .unused, |
| | 145452 | }, |
| | 145453 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145454 | .each = .{ .once = &.{ |
| | 145455 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 145456 | .{ ._, .p_d, .add, .tmp0x, .src0x, ._, ._ }, |
| | 145457 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 145458 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 145459 | } }, |
| | 145460 | }, .{ |
| | 145461 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 145462 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145463 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145464 | .patterns = &.{ |
| | 145465 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145466 | }, |
| | 145467 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145468 | .each = .{ .once = &.{ |
| | 145469 | .{ ._, .v_i128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 145470 | .{ ._, .vp_d, .add, .dst0x, .src0x, .dst0x, ._ }, |
| | 145471 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145472 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145473 | } }, |
| | 145474 | }, .{ |
| | 145475 | .required_features = .{ .avx2, null, null, null }, |
| | 145476 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145477 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145478 | .patterns = &.{ |
| | 145479 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145480 | }, |
| | 145481 | .extra_temps = .{ |
| | 145482 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145483 | .unused, |
| | 145484 | .unused, |
| | 145485 | .unused, |
| | 145486 | .unused, |
| | 145487 | .unused, |
| | 145488 | .unused, |
| | 145489 | .unused, |
| | 145490 | .unused, |
| | 145491 | .unused, |
| | 145492 | .unused, |
| | 145493 | }, |
| | 145494 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145495 | .each = .{ .once = &.{ |
| | 145496 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 145497 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 145498 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 145499 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 145500 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 145501 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 145502 | } }, |
| | 145503 | }, .{ |
| | 145504 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 145505 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145506 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145507 | .patterns = &.{ |
| | 145508 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145509 | }, |
| | 145510 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145511 | .each = .{ .once = &.{ |
| | 145512 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 145513 | .{ ._, .vp_d, .add, .dst0x, .src0x, .dst0x, ._ }, |
| | 145514 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145515 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145516 | } }, |
| | 145517 | }, .{ |
| | 145518 | .required_features = .{ .avx, null, null, null }, |
| | 145519 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145520 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145521 | .patterns = &.{ |
| | 145522 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145523 | }, |
| | 145524 | .extra_temps = .{ |
| | 145525 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145526 | .unused, |
| | 145527 | .unused, |
| | 145528 | .unused, |
| | 145529 | .unused, |
| | 145530 | .unused, |
| | 145531 | .unused, |
| | 145532 | .unused, |
| | 145533 | .unused, |
| | 145534 | .unused, |
| | 145535 | .unused, |
| | 145536 | }, |
| | 145537 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145538 | .each = .{ .once = &.{ |
| | 145539 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 145540 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 145541 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 145542 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 145543 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 145544 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 145545 | } }, |
| | 145546 | }, .{ |
| | 145547 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 145548 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145549 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145550 | .patterns = &.{ |
| | 145551 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145552 | }, |
| | 145553 | .extra_temps = .{ |
| | 145554 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 145555 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145556 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 145557 | .unused, |
| | 145558 | .unused, |
| | 145559 | .unused, |
| | 145560 | .unused, |
| | 145561 | .unused, |
| | 145562 | .unused, |
| | 145563 | .unused, |
| | 145564 | .unused, |
| | 145565 | }, |
| | 145566 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145567 | .each = .{ .once = &.{ |
| | 145568 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145569 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 145570 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 145571 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145572 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145573 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145574 | } }, |
| | 145575 | }, .{ |
| | 145576 | .required_features = .{ .avx2, null, null, null }, |
| | 145577 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145578 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145579 | .patterns = &.{ |
| | 145580 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145581 | }, |
| | 145582 | .extra_temps = .{ |
| | 145583 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 145584 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145585 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145586 | .unused, |
| | 145587 | .unused, |
| | 145588 | .unused, |
| | 145589 | .unused, |
| | 145590 | .unused, |
| | 145591 | .unused, |
| | 145592 | .unused, |
| | 145593 | .unused, |
| | 145594 | }, |
| | 145595 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145596 | .each = .{ .once = &.{ |
| | 145597 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145598 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 145599 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 145600 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145601 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145602 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145603 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145604 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145605 | } }, |
| | 145606 | }, .{ |
| | 145607 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 145608 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145609 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145610 | .patterns = &.{ |
| | 145611 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145612 | }, |
| | 145613 | .extra_temps = .{ |
| | 145614 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 145615 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145616 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145617 | .unused, |
| | 145618 | .unused, |
| | 145619 | .unused, |
| | 145620 | .unused, |
| | 145621 | .unused, |
| | 145622 | .unused, |
| | 145623 | .unused, |
| | 145624 | .unused, |
| | 145625 | }, |
| | 145626 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145627 | .each = .{ .once = &.{ |
| | 145628 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145629 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 145630 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 145631 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145632 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145633 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145634 | } }, |
| | 145635 | }, .{ |
| | 145636 | .required_features = .{ .avx, null, null, null }, |
| | 145637 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145638 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145639 | .patterns = &.{ |
| | 145640 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 145641 | }, |
| | 145642 | .extra_temps = .{ |
| | 145643 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 145644 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145645 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145646 | .unused, |
| | 145647 | .unused, |
| | 145648 | .unused, |
| | 145649 | .unused, |
| | 145650 | .unused, |
| | 145651 | .unused, |
| | 145652 | .unused, |
| | 145653 | .unused, |
| | 145654 | }, |
| | 145655 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 145656 | .each = .{ .once = &.{ |
| | 145657 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145658 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 145659 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 145660 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145661 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145662 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145663 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145664 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145665 | } }, |
| | 145666 | }, .{ |
| | 145667 | .required_features = .{ .avx512f, null, null, null }, |
| | 145668 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145669 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 145670 | .patterns = &.{ |
| | 145671 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145672 | }, |
| | 145673 | .extra_temps = .{ |
| | 145674 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145675 | .unused, |
| | 145676 | .unused, |
| | 145677 | .unused, |
| | 145678 | .unused, |
| | 145679 | .unused, |
| | 145680 | .unused, |
| | 145681 | .unused, |
| | 145682 | .unused, |
| | 145683 | .unused, |
| | 145684 | .unused, |
| | 145685 | }, |
| | 145686 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145687 | .clobbers = .{ .eflags = true }, |
| | 145688 | .each = .{ .once = &.{ |
| | 145689 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 145690 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 145691 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 145692 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 145693 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 145694 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 145695 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 145696 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 145697 | } }, |
| | 145698 | }, .{ |
| | 145699 | .required_features = .{ .avx512f, null, null, null }, |
| | 145700 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145701 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 145702 | .patterns = &.{ |
| | 145703 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145704 | }, |
| | 145705 | .extra_temps = .{ |
| | 145706 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 145707 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145708 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 145709 | .unused, |
| | 145710 | .unused, |
| | 145711 | .unused, |
| | 145712 | .unused, |
| | 145713 | .unused, |
| | 145714 | .unused, |
| | 145715 | .unused, |
| | 145716 | .unused, |
| | 145717 | }, |
| | 145718 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145719 | .clobbers = .{ .eflags = true }, |
| | 145720 | .each = .{ .once = &.{ |
| | 145721 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145722 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 145723 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 145724 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 145725 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 145726 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 145727 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 145728 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145729 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145730 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145731 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145732 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145733 | } }, |
| | 145734 | }, .{ |
| | 145735 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 145736 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145737 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145738 | .patterns = &.{ |
| | 145739 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145740 | }, |
| | 145741 | .extra_temps = .{ |
| | 145742 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145743 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145744 | .unused, |
| | 145745 | .unused, |
| | 145746 | .unused, |
| | 145747 | .unused, |
| | 145748 | .unused, |
| | 145749 | .unused, |
| | 145750 | .unused, |
| | 145751 | .unused, |
| | 145752 | .unused, |
| | 145753 | }, |
| | 145754 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145755 | .clobbers = .{ .eflags = true }, |
| | 145756 | .each = .{ .once = &.{ |
| | 145757 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 145758 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 145759 | .{ .@"0:", .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 145760 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 145761 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145762 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 145763 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 145764 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145765 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145766 | } }, |
| | 145767 | }, .{ |
| | 145768 | .required_features = .{ .avx2, null, null, null }, |
| | 145769 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145770 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145771 | .patterns = &.{ |
| | 145772 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145773 | }, |
| | 145774 | .extra_temps = .{ |
| | 145775 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145776 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145777 | .unused, |
| | 145778 | .unused, |
| | 145779 | .unused, |
| | 145780 | .unused, |
| | 145781 | .unused, |
| | 145782 | .unused, |
| | 145783 | .unused, |
| | 145784 | .unused, |
| | 145785 | .unused, |
| | 145786 | }, |
| | 145787 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145788 | .clobbers = .{ .eflags = true }, |
| | 145789 | .each = .{ .once = &.{ |
| | 145790 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 145791 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 145792 | .{ .@"0:", .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 145793 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 145794 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145795 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 145796 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 145797 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 145798 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 145799 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 145800 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 145801 | } }, |
| | 145802 | }, .{ |
| | 145803 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 145804 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145805 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145806 | .patterns = &.{ |
| | 145807 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145808 | }, |
| | 145809 | .extra_temps = .{ |
| | 145810 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145811 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145812 | .unused, |
| | 145813 | .unused, |
| | 145814 | .unused, |
| | 145815 | .unused, |
| | 145816 | .unused, |
| | 145817 | .unused, |
| | 145818 | .unused, |
| | 145819 | .unused, |
| | 145820 | .unused, |
| | 145821 | }, |
| | 145822 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145823 | .clobbers = .{ .eflags = true }, |
| | 145824 | .each = .{ .once = &.{ |
| | 145825 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 145826 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 145827 | .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 145828 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 145829 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145830 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 145831 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 145832 | } }, |
| | 145833 | }, .{ |
| | 145834 | .required_features = .{ .avx, null, null, null }, |
| | 145835 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145836 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145837 | .patterns = &.{ |
| | 145838 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145839 | }, |
| | 145840 | .extra_temps = .{ |
| | 145841 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145842 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145843 | .unused, |
| | 145844 | .unused, |
| | 145845 | .unused, |
| | 145846 | .unused, |
| | 145847 | .unused, |
| | 145848 | .unused, |
| | 145849 | .unused, |
| | 145850 | .unused, |
| | 145851 | .unused, |
| | 145852 | }, |
| | 145853 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145854 | .clobbers = .{ .eflags = true }, |
| | 145855 | .each = .{ .once = &.{ |
| | 145856 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 145857 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 145858 | .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 145859 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 145860 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145861 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 145862 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 145863 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 145864 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 145865 | } }, |
| | 145866 | }, .{ |
| | 145867 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 145868 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145869 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145870 | .patterns = &.{ |
| | 145871 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145872 | }, |
| | 145873 | .extra_temps = .{ |
| | 145874 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145875 | .unused, |
| | 145876 | .unused, |
| | 145877 | .unused, |
| | 145878 | .unused, |
| | 145879 | .unused, |
| | 145880 | .unused, |
| | 145881 | .unused, |
| | 145882 | .unused, |
| | 145883 | .unused, |
| | 145884 | .unused, |
| | 145885 | }, |
| | 145886 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145887 | .clobbers = .{ .eflags = true }, |
| | 145888 | .each = .{ .once = &.{ |
| | 145889 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 145890 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 145891 | .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 145892 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 145893 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145894 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 145895 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 145896 | } }, |
| | 145897 | }, .{ |
| | 145898 | .required_features = .{ .sse2, null, null, null }, |
| | 145899 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145900 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 145901 | .patterns = &.{ |
| | 145902 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145903 | }, |
| | 145904 | .extra_temps = .{ |
| | 145905 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145906 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145907 | .unused, |
| | 145908 | .unused, |
| | 145909 | .unused, |
| | 145910 | .unused, |
| | 145911 | .unused, |
| | 145912 | .unused, |
| | 145913 | .unused, |
| | 145914 | .unused, |
| | 145915 | .unused, |
| | 145916 | }, |
| | 145917 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145918 | .clobbers = .{ .eflags = true }, |
| | 145919 | .each = .{ .once = &.{ |
| | 145920 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 145921 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 145922 | .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 145923 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 145924 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145925 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 145926 | .{ ._, .p_d, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 145927 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 145928 | .{ ._, .p_d, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 145929 | } }, |
| | 145930 | }, .{ |
| | 145931 | .required_features = .{ .avx512f, null, null, null }, |
| | 145932 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145933 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 145934 | .patterns = &.{ |
| | 145935 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145936 | }, |
| | 145937 | .extra_temps = .{ |
| | 145938 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145939 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145940 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 145941 | .unused, |
| | 145942 | .unused, |
| | 145943 | .unused, |
| | 145944 | .unused, |
| | 145945 | .unused, |
| | 145946 | .unused, |
| | 145947 | .unused, |
| | 145948 | .unused, |
| | 145949 | }, |
| | 145950 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145951 | .clobbers = .{ .eflags = true }, |
| | 145952 | .each = .{ .once = &.{ |
| | 145953 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145954 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 145955 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 145956 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 145957 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 145958 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 145959 | .{ .@"0:", .vp_d, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 145960 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 145961 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 145962 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 145963 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 145964 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 145965 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145966 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145967 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145968 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 145969 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 145970 | } }, |
| | 145971 | }, .{ |
| | 145972 | .required_features = .{ .avx2, .fast_hops, null, null }, |
| | 145973 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 145974 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 145975 | .patterns = &.{ |
| | 145976 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 145977 | }, |
| | 145978 | .extra_temps = .{ |
| | 145979 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 145980 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 145981 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 145982 | .unused, |
| | 145983 | .unused, |
| | 145984 | .unused, |
| | 145985 | .unused, |
| | 145986 | .unused, |
| | 145987 | .unused, |
| | 145988 | .unused, |
| | 145989 | .unused, |
| | 145990 | }, |
| | 145991 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 145992 | .clobbers = .{ .eflags = true }, |
| | 145993 | .each = .{ .once = &.{ |
| | 145994 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 145995 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 145996 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 145997 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 145998 | .{ .@"0:", .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 145999 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 146000 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146001 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 146002 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146003 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 146004 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 146005 | } }, |
| | 146006 | }, .{ |
| | 146007 | .required_features = .{ .avx2, null, null, null }, |
| | 146008 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 146009 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 146010 | .patterns = &.{ |
| | 146011 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146012 | }, |
| | 146013 | .extra_temps = .{ |
| | 146014 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146015 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146016 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 146017 | .unused, |
| | 146018 | .unused, |
| | 146019 | .unused, |
| | 146020 | .unused, |
| | 146021 | .unused, |
| | 146022 | .unused, |
| | 146023 | .unused, |
| | 146024 | .unused, |
| | 146025 | }, |
| | 146026 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146027 | .clobbers = .{ .eflags = true }, |
| | 146028 | .each = .{ .once = &.{ |
| | 146029 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146030 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 146031 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 146032 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 146033 | .{ .@"0:", .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 146034 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 146035 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146036 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 146037 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146038 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146039 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146040 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146041 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146042 | } }, |
| | 146043 | }, .{ |
| | 146044 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 146045 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 146046 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 146047 | .patterns = &.{ |
| | 146048 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146049 | }, |
| | 146050 | .extra_temps = .{ |
| | 146051 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146052 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146053 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 146054 | .unused, |
| | 146055 | .unused, |
| | 146056 | .unused, |
| | 146057 | .unused, |
| | 146058 | .unused, |
| | 146059 | .unused, |
| | 146060 | .unused, |
| | 146061 | .unused, |
| | 146062 | }, |
| | 146063 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146064 | .clobbers = .{ .eflags = true }, |
| | 146065 | .each = .{ .once = &.{ |
| | 146066 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146067 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 146068 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 146069 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 146070 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 146071 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146072 | .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 146073 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146074 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146075 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 146076 | .{ ._, .vph_d, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 146077 | } }, |
| | 146078 | }, .{ |
| | 146079 | .required_features = .{ .avx, null, null, null }, |
| | 146080 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 146081 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 146082 | .patterns = &.{ |
| | 146083 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146084 | }, |
| | 146085 | .extra_temps = .{ |
| | 146086 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146087 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146088 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 146089 | .unused, |
| | 146090 | .unused, |
| | 146091 | .unused, |
| | 146092 | .unused, |
| | 146093 | .unused, |
| | 146094 | .unused, |
| | 146095 | .unused, |
| | 146096 | .unused, |
| | 146097 | }, |
| | 146098 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146099 | .each = .{ .once = &.{ |
| | 146100 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146101 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 146102 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 146103 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 146104 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 146105 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146106 | .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 146107 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146108 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146109 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146110 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146111 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146112 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146113 | } }, |
| | 146114 | }, .{ |
| | 146115 | .required_features = .{ .ssse3, .fast_hops, null, null }, |
| | 146116 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 146117 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 146118 | .patterns = &.{ |
| | 146119 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146120 | }, |
| | 146121 | .extra_temps = .{ |
| | 146122 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146123 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146124 | .unused, |
| | 146125 | .unused, |
| | 146126 | .unused, |
| | 146127 | .unused, |
| | 146128 | .unused, |
| | 146129 | .unused, |
| | 146130 | .unused, |
| | 146131 | .unused, |
| | 146132 | .unused, |
| | 146133 | }, |
| | 146134 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146135 | .clobbers = .{ .eflags = true }, |
| | 146136 | .each = .{ .once = &.{ |
| | 146137 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146138 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 146139 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 146140 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 146141 | .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 146142 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146143 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146144 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 146145 | .{ ._, .ph_d, .add, .dst0x, .dst0x, ._, ._ }, |
| | 146146 | } }, |
| | 146147 | }, .{ |
| | 146148 | .required_features = .{ .sse2, null, null, null }, |
| | 146149 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 146150 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 146151 | .patterns = &.{ |
| | 146152 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146153 | }, |
| | 146154 | .extra_temps = .{ |
| | 146155 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146156 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146157 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 146158 | .unused, |
| | 146159 | .unused, |
| | 146160 | .unused, |
| | 146161 | .unused, |
| | 146162 | .unused, |
| | 146163 | .unused, |
| | 146164 | .unused, |
| | 146165 | .unused, |
| | 146166 | }, |
| | 146167 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146168 | .clobbers = .{ .eflags = true }, |
| | 146169 | .each = .{ .once = &.{ |
| | 146170 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146171 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 146172 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 146173 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 146174 | .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 146175 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146176 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146177 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146178 | .{ ._, .p_d, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 146179 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146180 | .{ ._, .p_d, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 146181 | } }, |
| | 146182 | }, .{ |
| | 146183 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 146184 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 146185 | .patterns = &.{ |
| | 146186 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146187 | }, |
| | 146188 | .extra_temps = .{ |
| | 146189 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146190 | .unused, |
| | 146191 | .unused, |
| | 146192 | .unused, |
| | 146193 | .unused, |
| | 146194 | .unused, |
| | 146195 | .unused, |
| | 146196 | .unused, |
| | 146197 | .unused, |
| | 146198 | .unused, |
| | 146199 | .unused, |
| | 146200 | }, |
| | 146201 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 146202 | .clobbers = .{ .eflags = true }, |
| | 146203 | .each = .{ .once = &.{ |
| | 146204 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 146205 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 146206 | .{ .@"0:", ._, .add, .dst0d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 146207 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 146208 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146209 | } }, |
| | 146210 | }, .{ |
| | 146211 | .required_features = .{ .avx, null, null, null }, |
| | 146212 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146213 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 146214 | .patterns = &.{ |
| | 146215 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 146216 | }, |
| | 146217 | .extra_temps = .{ |
| | 146218 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146219 | .unused, |
| | 146220 | .unused, |
| | 146221 | .unused, |
| | 146222 | .unused, |
| | 146223 | .unused, |
| | 146224 | .unused, |
| | 146225 | .unused, |
| | 146226 | .unused, |
| | 146227 | .unused, |
| | 146228 | .unused, |
| | 146229 | }, |
| | 146230 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 146231 | .each = .{ .once = &.{ |
| | 146232 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 146233 | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 146234 | } }, |
| | 146235 | }, .{ |
| | 146236 | .required_features = .{ .sse2, null, null, null }, |
| | 146237 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146238 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 146239 | .patterns = &.{ |
| | 146240 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 146241 | }, |
| | 146242 | .extra_temps = .{ |
| | 146243 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146244 | .unused, |
| | 146245 | .unused, |
| | 146246 | .unused, |
| | 146247 | .unused, |
| | 146248 | .unused, |
| | 146249 | .unused, |
| | 146250 | .unused, |
| | 146251 | .unused, |
| | 146252 | .unused, |
| | 146253 | .unused, |
| | 146254 | }, |
| | 146255 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 146256 | .each = .{ .once = &.{ |
| | 146257 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 146258 | .{ ._, .p_q, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 146259 | } }, |
| | 146260 | }, .{ |
| | 146261 | .required_features = .{ .avx2, null, null, null }, |
| | 146262 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146263 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 146264 | .patterns = &.{ |
| | 146265 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 146266 | }, |
| | 146267 | .extra_temps = .{ |
| | 146268 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146269 | .unused, |
| | 146270 | .unused, |
| | 146271 | .unused, |
| | 146272 | .unused, |
| | 146273 | .unused, |
| | 146274 | .unused, |
| | 146275 | .unused, |
| | 146276 | .unused, |
| | 146277 | .unused, |
| | 146278 | .unused, |
| | 146279 | }, |
| | 146280 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 146281 | .each = .{ .once = &.{ |
| | 146282 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 146283 | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 146284 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 146285 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 146286 | } }, |
| | 146287 | }, .{ |
| | 146288 | .required_features = .{ .avx, null, null, null }, |
| | 146289 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146290 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 146291 | .patterns = &.{ |
| | 146292 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 146293 | }, |
| | 146294 | .extra_temps = .{ |
| | 146295 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146296 | .unused, |
| | 146297 | .unused, |
| | 146298 | .unused, |
| | 146299 | .unused, |
| | 146300 | .unused, |
| | 146301 | .unused, |
| | 146302 | .unused, |
| | 146303 | .unused, |
| | 146304 | .unused, |
| | 146305 | .unused, |
| | 146306 | }, |
| | 146307 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 146308 | .each = .{ .once = &.{ |
| | 146309 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 146310 | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 146311 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 146312 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 146313 | } }, |
| | 146314 | }, .{ |
| | 146315 | .required_features = .{ .avx2, null, null, null }, |
| | 146316 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146317 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 146318 | .patterns = &.{ |
| | 146319 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 146320 | }, |
| | 146321 | .extra_temps = .{ |
| | 146322 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146323 | .unused, |
| | 146324 | .unused, |
| | 146325 | .unused, |
| | 146326 | .unused, |
| | 146327 | .unused, |
| | 146328 | .unused, |
| | 146329 | .unused, |
| | 146330 | .unused, |
| | 146331 | .unused, |
| | 146332 | .unused, |
| | 146333 | }, |
| | 146334 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 146335 | .each = .{ .once = &.{ |
| | 146336 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 146337 | .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 146338 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 146339 | .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 146340 | } }, |
| | 146341 | }, .{ |
| | 146342 | .required_features = .{ .avx, null, null, null }, |
| | 146343 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146344 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 146345 | .patterns = &.{ |
| | 146346 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 146347 | }, |
| | 146348 | .extra_temps = .{ |
| | 146349 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146350 | .unused, |
| | 146351 | .unused, |
| | 146352 | .unused, |
| | 146353 | .unused, |
| | 146354 | .unused, |
| | 146355 | .unused, |
| | 146356 | .unused, |
| | 146357 | .unused, |
| | 146358 | .unused, |
| | 146359 | .unused, |
| | 146360 | }, |
| | 146361 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 146362 | .each = .{ .once = &.{ |
| | 146363 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 146364 | .{ ._, .vp_q, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 146365 | .{ ._, .vp_d, .shuf, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 146366 | .{ ._, .vp_q, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 146367 | } }, |
| | 146368 | }, .{ |
| | 146369 | .required_features = .{ .avx512f, null, null, null }, |
| | 146370 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146371 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 146372 | .patterns = &.{ |
| | 146373 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146374 | }, |
| | 146375 | .extra_temps = .{ |
| | 146376 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146377 | .unused, |
| | 146378 | .unused, |
| | 146379 | .unused, |
| | 146380 | .unused, |
| | 146381 | .unused, |
| | 146382 | .unused, |
| | 146383 | .unused, |
| | 146384 | .unused, |
| | 146385 | .unused, |
| | 146386 | .unused, |
| | 146387 | }, |
| | 146388 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146389 | .each = .{ .once = &.{ |
| | 146390 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 146391 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 146392 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 146393 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 146394 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 146395 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 146396 | } }, |
| | 146397 | }, .{ |
| | 146398 | .required_features = .{ .avx512f, null, null, null }, |
| | 146399 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146400 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 146401 | .patterns = &.{ |
| | 146402 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146403 | }, |
| | 146404 | .extra_temps = .{ |
| | 146405 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 146406 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146407 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| | 146408 | .unused, |
| | 146409 | .unused, |
| | 146410 | .unused, |
| | 146411 | .unused, |
| | 146412 | .unused, |
| | 146413 | .unused, |
| | 146414 | .unused, |
| | 146415 | .unused, |
| | 146416 | }, |
| | 146417 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146418 | .each = .{ .once = &.{ |
| | 146419 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146420 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 146421 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| | 146422 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 146423 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| | 146424 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 146425 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 146426 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146427 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146428 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146429 | } }, |
| | 146430 | }, .{ |
| | 146431 | .required_features = .{ .avx2, null, null, null }, |
| | 146432 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146433 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 146434 | .patterns = &.{ |
| | 146435 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146436 | }, |
| | 146437 | .extra_temps = .{ |
| | 146438 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146439 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146440 | .unused, |
| | 146441 | .unused, |
| | 146442 | .unused, |
| | 146443 | .unused, |
| | 146444 | .unused, |
| | 146445 | .unused, |
| | 146446 | .unused, |
| | 146447 | .unused, |
| | 146448 | .unused, |
| | 146449 | }, |
| | 146450 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146451 | .clobbers = .{ .eflags = true }, |
| | 146452 | .each = .{ .once = &.{ |
| | 146453 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 146454 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 146455 | .{ .@"0:", .vp_q, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 146456 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 146457 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146458 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 146459 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146460 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 146461 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146462 | } }, |
| | 146463 | }, .{ |
| | 146464 | .required_features = .{ .avx, null, null, null }, |
| | 146465 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146466 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 146467 | .patterns = &.{ |
| | 146468 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146469 | }, |
| | 146470 | .extra_temps = .{ |
| | 146471 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146472 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146473 | .unused, |
| | 146474 | .unused, |
| | 146475 | .unused, |
| | 146476 | .unused, |
| | 146477 | .unused, |
| | 146478 | .unused, |
| | 146479 | .unused, |
| | 146480 | .unused, |
| | 146481 | .unused, |
| | 146482 | }, |
| | 146483 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146484 | .clobbers = .{ .eflags = true }, |
| | 146485 | .each = .{ .once = &.{ |
| | 146486 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 146487 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 146488 | .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 146489 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146490 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146491 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 146492 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146493 | } }, |
| | 146494 | }, .{ |
| | 146495 | .required_features = .{ .sse2, null, null, null }, |
| | 146496 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146497 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 146498 | .patterns = &.{ |
| | 146499 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146500 | }, |
| | 146501 | .extra_temps = .{ |
| | 146502 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146503 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146504 | .unused, |
| | 146505 | .unused, |
| | 146506 | .unused, |
| | 146507 | .unused, |
| | 146508 | .unused, |
| | 146509 | .unused, |
| | 146510 | .unused, |
| | 146511 | .unused, |
| | 146512 | .unused, |
| | 146513 | }, |
| | 146514 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146515 | .clobbers = .{ .eflags = true }, |
| | 146516 | .each = .{ .once = &.{ |
| | 146517 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 146518 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 146519 | .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 146520 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146521 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146522 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 146523 | .{ ._, .p_q, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 146524 | } }, |
| | 146525 | }, .{ |
| | 146526 | .required_features = .{ .avx512f, null, null, null }, |
| | 146527 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146528 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 146529 | .patterns = &.{ |
| | 146530 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146531 | }, |
| | 146532 | .extra_temps = .{ |
| | 146533 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146534 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146535 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| | 146536 | .unused, |
| | 146537 | .unused, |
| | 146538 | .unused, |
| | 146539 | .unused, |
| | 146540 | .unused, |
| | 146541 | .unused, |
| | 146542 | .unused, |
| | 146543 | .unused, |
| | 146544 | }, |
| | 146545 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146546 | .clobbers = .{ .eflags = true }, |
| | 146547 | .each = .{ .once = &.{ |
| | 146548 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146549 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 146550 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 146551 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 146552 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 146553 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 146554 | .{ .@"0:", .vp_q, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 146555 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 146556 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 146557 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146558 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 146559 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 146560 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146561 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146562 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146563 | } }, |
| | 146564 | }, .{ |
| | 146565 | .required_features = .{ .avx2, null, null, null }, |
| | 146566 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146567 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 146568 | .patterns = &.{ |
| | 146569 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146570 | }, |
| | 146571 | .extra_temps = .{ |
| | 146572 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146573 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146574 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146575 | .unused, |
| | 146576 | .unused, |
| | 146577 | .unused, |
| | 146578 | .unused, |
| | 146579 | .unused, |
| | 146580 | .unused, |
| | 146581 | .unused, |
| | 146582 | .unused, |
| | 146583 | }, |
| | 146584 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146585 | .clobbers = .{ .eflags = true }, |
| | 146586 | .each = .{ .once = &.{ |
| | 146587 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146588 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 146589 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 146590 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 146591 | .{ .@"0:", .vp_q, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 146592 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 146593 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146594 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 146595 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146596 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146597 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146598 | } }, |
| | 146599 | }, .{ |
| | 146600 | .required_features = .{ .avx, null, null, null }, |
| | 146601 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146602 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 146603 | .patterns = &.{ |
| | 146604 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146605 | }, |
| | 146606 | .extra_temps = .{ |
| | 146607 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146608 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146609 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146610 | .unused, |
| | 146611 | .unused, |
| | 146612 | .unused, |
| | 146613 | .unused, |
| | 146614 | .unused, |
| | 146615 | .unused, |
| | 146616 | .unused, |
| | 146617 | .unused, |
| | 146618 | }, |
| | 146619 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146620 | .clobbers = .{ .eflags = true }, |
| | 146621 | .each = .{ .once = &.{ |
| | 146622 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146623 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 146624 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 146625 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 146626 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 146627 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146628 | .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 146629 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146630 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146631 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146632 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 146633 | } }, |
| | 146634 | }, .{ |
| | 146635 | .required_features = .{ .sse2, null, null, null }, |
| | 146636 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146637 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 146638 | .patterns = &.{ |
| | 146639 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146640 | }, |
| | 146641 | .extra_temps = .{ |
| | 146642 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146643 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146644 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| | 146645 | .unused, |
| | 146646 | .unused, |
| | 146647 | .unused, |
| | 146648 | .unused, |
| | 146649 | .unused, |
| | 146650 | .unused, |
| | 146651 | .unused, |
| | 146652 | .unused, |
| | 146653 | }, |
| | 146654 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146655 | .clobbers = .{ .eflags = true }, |
| | 146656 | .each = .{ .once = &.{ |
| | 146657 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146658 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 146659 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 146660 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 146661 | .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 146662 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146663 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146664 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 146665 | .{ ._, .p_q, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 146666 | } }, |
| | 146667 | }, .{ |
| | 146668 | .required_features = .{ .@"64bit", null, null, null }, |
| | 146669 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 146670 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 146671 | .patterns = &.{ |
| | 146672 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146673 | }, |
| | 146674 | .extra_temps = .{ |
| | 146675 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146676 | .unused, |
| | 146677 | .unused, |
| | 146678 | .unused, |
| | 146679 | .unused, |
| | 146680 | .unused, |
| | 146681 | .unused, |
| | 146682 | .unused, |
| | 146683 | .unused, |
| | 146684 | .unused, |
| | 146685 | .unused, |
| | 146686 | }, |
| | 146687 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 146688 | .clobbers = .{ .eflags = true }, |
| | 146689 | .each = .{ .once = &.{ |
| | 146690 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 146691 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 146692 | .{ .@"0:", ._, .add, .dst0q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 146693 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 146694 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146695 | } }, |
| | 146696 | }, .{ |
| | 146697 | .required_features = .{ .@"64bit", null, null, null }, |
| | 146698 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 146699 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 146700 | .patterns = &.{ |
| | 146701 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146702 | }, |
| | 146703 | .extra_temps = .{ |
| | 146704 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146705 | .{ .type = .u32, .kind = .{ .reg = .rsi } }, |
| | 146706 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| | 146707 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| | 146708 | .unused, |
| | 146709 | .unused, |
| | 146710 | .unused, |
| | 146711 | .unused, |
| | 146712 | .unused, |
| | 146713 | .unused, |
| | 146714 | .unused, |
| | 146715 | }, |
| | 146716 | .dst_temps = .{ .mem, .unused }, |
| | 146717 | .clobbers = .{ .eflags = true }, |
| | 146718 | .each = .{ .once = &.{ |
| | 146719 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 146720 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 146721 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| | 146722 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| | 146723 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| | 146724 | .{ .@"0:", ._, .mov, .tmp1p, .sa(.dst0, .sub_size_div_8), ._, ._ }, |
| | 146725 | .{ ._, ._, .lea, .tmp2q, .memi(.src0, .tmp0), ._, ._ }, |
| | 146726 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| | 146727 | .{ .@"1:", ._, .mov, .tmp3q, .leasia(.tmp2q, .@"8", .tmp1, .add_src0_elem_size), ._, ._ }, |
| | 146728 | .{ ._, ._, .adc, .memsia(.dst0q, .@"8", .tmp1, .add_size), .tmp3q, ._, ._ }, |
| | 146729 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, |
| | 146730 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 146731 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 146732 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146733 | } }, |
| | 146734 | }, .{ |
| | 146735 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 146736 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146737 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 146738 | .patterns = &.{ |
| | 146739 | .{ .src = .{ .mem, .none, .none } }, |
| | 146740 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 146741 | }, |
| | 146742 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 146743 | .each = .{ .once = &.{ |
| | 146744 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 146745 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 146746 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146747 | } }, |
| | 146748 | }, .{ |
| | 146749 | .required_features = .{ .f16c, null, null, null }, |
| | 146750 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146751 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 146752 | .patterns = &.{ |
| | 146753 | .{ .src = .{ .mem, .none, .none } }, |
| | 146754 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 146755 | }, |
| | 146756 | .extra_temps = .{ |
| | 146757 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 146758 | .unused, |
| | 146759 | .unused, |
| | 146760 | .unused, |
| | 146761 | .unused, |
| | 146762 | .unused, |
| | 146763 | .unused, |
| | 146764 | .unused, |
| | 146765 | .unused, |
| | 146766 | .unused, |
| | 146767 | .unused, |
| | 146768 | }, |
| | 146769 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 146770 | .each = .{ .once = &.{ |
| | 146771 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 146772 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 146773 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 146774 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146775 | } }, |
| | 146776 | }, .{ |
| | 146777 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 146778 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146779 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 146780 | .patterns = &.{ |
| | 146781 | .{ .src = .{ .mem, .none, .none } }, |
| | 146782 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 146783 | }, |
| | 146784 | .extra_temps = .{ |
| | 146785 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 146786 | .unused, |
| | 146787 | .unused, |
| | 146788 | .unused, |
| | 146789 | .unused, |
| | 146790 | .unused, |
| | 146791 | .unused, |
| | 146792 | .unused, |
| | 146793 | .unused, |
| | 146794 | .unused, |
| | 146795 | .unused, |
| | 146796 | }, |
| | 146797 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 146798 | .each = .{ .once = &.{ |
| | 146799 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 146800 | .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 146801 | .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 146802 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 146803 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146804 | } }, |
| | 146805 | }, .{ |
| | 146806 | .required_features = .{ .f16c, null, null, null }, |
| | 146807 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146808 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 146809 | .patterns = &.{ |
| | 146810 | .{ .src = .{ .mem, .none, .none } }, |
| | 146811 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 146812 | }, |
| | 146813 | .extra_temps = .{ |
| | 146814 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 146815 | .unused, |
| | 146816 | .unused, |
| | 146817 | .unused, |
| | 146818 | .unused, |
| | 146819 | .unused, |
| | 146820 | .unused, |
| | 146821 | .unused, |
| | 146822 | .unused, |
| | 146823 | .unused, |
| | 146824 | .unused, |
| | 146825 | }, |
| | 146826 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 146827 | .each = .{ .once = &.{ |
| | 146828 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 146829 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 146830 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 146831 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 146832 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 146833 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146834 | } }, |
| | 146835 | }, .{ |
| | 146836 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 146837 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146838 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 146839 | .patterns = &.{ |
| | 146840 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146841 | }, |
| | 146842 | .extra_temps = .{ |
| | 146843 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 146844 | .{ .type = .f16, .kind = .{ .rc = .sse } }, |
| | 146845 | .unused, |
| | 146846 | .unused, |
| | 146847 | .unused, |
| | 146848 | .unused, |
| | 146849 | .unused, |
| | 146850 | .unused, |
| | 146851 | .unused, |
| | 146852 | .unused, |
| | 146853 | .unused, |
| | 146854 | }, |
| | 146855 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 146856 | .clobbers = .{ .eflags = true }, |
| | 146857 | .each = .{ .once = &.{ |
| | 146858 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 146859 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| | 146860 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) }, |
| | 146861 | .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) }, |
| | 146862 | .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ }, |
| | 146863 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 146864 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146865 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 146866 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 146867 | } }, |
| | 146868 | }, .{ |
| | 146869 | .required_features = .{ .f16c, null, null, null }, |
| | 146870 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146871 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 146872 | .patterns = &.{ |
| | 146873 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146874 | }, |
| | 146875 | .extra_temps = .{ |
| | 146876 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 146877 | .{ .type = .f16, .kind = .{ .rc = .sse } }, |
| | 146878 | .unused, |
| | 146879 | .unused, |
| | 146880 | .unused, |
| | 146881 | .unused, |
| | 146882 | .unused, |
| | 146883 | .unused, |
| | 146884 | .unused, |
| | 146885 | .unused, |
| | 146886 | .unused, |
| | 146887 | }, |
| | 146888 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 146889 | .clobbers = .{ .eflags = true }, |
| | 146890 | .each = .{ .once = &.{ |
| | 146891 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 146892 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| | 146893 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) }, |
| | 146894 | .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) }, |
| | 146895 | .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ }, |
| | 146896 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 146897 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146898 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146899 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 146900 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 146901 | } }, |
| | 146902 | }, .{ |
| | 146903 | .required_features = .{ .avx, null, null, null }, |
| | 146904 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146905 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 146906 | .patterns = &.{ |
| | 146907 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146908 | }, |
| | 146909 | .call_frame = .{ .alignment = .@"16" }, |
| | 146910 | .extra_temps = .{ |
| | 146911 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 146912 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 146913 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 146914 | .unused, |
| | 146915 | .unused, |
| | 146916 | .unused, |
| | 146917 | .unused, |
| | 146918 | .unused, |
| | 146919 | .unused, |
| | 146920 | .unused, |
| | 146921 | .unused, |
| | 146922 | }, |
| | 146923 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 146924 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 146925 | .each = .{ .once = &.{ |
| | 146926 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 146927 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| | 146928 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) }, |
| | 146929 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 146930 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, |
| | 146931 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 146932 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 146933 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 146934 | } }, |
| | 146935 | }, .{ |
| | 146936 | .required_features = .{ .sse2, null, null, null }, |
| | 146937 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146938 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 146939 | .patterns = &.{ |
| | 146940 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146941 | }, |
| | 146942 | .call_frame = .{ .alignment = .@"16" }, |
| | 146943 | .extra_temps = .{ |
| | 146944 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 146945 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 146946 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 146947 | .unused, |
| | 146948 | .unused, |
| | 146949 | .unused, |
| | 146950 | .unused, |
| | 146951 | .unused, |
| | 146952 | .unused, |
| | 146953 | .unused, |
| | 146954 | .unused, |
| | 146955 | }, |
| | 146956 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 146957 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 146958 | .each = .{ .once = &.{ |
| | 146959 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 146960 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| | 146961 | .{ ._, .p_w, .insr, .dst0x, .mem(.src0w), .ui(0), ._ }, |
| | 146962 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 146963 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| | 146964 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 146965 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 146966 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 146967 | } }, |
| | 146968 | }, .{ |
| | 146969 | .required_features = .{ .sse, null, null, null }, |
| | 146970 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146971 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 146972 | .patterns = &.{ |
| | 146973 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146974 | }, |
| | 146975 | .call_frame = .{ .alignment = .@"16" }, |
| | 146976 | .extra_temps = .{ |
| | 146977 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 146978 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 146979 | .{ .type = .f32, .kind = .mem }, |
| | 146980 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 146981 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 146982 | .unused, |
| | 146983 | .unused, |
| | 146984 | .unused, |
| | 146985 | .unused, |
| | 146986 | .unused, |
| | 146987 | .unused, |
| | 146988 | }, |
| | 146989 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 146990 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 146991 | .each = .{ .once = &.{ |
| | 146992 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 146993 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| | 146994 | .{ ._, ._, .movzx, .tmp1d, .mem(.src0w), ._, ._ }, |
| | 146995 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 146996 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 146997 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 146998 | .{ ._, ._ss, .mov, .tmp3x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 146999 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 147000 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 147001 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147002 | } }, |
| | 147003 | }, .{ |
| | 147004 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 147005 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147006 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 147007 | .patterns = &.{ |
| | 147008 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147009 | }, |
| | 147010 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147011 | .each = .{ .once = &.{ |
| | 147012 | .{ ._, .vh_ps, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 147013 | } }, |
| | 147014 | }, .{ |
| | 147015 | .required_features = .{ .avx, null, null, null }, |
| | 147016 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147017 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 147018 | .patterns = &.{ |
| | 147019 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147020 | }, |
| | 147021 | .extra_temps = .{ |
| | 147022 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147023 | .unused, |
| | 147024 | .unused, |
| | 147025 | .unused, |
| | 147026 | .unused, |
| | 147027 | .unused, |
| | 147028 | .unused, |
| | 147029 | .unused, |
| | 147030 | .unused, |
| | 147031 | .unused, |
| | 147032 | .unused, |
| | 147033 | }, |
| | 147034 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147035 | .each = .{ .once = &.{ |
| | 147036 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 147037 | .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147038 | } }, |
| | 147039 | }, .{ |
| | 147040 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 147041 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147042 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 147043 | .patterns = &.{ |
| | 147044 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147045 | }, |
| | 147046 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147047 | .each = .{ .once = &.{ |
| | 147048 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| | 147049 | } }, |
| | 147050 | }, .{ |
| | 147051 | .required_features = .{ .sse, null, null, null }, |
| | 147052 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147053 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 147054 | .patterns = &.{ |
| | 147055 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147056 | }, |
| | 147057 | .extra_temps = .{ |
| | 147058 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147059 | .unused, |
| | 147060 | .unused, |
| | 147061 | .unused, |
| | 147062 | .unused, |
| | 147063 | .unused, |
| | 147064 | .unused, |
| | 147065 | .unused, |
| | 147066 | .unused, |
| | 147067 | .unused, |
| | 147068 | .unused, |
| | 147069 | }, |
| | 147070 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147071 | .each = .{ .once = &.{ |
| | 147072 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 147073 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 147074 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 147075 | } }, |
| | 147076 | }, .{ |
| | 147077 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 147078 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147079 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147080 | .patterns = &.{ |
| | 147081 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147082 | }, |
| | 147083 | .extra_temps = .{ |
| | 147084 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147085 | .unused, |
| | 147086 | .unused, |
| | 147087 | .unused, |
| | 147088 | .unused, |
| | 147089 | .unused, |
| | 147090 | .unused, |
| | 147091 | .unused, |
| | 147092 | .unused, |
| | 147093 | .unused, |
| | 147094 | .unused, |
| | 147095 | }, |
| | 147096 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147097 | .each = .{ .once = &.{ |
| | 147098 | .{ ._, .vh_ps, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 147099 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 147100 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 147101 | } }, |
| | 147102 | }, .{ |
| | 147103 | .required_features = .{ .avx, null, null, null }, |
| | 147104 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147105 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147106 | .patterns = &.{ |
| | 147107 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147108 | }, |
| | 147109 | .extra_temps = .{ |
| | 147110 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147111 | .unused, |
| | 147112 | .unused, |
| | 147113 | .unused, |
| | 147114 | .unused, |
| | 147115 | .unused, |
| | 147116 | .unused, |
| | 147117 | .unused, |
| | 147118 | .unused, |
| | 147119 | .unused, |
| | 147120 | .unused, |
| | 147121 | }, |
| | 147122 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147123 | .each = .{ .once = &.{ |
| | 147124 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 147125 | .{ ._, .v_ss, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 147126 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| | 147127 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 147128 | } }, |
| | 147129 | }, .{ |
| | 147130 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 147131 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147132 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147133 | .patterns = &.{ |
| | 147134 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147135 | }, |
| | 147136 | .extra_temps = .{ |
| | 147137 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147138 | .unused, |
| | 147139 | .unused, |
| | 147140 | .unused, |
| | 147141 | .unused, |
| | 147142 | .unused, |
| | 147143 | .unused, |
| | 147144 | .unused, |
| | 147145 | .unused, |
| | 147146 | .unused, |
| | 147147 | .unused, |
| | 147148 | }, |
| | 147149 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147150 | .each = .{ .once = &.{ |
| | 147151 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 147152 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 147153 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| | 147154 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 147155 | } }, |
| | 147156 | }, .{ |
| | 147157 | .required_features = .{ .sse, null, null, null }, |
| | 147158 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147159 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147160 | .patterns = &.{ |
| | 147161 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147162 | }, |
| | 147163 | .extra_temps = .{ |
| | 147164 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147165 | .unused, |
| | 147166 | .unused, |
| | 147167 | .unused, |
| | 147168 | .unused, |
| | 147169 | .unused, |
| | 147170 | .unused, |
| | 147171 | .unused, |
| | 147172 | .unused, |
| | 147173 | .unused, |
| | 147174 | .unused, |
| | 147175 | }, |
| | 147176 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147177 | .each = .{ .once = &.{ |
| | 147178 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 147179 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 147180 | .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ }, |
| | 147181 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 147182 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 147183 | } }, |
| | 147184 | }, .{ |
| | 147185 | .required_features = .{ .avx, null, null, null }, |
| | 147186 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147187 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 147188 | .patterns = &.{ |
| | 147189 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147190 | }, |
| | 147191 | .extra_temps = .{ |
| | 147192 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 147193 | .unused, |
| | 147194 | .unused, |
| | 147195 | .unused, |
| | 147196 | .unused, |
| | 147197 | .unused, |
| | 147198 | .unused, |
| | 147199 | .unused, |
| | 147200 | .unused, |
| | 147201 | .unused, |
| | 147202 | .unused, |
| | 147203 | }, |
| | 147204 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147205 | .clobbers = .{ .eflags = true }, |
| | 147206 | .each = .{ .once = &.{ |
| | 147207 | .{ ._, ._, .mov, .tmp0p, .sia(4, .src0, .sub_unaligned_size), ._, ._ }, |
| | 147208 | .{ ._, .v_ss, .mov, .dst0x, .mem(.src0d), ._, ._ }, |
| | 147209 | .{ .@"0:", .v_ss, .add, .dst0x, .dst0x, .memia(.src0d, .tmp0, .add_unaligned_size), ._ }, |
| | 147210 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| | 147211 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147212 | } }, |
| | 147213 | }, .{ |
| | 147214 | .required_features = .{ .sse, null, null, null }, |
| | 147215 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147216 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 147217 | .patterns = &.{ |
| | 147218 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147219 | }, |
| | 147220 | .extra_temps = .{ |
| | 147221 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 147222 | .unused, |
| | 147223 | .unused, |
| | 147224 | .unused, |
| | 147225 | .unused, |
| | 147226 | .unused, |
| | 147227 | .unused, |
| | 147228 | .unused, |
| | 147229 | .unused, |
| | 147230 | .unused, |
| | 147231 | .unused, |
| | 147232 | }, |
| | 147233 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147234 | .clobbers = .{ .eflags = true }, |
| | 147235 | .each = .{ .once = &.{ |
| | 147236 | .{ ._, ._, .mov, .tmp0p, .sia(4, .src0, .sub_unaligned_size), ._, ._ }, |
| | 147237 | .{ ._, ._ss, .mov, .dst0x, .mem(.src0d), ._, ._ }, |
| | 147238 | .{ .@"0:", ._ss, .add, .dst0x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 147239 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| | 147240 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147241 | } }, |
| | 147242 | }, .{ |
| | 147243 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 147244 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147245 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 147246 | .patterns = &.{ |
| | 147247 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147248 | }, |
| | 147249 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147250 | .each = .{ .once = &.{ |
| | 147251 | .{ ._, .vh_pd, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 147252 | } }, |
| | 147253 | }, .{ |
| | 147254 | .required_features = .{ .avx, null, null, null }, |
| | 147255 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147256 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 147257 | .patterns = &.{ |
| | 147258 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147259 | }, |
| | 147260 | .extra_temps = .{ |
| | 147261 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147262 | .unused, |
| | 147263 | .unused, |
| | 147264 | .unused, |
| | 147265 | .unused, |
| | 147266 | .unused, |
| | 147267 | .unused, |
| | 147268 | .unused, |
| | 147269 | .unused, |
| | 147270 | .unused, |
| | 147271 | .unused, |
| | 147272 | }, |
| | 147273 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147274 | .each = .{ .once = &.{ |
| | 147275 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 147276 | .{ ._, .v_sd, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147277 | } }, |
| | 147278 | }, .{ |
| | 147279 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 147280 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147281 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 147282 | .patterns = &.{ |
| | 147283 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147284 | }, |
| | 147285 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147286 | .each = .{ .once = &.{ |
| | 147287 | .{ ._, .h_pd, .add, .dst0x, .src0x, ._, ._ }, |
| | 147288 | } }, |
| | 147289 | }, .{ |
| | 147290 | .required_features = .{ .sse2, null, null, null }, |
| | 147291 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147292 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 147293 | .patterns = &.{ |
| | 147294 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147295 | }, |
| | 147296 | .extra_temps = .{ |
| | 147297 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147298 | .unused, |
| | 147299 | .unused, |
| | 147300 | .unused, |
| | 147301 | .unused, |
| | 147302 | .unused, |
| | 147303 | .unused, |
| | 147304 | .unused, |
| | 147305 | .unused, |
| | 147306 | .unused, |
| | 147307 | .unused, |
| | 147308 | }, |
| | 147309 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147310 | .each = .{ .once = &.{ |
| | 147311 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 147312 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 147313 | .{ ._, ._sd, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 147314 | } }, |
| | 147315 | }, .{ |
| | 147316 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 147317 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147318 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 147319 | .patterns = &.{ |
| | 147320 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147321 | }, |
| | 147322 | .extra_temps = .{ |
| | 147323 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147324 | .unused, |
| | 147325 | .unused, |
| | 147326 | .unused, |
| | 147327 | .unused, |
| | 147328 | .unused, |
| | 147329 | .unused, |
| | 147330 | .unused, |
| | 147331 | .unused, |
| | 147332 | .unused, |
| | 147333 | .unused, |
| | 147334 | }, |
| | 147335 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147336 | .each = .{ .once = &.{ |
| | 147337 | .{ ._, .vh_pd, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 147338 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 147339 | .{ ._, .v_sd, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 147340 | } }, |
| | 147341 | }, .{ |
| | 147342 | .required_features = .{ .avx, null, null, null }, |
| | 147343 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147344 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 147345 | .patterns = &.{ |
| | 147346 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147347 | }, |
| | 147348 | .extra_temps = .{ |
| | 147349 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147350 | .unused, |
| | 147351 | .unused, |
| | 147352 | .unused, |
| | 147353 | .unused, |
| | 147354 | .unused, |
| | 147355 | .unused, |
| | 147356 | .unused, |
| | 147357 | .unused, |
| | 147358 | .unused, |
| | 147359 | .unused, |
| | 147360 | }, |
| | 147361 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147362 | .each = .{ .once = &.{ |
| | 147363 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 147364 | .{ ._, .v_sd, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 147365 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 147366 | .{ ._, .v_sd, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 147367 | } }, |
| | 147368 | }, .{ |
| | 147369 | .required_features = .{ .avx, null, null, null }, |
| | 147370 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147371 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 147372 | .patterns = &.{ |
| | 147373 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147374 | }, |
| | 147375 | .extra_temps = .{ |
| | 147376 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 147377 | .unused, |
| | 147378 | .unused, |
| | 147379 | .unused, |
| | 147380 | .unused, |
| | 147381 | .unused, |
| | 147382 | .unused, |
| | 147383 | .unused, |
| | 147384 | .unused, |
| | 147385 | .unused, |
| | 147386 | .unused, |
| | 147387 | }, |
| | 147388 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147389 | .clobbers = .{ .eflags = true }, |
| | 147390 | .each = .{ .once = &.{ |
| | 147391 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| | 147392 | .{ ._, .v_sd, .mov, .dst0x, .mem(.src0q), ._, ._ }, |
| | 147393 | .{ .@"0:", .v_sd, .add, .dst0x, .dst0x, .memia(.src0q, .tmp0, .add_unaligned_size), ._ }, |
| | 147394 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 147395 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147396 | } }, |
| | 147397 | }, .{ |
| | 147398 | .required_features = .{ .sse2, null, null, null }, |
| | 147399 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147400 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 147401 | .patterns = &.{ |
| | 147402 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147403 | }, |
| | 147404 | .extra_temps = .{ |
| | 147405 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 147406 | .unused, |
| | 147407 | .unused, |
| | 147408 | .unused, |
| | 147409 | .unused, |
| | 147410 | .unused, |
| | 147411 | .unused, |
| | 147412 | .unused, |
| | 147413 | .unused, |
| | 147414 | .unused, |
| | 147415 | .unused, |
| | 147416 | }, |
| | 147417 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147418 | .clobbers = .{ .eflags = true }, |
| | 147419 | .each = .{ .once = &.{ |
| | 147420 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| | 147421 | .{ ._, ._sd, .mov, .dst0x, .mem(.src0q), ._, ._ }, |
| | 147422 | .{ .@"0:", ._sd, .add, .dst0x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 147423 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 147424 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147425 | } }, |
| | 147426 | }, .{ |
| | 147427 | .required_features = .{ .x87, null, null, null }, |
| | 147428 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147429 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 147430 | .patterns = &.{ |
| | 147431 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147432 | }, |
| | 147433 | .extra_temps = .{ |
| | 147434 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 147435 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 147436 | .unused, |
| | 147437 | .unused, |
| | 147438 | .unused, |
| | 147439 | .unused, |
| | 147440 | .unused, |
| | 147441 | .unused, |
| | 147442 | .unused, |
| | 147443 | .unused, |
| | 147444 | .unused, |
| | 147445 | }, |
| | 147446 | .dst_temps = .{ .mem, .unused }, |
| | 147447 | .clobbers = .{ .eflags = true }, |
| | 147448 | .each = .{ .once = &.{ |
| | 147449 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| | 147450 | .{ ._, .f_, .ld, .mem(.src0q), ._, ._, ._ }, |
| | 147451 | .{ .@"0:", .f_, .add, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 147452 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 147453 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147454 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 147455 | } }, |
| | 147456 | }, .{ |
| | 147457 | .required_features = .{ .x87, null, null, null }, |
| | 147458 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 147459 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 147460 | .patterns = &.{ |
| | 147461 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147462 | }, |
| | 147463 | .extra_temps = .{ |
| | 147464 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 147465 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 147466 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 147467 | .unused, |
| | 147468 | .unused, |
| | 147469 | .unused, |
| | 147470 | .unused, |
| | 147471 | .unused, |
| | 147472 | .unused, |
| | 147473 | .unused, |
| | 147474 | .unused, |
| | 147475 | }, |
| | 147476 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 147477 | .clobbers = .{ .eflags = true }, |
| | 147478 | .each = .{ .once = &.{ |
| | 147479 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 147480 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, |
| | 147481 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 147482 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 147483 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 147484 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147485 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 147486 | } }, |
| | 147487 | }, .{ |
| | 147488 | .required_features = .{ .avx, null, null, null }, |
| | 147489 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 147490 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 147491 | .patterns = &.{ |
| | 147492 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147493 | }, |
| | 147494 | .call_frame = .{ .alignment = .@"16" }, |
| | 147495 | .extra_temps = .{ |
| | 147496 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 147497 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 147498 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 147499 | .unused, |
| | 147500 | .unused, |
| | 147501 | .unused, |
| | 147502 | .unused, |
| | 147503 | .unused, |
| | 147504 | .unused, |
| | 147505 | .unused, |
| | 147506 | .unused, |
| | 147507 | }, |
| | 147508 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 147509 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 147510 | .each = .{ .once = &.{ |
| | 147511 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 147512 | .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| | 147513 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 147514 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 147515 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 147516 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147517 | } }, |
| | 147518 | }, .{ |
| | 147519 | .required_features = .{ .sse2, null, null, null }, |
| | 147520 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 147521 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 147522 | .patterns = &.{ |
| | 147523 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147524 | }, |
| | 147525 | .call_frame = .{ .alignment = .@"16" }, |
| | 147526 | .extra_temps = .{ |
| | 147527 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 147528 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 147529 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 147530 | .unused, |
| | 147531 | .unused, |
| | 147532 | .unused, |
| | 147533 | .unused, |
| | 147534 | .unused, |
| | 147535 | .unused, |
| | 147536 | .unused, |
| | 147537 | .unused, |
| | 147538 | }, |
| | 147539 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 147540 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 147541 | .each = .{ .once = &.{ |
| | 147542 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 147543 | .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| | 147544 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 147545 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 147546 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 147547 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147548 | } }, |
| | 147549 | }, .{ |
| | 147550 | .required_features = .{ .sse, null, null, null }, |
| | 147551 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 147552 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 147553 | .patterns = &.{ |
| | 147554 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147555 | }, |
| | 147556 | .call_frame = .{ .alignment = .@"16" }, |
| | 147557 | .extra_temps = .{ |
| | 147558 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 147559 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 147560 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 147561 | .unused, |
| | 147562 | .unused, |
| | 147563 | .unused, |
| | 147564 | .unused, |
| | 147565 | .unused, |
| | 147566 | .unused, |
| | 147567 | .unused, |
| | 147568 | .unused, |
| | 147569 | }, |
| | 147570 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 147571 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 147572 | .each = .{ .once = &.{ |
| | 147573 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 147574 | .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ }, |
| | 147575 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 147576 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 147577 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 147578 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 147579 | } }, |
| | 147580 | } }, |
| | 147581 | .Mul => comptime &.{ .{ |
| | 147582 | .required_features = .{ .avx, null, null, null }, |
| | 147583 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147584 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 147585 | .patterns = &.{ |
| | 147586 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147587 | }, |
| | 147588 | .extra_temps = .{ |
| | 147589 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147590 | .unused, |
| | 147591 | .unused, |
| | 147592 | .unused, |
| | 147593 | .unused, |
| | 147594 | .unused, |
| | 147595 | .unused, |
| | 147596 | .unused, |
| | 147597 | .unused, |
| | 147598 | .unused, |
| | 147599 | .unused, |
| | 147600 | }, |
| | 147601 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147602 | .each = .{ .once = &.{ |
| | 147603 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 147604 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147605 | } }, |
| | 147606 | }, .{ |
| | 147607 | .required_features = .{ .sse2, null, null, null }, |
| | 147608 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147609 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| | 147610 | .patterns = &.{ |
| | 147611 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147612 | }, |
| | 147613 | .extra_temps = .{ |
| | 147614 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147615 | .unused, |
| | 147616 | .unused, |
| | 147617 | .unused, |
| | 147618 | .unused, |
| | 147619 | .unused, |
| | 147620 | .unused, |
| | 147621 | .unused, |
| | 147622 | .unused, |
| | 147623 | .unused, |
| | 147624 | .unused, |
| | 147625 | }, |
| | 147626 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147627 | .each = .{ .once = &.{ |
| | 147628 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 147629 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 147630 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 147631 | } }, |
| | 147632 | }, .{ |
| | 147633 | .required_features = .{ .avx, null, null, null }, |
| | 147634 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147635 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 147636 | .patterns = &.{ |
| | 147637 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147638 | }, |
| | 147639 | .extra_temps = .{ |
| | 147640 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147641 | .unused, |
| | 147642 | .unused, |
| | 147643 | .unused, |
| | 147644 | .unused, |
| | 147645 | .unused, |
| | 147646 | .unused, |
| | 147647 | .unused, |
| | 147648 | .unused, |
| | 147649 | .unused, |
| | 147650 | .unused, |
| | 147651 | }, |
| | 147652 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147653 | .each = .{ .once = &.{ |
| | 147654 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 147655 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147656 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 147657 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147658 | } }, |
| | 147659 | }, .{ |
| | 147660 | .required_features = .{ .sse2, null, null, null }, |
| | 147661 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147662 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 147663 | .patterns = &.{ |
| | 147664 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147665 | }, |
| | 147666 | .extra_temps = .{ |
| | 147667 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147668 | .unused, |
| | 147669 | .unused, |
| | 147670 | .unused, |
| | 147671 | .unused, |
| | 147672 | .unused, |
| | 147673 | .unused, |
| | 147674 | .unused, |
| | 147675 | .unused, |
| | 147676 | .unused, |
| | 147677 | .unused, |
| | 147678 | }, |
| | 147679 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147680 | .each = .{ .once = &.{ |
| | 147681 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 147682 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 147683 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| | 147684 | .{ ._, .p_w, .shufl, .dst0x, .tmp0x, .ui(0b01), ._ }, |
| | 147685 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 147686 | } }, |
| | 147687 | }, .{ |
| | 147688 | .required_features = .{ .avx, null, null, null }, |
| | 147689 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147690 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 147691 | .patterns = &.{ |
| | 147692 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147693 | }, |
| | 147694 | .extra_temps = .{ |
| | 147695 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147696 | .unused, |
| | 147697 | .unused, |
| | 147698 | .unused, |
| | 147699 | .unused, |
| | 147700 | .unused, |
| | 147701 | .unused, |
| | 147702 | .unused, |
| | 147703 | .unused, |
| | 147704 | .unused, |
| | 147705 | .unused, |
| | 147706 | }, |
| | 147707 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147708 | .each = .{ .once = &.{ |
| | 147709 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 147710 | .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 147711 | .{ ._, .vp_w, .srl, .dst0x, .src0x, .ui(8), ._ }, |
| | 147712 | .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 147713 | } }, |
| | 147714 | }, .{ |
| | 147715 | .required_features = .{ .sse2, null, null, null }, |
| | 147716 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147717 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| | 147718 | .patterns = &.{ |
| | 147719 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147720 | }, |
| | 147721 | .extra_temps = .{ |
| | 147722 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147723 | .unused, |
| | 147724 | .unused, |
| | 147725 | .unused, |
| | 147726 | .unused, |
| | 147727 | .unused, |
| | 147728 | .unused, |
| | 147729 | .unused, |
| | 147730 | .unused, |
| | 147731 | .unused, |
| | 147732 | .unused, |
| | 147733 | }, |
| | 147734 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147735 | .each = .{ .once = &.{ |
| | 147736 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 147737 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| | 147738 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| | 147739 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 147740 | } }, |
| | 147741 | }, .{ |
| | 147742 | .required_features = .{ .avx, null, null, null }, |
| | 147743 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147744 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 147745 | .patterns = &.{ |
| | 147746 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147747 | }, |
| | 147748 | .extra_temps = .{ |
| | 147749 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147750 | .unused, |
| | 147751 | .unused, |
| | 147752 | .unused, |
| | 147753 | .unused, |
| | 147754 | .unused, |
| | 147755 | .unused, |
| | 147756 | .unused, |
| | 147757 | .unused, |
| | 147758 | .unused, |
| | 147759 | .unused, |
| | 147760 | }, |
| | 147761 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147762 | .each = .{ .once = &.{ |
| | 147763 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 147764 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147765 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 147766 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147767 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 147768 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147769 | } }, |
| | 147770 | }, .{ |
| | 147771 | .required_features = .{ .sse2, null, null, null }, |
| | 147772 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147773 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 147774 | .patterns = &.{ |
| | 147775 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147776 | }, |
| | 147777 | .extra_temps = .{ |
| | 147778 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147779 | .unused, |
| | 147780 | .unused, |
| | 147781 | .unused, |
| | 147782 | .unused, |
| | 147783 | .unused, |
| | 147784 | .unused, |
| | 147785 | .unused, |
| | 147786 | .unused, |
| | 147787 | .unused, |
| | 147788 | .unused, |
| | 147789 | }, |
| | 147790 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147791 | .each = .{ .once = &.{ |
| | 147792 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 147793 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 147794 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| | 147795 | .{ ._, .p_w, .shufl, .dst0x, .tmp0x, .ui(0b11_10), ._ }, |
| | 147796 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 147797 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 147798 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 147799 | } }, |
| | 147800 | }, .{ |
| | 147801 | .required_features = .{ .avx, null, null, null }, |
| | 147802 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147803 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 147804 | .patterns = &.{ |
| | 147805 | .{ .src = .{ .mem, .none, .none } }, |
| | 147806 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147807 | }, |
| | 147808 | .extra_temps = .{ |
| | 147809 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 147810 | .{ .type = .vector_8_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 147811 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147812 | .unused, |
| | 147813 | .unused, |
| | 147814 | .unused, |
| | 147815 | .unused, |
| | 147816 | .unused, |
| | 147817 | .unused, |
| | 147818 | .unused, |
| | 147819 | .unused, |
| | 147820 | }, |
| | 147821 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147822 | .each = .{ .once = &.{ |
| | 147823 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147824 | .{ ._, .v_q, .mov, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 147825 | .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ }, |
| | 147826 | .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 147827 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 147828 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 147829 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 147830 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 147831 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 147832 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 147833 | } }, |
| | 147834 | }, .{ |
| | 147835 | .required_features = .{ .sse2, null, null, null }, |
| | 147836 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147837 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| | 147838 | .patterns = &.{ |
| | 147839 | .{ .src = .{ .mem, .none, .none } }, |
| | 147840 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147841 | }, |
| | 147842 | .extra_temps = .{ |
| | 147843 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 147844 | .{ .type = .vector_8_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 147845 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147846 | .unused, |
| | 147847 | .unused, |
| | 147848 | .unused, |
| | 147849 | .unused, |
| | 147850 | .unused, |
| | 147851 | .unused, |
| | 147852 | .unused, |
| | 147853 | .unused, |
| | 147854 | }, |
| | 147855 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147856 | .each = .{ .once = &.{ |
| | 147857 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147858 | .{ ._, ._q, .mov, .tmp2x, .lea(.tmp0q), ._, ._ }, |
| | 147859 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| | 147860 | .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ }, |
| | 147861 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 147862 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 147863 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 147864 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 147865 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 147866 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 147867 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 147868 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 147869 | } }, |
| | 147870 | }, .{ |
| | 147871 | .required_features = .{ .avx, null, null, null }, |
| | 147872 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147873 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 147874 | .patterns = &.{ |
| | 147875 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147876 | }, |
| | 147877 | .extra_temps = .{ |
| | 147878 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147879 | .unused, |
| | 147880 | .unused, |
| | 147881 | .unused, |
| | 147882 | .unused, |
| | 147883 | .unused, |
| | 147884 | .unused, |
| | 147885 | .unused, |
| | 147886 | .unused, |
| | 147887 | .unused, |
| | 147888 | .unused, |
| | 147889 | }, |
| | 147890 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147891 | .each = .{ .once = &.{ |
| | 147892 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| | 147893 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147894 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 147895 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147896 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 147897 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147898 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 147899 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147900 | } }, |
| | 147901 | }, .{ |
| | 147902 | .required_features = .{ .sse2, null, null, null }, |
| | 147903 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147904 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 147905 | .patterns = &.{ |
| | 147906 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147907 | }, |
| | 147908 | .extra_temps = .{ |
| | 147909 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147910 | .unused, |
| | 147911 | .unused, |
| | 147912 | .unused, |
| | 147913 | .unused, |
| | 147914 | .unused, |
| | 147915 | .unused, |
| | 147916 | .unused, |
| | 147917 | .unused, |
| | 147918 | .unused, |
| | 147919 | .unused, |
| | 147920 | }, |
| | 147921 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147922 | .each = .{ .once = &.{ |
| | 147923 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| | 147924 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| | 147925 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| | 147926 | .{ ._, .p_d, .shuf, .dst0x, .tmp0x, .ui(0b11_10), ._ }, |
| | 147927 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 147928 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 147929 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 147930 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 147931 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 147932 | } }, |
| | 147933 | }, .{ |
| | 147934 | .required_features = .{ .avx, null, null, null }, |
| | 147935 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147936 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 147937 | .patterns = &.{ |
| | 147938 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147939 | }, |
| | 147940 | .extra_temps = .{ |
| | 147941 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 147942 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 147943 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147944 | .unused, |
| | 147945 | .unused, |
| | 147946 | .unused, |
| | 147947 | .unused, |
| | 147948 | .unused, |
| | 147949 | .unused, |
| | 147950 | .unused, |
| | 147951 | .unused, |
| | 147952 | }, |
| | 147953 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147954 | .each = .{ .once = &.{ |
| | 147955 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147956 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 147957 | .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ }, |
| | 147958 | .{ ._, .vp_b, .sub, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 147959 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| | 147960 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 147961 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 147962 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 147963 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 147964 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 147965 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 147966 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 147967 | } }, |
| | 147968 | }, .{ |
| | 147969 | .required_features = .{ .sse2, null, null, null }, |
| | 147970 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 147971 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 147972 | .patterns = &.{ |
| | 147973 | .{ .src = .{ .mem, .none, .none } }, |
| | 147974 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147975 | }, |
| | 147976 | .extra_temps = .{ |
| | 147977 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 147978 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 147979 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 147980 | .unused, |
| | 147981 | .unused, |
| | 147982 | .unused, |
| | 147983 | .unused, |
| | 147984 | .unused, |
| | 147985 | .unused, |
| | 147986 | .unused, |
| | 147987 | .unused, |
| | 147988 | }, |
| | 147989 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147990 | .each = .{ .once = &.{ |
| | 147991 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147992 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 147993 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| | 147994 | .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ }, |
| | 147995 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 147996 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 147997 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 147998 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 147999 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148000 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148001 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148002 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148003 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148004 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148005 | } }, |
| | 148006 | }, .{ |
| | 148007 | .required_features = .{ .avx2, null, null, null }, |
| | 148008 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148009 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 148010 | .patterns = &.{ |
| | 148011 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148012 | }, |
| | 148013 | .extra_temps = .{ |
| | 148014 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148015 | .unused, |
| | 148016 | .unused, |
| | 148017 | .unused, |
| | 148018 | .unused, |
| | 148019 | .unused, |
| | 148020 | .unused, |
| | 148021 | .unused, |
| | 148022 | .unused, |
| | 148023 | .unused, |
| | 148024 | .unused, |
| | 148025 | }, |
| | 148026 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148027 | .each = .{ .once = &.{ |
| | 148028 | .{ ._, .vp_w, .srl, .tmp0y, .src0y, .ui(8), ._ }, |
| | 148029 | .{ ._, .vp_w, .mull, .dst0y, .src0y, .tmp0y, ._ }, |
| | 148030 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 148031 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148032 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148033 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148034 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148035 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148036 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 148037 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148038 | } }, |
| | 148039 | }, .{ |
| | 148040 | .required_features = .{ .avx, null, null, null }, |
| | 148041 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148042 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 148043 | .patterns = &.{ |
| | 148044 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148045 | }, |
| | 148046 | .extra_temps = .{ |
| | 148047 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 148048 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 148049 | .unused, |
| | 148050 | .unused, |
| | 148051 | .unused, |
| | 148052 | .unused, |
| | 148053 | .unused, |
| | 148054 | .unused, |
| | 148055 | .unused, |
| | 148056 | .unused, |
| | 148057 | .unused, |
| | 148058 | }, |
| | 148059 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148060 | .each = .{ .once = &.{ |
| | 148061 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 148062 | .{ ._, .vp_w, .srl, .tmp1x, .src0x, .ui(8), ._ }, |
| | 148063 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp1x, ._ }, |
| | 148064 | .{ ._, .vp_w, .srl, .tmp1x, .tmp0x, .ui(8), ._ }, |
| | 148065 | .{ ._, .vp_w, .mull, .tmp0x, .tmp0x, .tmp1x, ._ }, |
| | 148066 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148067 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148068 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148069 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148070 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148071 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 148072 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148073 | } }, |
| | 148074 | }, .{ |
| | 148075 | .required_features = .{ .avx2, null, null, null }, |
| | 148076 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148077 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 148078 | .patterns = &.{ |
| | 148079 | .{ .src = .{ .mem, .none, .none } }, |
| | 148080 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148081 | }, |
| | 148082 | .extra_temps = .{ |
| | 148083 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148084 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148085 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148086 | .unused, |
| | 148087 | .unused, |
| | 148088 | .unused, |
| | 148089 | .unused, |
| | 148090 | .unused, |
| | 148091 | .unused, |
| | 148092 | .unused, |
| | 148093 | .unused, |
| | 148094 | }, |
| | 148095 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148096 | .each = .{ .once = &.{ |
| | 148097 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148098 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 148099 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .src0y, ._ }, |
| | 148100 | .{ ._, .vp_b, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148101 | .{ ._, .vp_w, .srl, .tmp2y, .dst0y, .ui(8), ._ }, |
| | 148102 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148103 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148104 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148105 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148106 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148107 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148108 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148109 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148110 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148111 | } }, |
| | 148112 | }, .{ |
| | 148113 | .required_features = .{ .avx, null, null, null }, |
| | 148114 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148115 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 148116 | .patterns = &.{ |
| | 148117 | .{ .src = .{ .mem, .none, .none } }, |
| | 148118 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148119 | }, |
| | 148120 | .extra_temps = .{ |
| | 148121 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148122 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148123 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148124 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148125 | .unused, |
| | 148126 | .unused, |
| | 148127 | .unused, |
| | 148128 | .unused, |
| | 148129 | .unused, |
| | 148130 | .unused, |
| | 148131 | .unused, |
| | 148132 | }, |
| | 148133 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148134 | .each = .{ .once = &.{ |
| | 148135 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148136 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 148137 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .src0y, ._ }, |
| | 148138 | .{ ._, .vp_b, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| | 148139 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| | 148140 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| | 148141 | .{ ._, .vp_b, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| | 148142 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 148143 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 148144 | .{ ._, .vp_w, .srl, .tmp3x, .tmp2x, .ui(8), ._ }, |
| | 148145 | .{ ._, .vp_w, .mull, .tmp2x, .tmp2x, .tmp3x, ._ }, |
| | 148146 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148147 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148148 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148149 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148150 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148151 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148152 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148153 | } }, |
| | 148154 | }, .{ |
| | 148155 | .required_features = .{ .avx512f, null, null, null }, |
| | 148156 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148157 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 148158 | .patterns = &.{ |
| | 148159 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148160 | }, |
| | 148161 | .extra_temps = .{ |
| | 148162 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148163 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148164 | .unused, |
| | 148165 | .unused, |
| | 148166 | .unused, |
| | 148167 | .unused, |
| | 148168 | .unused, |
| | 148169 | .unused, |
| | 148170 | .unused, |
| | 148171 | .unused, |
| | 148172 | .unused, |
| | 148173 | }, |
| | 148174 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148175 | .each = .{ .once = &.{ |
| | 148176 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 148177 | .{ ._, .v_dqa, .mov, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 148178 | .{ ._, .vp_w, .srl, .tmp1y, .dst0y, .ui(8), ._ }, |
| | 148179 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 148180 | .{ ._, .vp_w, .srl, .tmp1y, .tmp0y, .ui(8), ._ }, |
| | 148181 | .{ ._, .vp_w, .mull, .tmp0y, .tmp0y, .tmp1y, ._ }, |
| | 148182 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 148183 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 148184 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148185 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148186 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148187 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148188 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148189 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 148190 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148191 | } }, |
| | 148192 | }, .{ |
| | 148193 | .required_features = .{ .avx512f, null, null, null }, |
| | 148194 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148195 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 148196 | .patterns = &.{ |
| | 148197 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148198 | }, |
| | 148199 | .extra_temps = .{ |
| | 148200 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148201 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148202 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148203 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148204 | .unused, |
| | 148205 | .unused, |
| | 148206 | .unused, |
| | 148207 | .unused, |
| | 148208 | .unused, |
| | 148209 | .unused, |
| | 148210 | .unused, |
| | 148211 | }, |
| | 148212 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148213 | .each = .{ .once = &.{ |
| | 148214 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148215 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 148216 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 148217 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 148218 | .{ ._, .vp_b, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| | 148219 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .mem(.src0y), ._ }, |
| | 148220 | .{ ._, .vp_b, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| | 148221 | .{ ._, .vp_w, .srl, .tmp3y, .tmp2y, .ui(8), ._ }, |
| | 148222 | .{ ._, .vp_w, .mull, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| | 148223 | .{ ._, .vp_w, .srl, .tmp3y, .dst0y, .ui(8), ._ }, |
| | 148224 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 148225 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148226 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148227 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148228 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148229 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148230 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148231 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148232 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148233 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148234 | } }, |
| | 148235 | }, .{ |
| | 148236 | .required_features = .{ .avx2, null, null, null }, |
| | 148237 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148238 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 148239 | .patterns = &.{ |
| | 148240 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148241 | }, |
| | 148242 | .extra_temps = .{ |
| | 148243 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148244 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148245 | .unused, |
| | 148246 | .unused, |
| | 148247 | .unused, |
| | 148248 | .unused, |
| | 148249 | .unused, |
| | 148250 | .unused, |
| | 148251 | .unused, |
| | 148252 | .unused, |
| | 148253 | .unused, |
| | 148254 | }, |
| | 148255 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148256 | .clobbers = .{ .eflags = true }, |
| | 148257 | .each = .{ .once = &.{ |
| | 148258 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_unaligned_size), ._, ._ }, |
| | 148259 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 148260 | .{ ._, .vp_w, .srl, .tmp1y, .dst0y, .ui(8), ._ }, |
| | 148261 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 148262 | .{ .@"0:", .vp_w, .movzxb, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 148263 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 148264 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 148265 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148266 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 148267 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 148268 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 148269 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 148270 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 148271 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 148272 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 148273 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 148274 | } }, |
| | 148275 | }, .{ |
| | 148276 | .required_features = .{ .avx, null, null, null }, |
| | 148277 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148278 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 148279 | .patterns = &.{ |
| | 148280 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148281 | }, |
| | 148282 | .extra_temps = .{ |
| | 148283 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148284 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 148285 | .unused, |
| | 148286 | .unused, |
| | 148287 | .unused, |
| | 148288 | .unused, |
| | 148289 | .unused, |
| | 148290 | .unused, |
| | 148291 | .unused, |
| | 148292 | .unused, |
| | 148293 | .unused, |
| | 148294 | }, |
| | 148295 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148296 | .clobbers = .{ .eflags = true }, |
| | 148297 | .each = .{ .once = &.{ |
| | 148298 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, |
| | 148299 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 148300 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| | 148301 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 148302 | .{ .@"0:", .vp_w, .movzxb, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 148303 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 148304 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 148305 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148306 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 148307 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 148308 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 148309 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 148310 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 148311 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 148312 | } }, |
| | 148313 | }, .{ |
| | 148314 | .required_features = .{ .sse4_1, null, null, null }, |
| | 148315 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148316 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 148317 | .patterns = &.{ |
| | 148318 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148319 | }, |
| | 148320 | .extra_temps = .{ |
| | 148321 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148322 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 148323 | .unused, |
| | 148324 | .unused, |
| | 148325 | .unused, |
| | 148326 | .unused, |
| | 148327 | .unused, |
| | 148328 | .unused, |
| | 148329 | .unused, |
| | 148330 | .unused, |
| | 148331 | .unused, |
| | 148332 | }, |
| | 148333 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148334 | .clobbers = .{ .eflags = true }, |
| | 148335 | .each = .{ .once = &.{ |
| | 148336 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, |
| | 148337 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 148338 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 148339 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 148340 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148341 | .{ .@"0:", .p_w, .movzxb, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 148342 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148343 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 148344 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148345 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 148346 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148347 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 148348 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148349 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 148350 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148351 | } }, |
| | 148352 | }, .{ |
| | 148353 | .required_features = .{ .sse2, null, null, null }, |
| | 148354 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148355 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 148356 | .patterns = &.{ |
| | 148357 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148358 | }, |
| | 148359 | .extra_temps = .{ |
| | 148360 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148361 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 148362 | .unused, |
| | 148363 | .unused, |
| | 148364 | .unused, |
| | 148365 | .unused, |
| | 148366 | .unused, |
| | 148367 | .unused, |
| | 148368 | .unused, |
| | 148369 | .unused, |
| | 148370 | .unused, |
| | 148371 | }, |
| | 148372 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148373 | .clobbers = .{ .eflags = true }, |
| | 148374 | .each = .{ .once = &.{ |
| | 148375 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_unaligned_size), ._, ._ }, |
| | 148376 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 148377 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| | 148378 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| | 148379 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148380 | .{ .@"0:", ._q, .mov, .tmp1x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 148381 | .{ ._, .p_, .unpcklbw, .tmp1x, .tmp1x, ._, ._ }, |
| | 148382 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148383 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 148384 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148385 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 148386 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148387 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 148388 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148389 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 148390 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 148391 | } }, |
| | 148392 | }, .{ |
| | 148393 | .required_features = .{ .avx512f, null, null, null }, |
| | 148394 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148395 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| | 148396 | .patterns = &.{ |
| | 148397 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148398 | }, |
| | 148399 | .extra_temps = .{ |
| | 148400 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148401 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148402 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148403 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148404 | .unused, |
| | 148405 | .unused, |
| | 148406 | .unused, |
| | 148407 | .unused, |
| | 148408 | .unused, |
| | 148409 | .unused, |
| | 148410 | .unused, |
| | 148411 | }, |
| | 148412 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148413 | .clobbers = .{ .eflags = true }, |
| | 148414 | .each = .{ .once = &.{ |
| | 148415 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148416 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 148417 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 148418 | .{ ._, ._, .mov, .tmp0d, .sia(-96, .src0, .add_size), ._, ._ }, |
| | 148419 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 148420 | .{ ._, .vp_b, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| | 148421 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 148422 | .{ ._, .vp_b, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| | 148423 | .{ ._, .vp_w, .srl, .tmp3y, .tmp2y, .ui(8), ._ }, |
| | 148424 | .{ ._, .vp_w, .mull, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| | 148425 | .{ ._, .vp_w, .srl, .tmp3y, .dst0y, .ui(8), ._ }, |
| | 148426 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 148427 | .{ .@"0:", .vp_w, .movzxb, .tmp3y, .memid(.src0x, .tmp0, 16), ._, ._ }, |
| | 148428 | .{ ._, .vp_w, .mull, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| | 148429 | .{ ._, .vp_w, .movzxb, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 148430 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 148431 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 148432 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148433 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148434 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148435 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148436 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148437 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148438 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148439 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148440 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148441 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148442 | } }, |
| | 148443 | }, .{ |
| | 148444 | .required_features = .{ .avx2, null, null, null }, |
| | 148445 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148446 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 148447 | .patterns = &.{ |
| | 148448 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148449 | }, |
| | 148450 | .extra_temps = .{ |
| | 148451 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148452 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148453 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148454 | .unused, |
| | 148455 | .unused, |
| | 148456 | .unused, |
| | 148457 | .unused, |
| | 148458 | .unused, |
| | 148459 | .unused, |
| | 148460 | .unused, |
| | 148461 | .unused, |
| | 148462 | }, |
| | 148463 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148464 | .clobbers = .{ .eflags = true }, |
| | 148465 | .each = .{ .once = &.{ |
| | 148466 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148467 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 148468 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 148469 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 148470 | .{ ._, .vp_b, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148471 | .{ ._, .vp_w, .srl, .tmp2y, .dst0y, .ui(8), ._ }, |
| | 148472 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148473 | .{ .@"0:", .vp_w, .movzxb, .tmp2y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 148474 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148475 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 148476 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148477 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148478 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148479 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148480 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148481 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148482 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148483 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148484 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148485 | } }, |
| | 148486 | }, .{ |
| | 148487 | .required_features = .{ .avx, null, null, null }, |
| | 148488 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148489 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| | 148490 | .patterns = &.{ |
| | 148491 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148492 | }, |
| | 148493 | .extra_temps = .{ |
| | 148494 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148495 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148496 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148497 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| | 148498 | .unused, |
| | 148499 | .unused, |
| | 148500 | .unused, |
| | 148501 | .unused, |
| | 148502 | .unused, |
| | 148503 | .unused, |
| | 148504 | .unused, |
| | 148505 | }, |
| | 148506 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148507 | .clobbers = .{ .eflags = true }, |
| | 148508 | .each = .{ .once = &.{ |
| | 148509 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148510 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 148511 | .{ ._, ._, .mov, .tmp0d, .sia(-40, .src0, .add_size), ._, ._ }, |
| | 148512 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 148513 | .{ ._, .vp_b, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| | 148514 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| | 148515 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| | 148516 | .{ ._, .vp_b, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| | 148517 | .{ ._, .vp_w, .srl, .tmp3x, .dst0x, .ui(8), ._ }, |
| | 148518 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 148519 | .{ ._, .vp_w, .srl, .tmp3x, .tmp2x, .ui(8), ._ }, |
| | 148520 | .{ ._, .vp_w, .mull, .tmp2x, .tmp2x, .tmp3x, ._ }, |
| | 148521 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148522 | .{ .@"0:", .vp_w, .movzxb, .tmp2x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 148523 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148524 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 148525 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148526 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148527 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148528 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148529 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148530 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148531 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148532 | } }, |
| | 148533 | }, .{ |
| | 148534 | .required_features = .{ .sse4_1, null, null, null }, |
| | 148535 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148536 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 148537 | .patterns = &.{ |
| | 148538 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148539 | }, |
| | 148540 | .extra_temps = .{ |
| | 148541 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148542 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148543 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 148544 | .unused, |
| | 148545 | .unused, |
| | 148546 | .unused, |
| | 148547 | .unused, |
| | 148548 | .unused, |
| | 148549 | .unused, |
| | 148550 | .unused, |
| | 148551 | .unused, |
| | 148552 | }, |
| | 148553 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148554 | .clobbers = .{ .eflags = true }, |
| | 148555 | .each = .{ .once = &.{ |
| | 148556 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148557 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 148558 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_size), ._, ._ }, |
| | 148559 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| | 148560 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 148561 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 148562 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 148563 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 148564 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148565 | .{ .@"0:", .p_w, .movzxb, .tmp2x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 148566 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148567 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 148568 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148569 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148570 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148571 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148572 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148573 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148574 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148575 | } }, |
| | 148576 | }, .{ |
| | 148577 | .required_features = .{ .sse2, null, null, null }, |
| | 148578 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148579 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| | 148580 | .patterns = &.{ |
| | 148581 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148582 | }, |
| | 148583 | .extra_temps = .{ |
| | 148584 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148585 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148586 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| | 148587 | .unused, |
| | 148588 | .unused, |
| | 148589 | .unused, |
| | 148590 | .unused, |
| | 148591 | .unused, |
| | 148592 | .unused, |
| | 148593 | .unused, |
| | 148594 | .unused, |
| | 148595 | }, |
| | 148596 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148597 | .clobbers = .{ .eflags = true }, |
| | 148598 | .each = .{ .once = &.{ |
| | 148599 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148600 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 148601 | .{ ._, ._, .mov, .tmp0d, .sia(-24, .src0, .add_size), ._, ._ }, |
| | 148602 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| | 148603 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 148604 | .{ ._, .p_b, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 148605 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| | 148606 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| | 148607 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148608 | .{ .@"0:", ._q, .mov, .tmp2x, .memi(.src0q, .tmp0), ._, ._ }, |
| | 148609 | .{ ._, .p_, .unpcklbw, .tmp2x, .tmp2x, ._, ._ }, |
| | 148610 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148611 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 148612 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148613 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148614 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148615 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148616 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148617 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148618 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148619 | } }, |
| | 148620 | }, .{ |
| | 148621 | .required_features = .{ .slow_incdec, null, null, null }, |
| | 148622 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148623 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 148624 | .patterns = &.{ |
| | 148625 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148626 | }, |
| | 148627 | .extra_temps = .{ |
| | 148628 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148629 | .unused, |
| | 148630 | .unused, |
| | 148631 | .unused, |
| | 148632 | .unused, |
| | 148633 | .unused, |
| | 148634 | .unused, |
| | 148635 | .unused, |
| | 148636 | .unused, |
| | 148637 | .unused, |
| | 148638 | .unused, |
| | 148639 | }, |
| | 148640 | .dst_temps = .{ .{ .reg = .al }, .unused }, |
| | 148641 | .clobbers = .{ .eflags = true }, |
| | 148642 | .each = .{ .once = &.{ |
| | 148643 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 148644 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 148645 | .{ .@"0:", ._, .mul, .memi(.src0b, .tmp0), ._, ._, ._ }, |
| | 148646 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 148647 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148648 | } }, |
| | 148649 | }, .{ |
| | 148650 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| | 148651 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| | 148652 | .patterns = &.{ |
| | 148653 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148654 | }, |
| | 148655 | .extra_temps = .{ |
| | 148656 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148657 | .unused, |
| | 148658 | .unused, |
| | 148659 | .unused, |
| | 148660 | .unused, |
| | 148661 | .unused, |
| | 148662 | .unused, |
| | 148663 | .unused, |
| | 148664 | .unused, |
| | 148665 | .unused, |
| | 148666 | .unused, |
| | 148667 | }, |
| | 148668 | .dst_temps = .{ .{ .reg = .al }, .unused }, |
| | 148669 | .clobbers = .{ .eflags = true }, |
| | 148670 | .each = .{ .once = &.{ |
| | 148671 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| | 148672 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| | 148673 | .{ .@"0:", ._, .mul, .memi(.src0b, .tmp0), ._, ._, ._ }, |
| | 148674 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 148675 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 148676 | } }, |
| | 148677 | }, .{ |
| | 148678 | .required_features = .{ .avx, null, null, null }, |
| | 148679 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148680 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 148681 | .patterns = &.{ |
| | 148682 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148683 | }, |
| | 148684 | .extra_temps = .{ |
| | 148685 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148686 | .unused, |
| | 148687 | .unused, |
| | 148688 | .unused, |
| | 148689 | .unused, |
| | 148690 | .unused, |
| | 148691 | .unused, |
| | 148692 | .unused, |
| | 148693 | .unused, |
| | 148694 | .unused, |
| | 148695 | .unused, |
| | 148696 | }, |
| | 148697 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148698 | .each = .{ .once = &.{ |
| | 148699 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 148700 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 148701 | } }, |
| | 148702 | }, .{ |
| | 148703 | .required_features = .{ .sse2, null, null, null }, |
| | 148704 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148705 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 148706 | .patterns = &.{ |
| | 148707 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 148708 | }, |
| | 148709 | .extra_temps = .{ |
| | 148710 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148711 | .unused, |
| | 148712 | .unused, |
| | 148713 | .unused, |
| | 148714 | .unused, |
| | 148715 | .unused, |
| | 148716 | .unused, |
| | 148717 | .unused, |
| | 148718 | .unused, |
| | 148719 | .unused, |
| | 148720 | .unused, |
| | 148721 | }, |
| | 148722 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 148723 | .each = .{ .once = &.{ |
| | 148724 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 148725 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 148726 | } }, |
| | 148727 | }, .{ |
| | 148728 | .required_features = .{ .avx, null, null, null }, |
| | 148729 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148730 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 148731 | .patterns = &.{ |
| | 148732 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148733 | }, |
| | 148734 | .extra_temps = .{ |
| | 148735 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148736 | .unused, |
| | 148737 | .unused, |
| | 148738 | .unused, |
| | 148739 | .unused, |
| | 148740 | .unused, |
| | 148741 | .unused, |
| | 148742 | .unused, |
| | 148743 | .unused, |
| | 148744 | .unused, |
| | 148745 | .unused, |
| | 148746 | }, |
| | 148747 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148748 | .each = .{ .once = &.{ |
| | 148749 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 148750 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 148751 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 148752 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148753 | } }, |
| | 148754 | }, .{ |
| | 148755 | .required_features = .{ .sse2, null, null, null }, |
| | 148756 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148757 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 148758 | .patterns = &.{ |
| | 148759 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 148760 | }, |
| | 148761 | .extra_temps = .{ |
| | 148762 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148763 | .unused, |
| | 148764 | .unused, |
| | 148765 | .unused, |
| | 148766 | .unused, |
| | 148767 | .unused, |
| | 148768 | .unused, |
| | 148769 | .unused, |
| | 148770 | .unused, |
| | 148771 | .unused, |
| | 148772 | .unused, |
| | 148773 | }, |
| | 148774 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 148775 | .each = .{ .once = &.{ |
| | 148776 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 148777 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 148778 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 148779 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 148780 | } }, |
| | 148781 | }, .{ |
| | 148782 | .required_features = .{ .avx, null, null, null }, |
| | 148783 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148784 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 148785 | .patterns = &.{ |
| | 148786 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148787 | }, |
| | 148788 | .extra_temps = .{ |
| | 148789 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148790 | .unused, |
| | 148791 | .unused, |
| | 148792 | .unused, |
| | 148793 | .unused, |
| | 148794 | .unused, |
| | 148795 | .unused, |
| | 148796 | .unused, |
| | 148797 | .unused, |
| | 148798 | .unused, |
| | 148799 | .unused, |
| | 148800 | }, |
| | 148801 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148802 | .each = .{ .once = &.{ |
| | 148803 | .{ ._, .vp_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 148804 | .{ ._, .vp_w, .mull, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 148805 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 148806 | .{ ._, .vp_w, .mull, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 148807 | } }, |
| | 148808 | }, .{ |
| | 148809 | .required_features = .{ .sse2, null, null, null }, |
| | 148810 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148811 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 148812 | .patterns = &.{ |
| | 148813 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 148814 | }, |
| | 148815 | .extra_temps = .{ |
| | 148816 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148817 | .unused, |
| | 148818 | .unused, |
| | 148819 | .unused, |
| | 148820 | .unused, |
| | 148821 | .unused, |
| | 148822 | .unused, |
| | 148823 | .unused, |
| | 148824 | .unused, |
| | 148825 | .unused, |
| | 148826 | .unused, |
| | 148827 | }, |
| | 148828 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 148829 | .each = .{ .once = &.{ |
| | 148830 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 148831 | .{ ._, .p_w, .mull, .tmp0x, .src0x, ._, ._ }, |
| | 148832 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 148833 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 148834 | } }, |
| | 148835 | }, .{ |
| | 148836 | .required_features = .{ .avx, null, null, null }, |
| | 148837 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148838 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 148839 | .patterns = &.{ |
| | 148840 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148841 | }, |
| | 148842 | .extra_temps = .{ |
| | 148843 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148844 | .unused, |
| | 148845 | .unused, |
| | 148846 | .unused, |
| | 148847 | .unused, |
| | 148848 | .unused, |
| | 148849 | .unused, |
| | 148850 | .unused, |
| | 148851 | .unused, |
| | 148852 | .unused, |
| | 148853 | .unused, |
| | 148854 | }, |
| | 148855 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148856 | .each = .{ .once = &.{ |
| | 148857 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 148858 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 148859 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148860 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148861 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 148862 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148863 | } }, |
| | 148864 | }, .{ |
| | 148865 | .required_features = .{ .sse2, null, null, null }, |
| | 148866 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148867 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 148868 | .patterns = &.{ |
| | 148869 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 148870 | }, |
| | 148871 | .extra_temps = .{ |
| | 148872 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148873 | .unused, |
| | 148874 | .unused, |
| | 148875 | .unused, |
| | 148876 | .unused, |
| | 148877 | .unused, |
| | 148878 | .unused, |
| | 148879 | .unused, |
| | 148880 | .unused, |
| | 148881 | .unused, |
| | 148882 | .unused, |
| | 148883 | }, |
| | 148884 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 148885 | .each = .{ .once = &.{ |
| | 148886 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 148887 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 148888 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148889 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 148890 | .{ ._, .p_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 148891 | .{ ._, .p_w, .mull, .dst0x, .tmp0x, ._, ._ }, |
| | 148892 | } }, |
| | 148893 | }, .{ |
| | 148894 | .required_features = .{ .avx, null, null, null }, |
| | 148895 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148896 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 148897 | .patterns = &.{ |
| | 148898 | .{ .src = .{ .mem, .none, .none } }, |
| | 148899 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148900 | }, |
| | 148901 | .extra_temps = .{ |
| | 148902 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148903 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148904 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148905 | .unused, |
| | 148906 | .unused, |
| | 148907 | .unused, |
| | 148908 | .unused, |
| | 148909 | .unused, |
| | 148910 | .unused, |
| | 148911 | .unused, |
| | 148912 | .unused, |
| | 148913 | }, |
| | 148914 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148915 | .each = .{ .once = &.{ |
| | 148916 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148917 | .{ ._, .v_dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 148918 | .{ ._, .vp_, .andn, .dst0x, .tmp2x, .src0x, ._ }, |
| | 148919 | .{ ._, .vp_w, .sub, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148920 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148921 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148922 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148923 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148924 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148925 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148926 | } }, |
| | 148927 | }, .{ |
| | 148928 | .required_features = .{ .sse2, null, null, null }, |
| | 148929 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148930 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 148931 | .patterns = &.{ |
| | 148932 | .{ .src = .{ .mem, .none, .none } }, |
| | 148933 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148934 | }, |
| | 148935 | .extra_temps = .{ |
| | 148936 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148937 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 148938 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148939 | .unused, |
| | 148940 | .unused, |
| | 148941 | .unused, |
| | 148942 | .unused, |
| | 148943 | .unused, |
| | 148944 | .unused, |
| | 148945 | .unused, |
| | 148946 | .unused, |
| | 148947 | }, |
| | 148948 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148949 | .each = .{ .once = &.{ |
| | 148950 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148951 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 148952 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| | 148953 | .{ ._, .p_, .andn, .dst0x, .src0x, ._, ._ }, |
| | 148954 | .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 148955 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148956 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148957 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 148958 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148959 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 148960 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 148961 | } }, |
| | 148962 | }, .{ |
| | 148963 | .required_features = .{ .avx2, null, null, null }, |
| | 148964 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148965 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 148966 | .patterns = &.{ |
| | 148967 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148968 | }, |
| | 148969 | .extra_temps = .{ |
| | 148970 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 148971 | .unused, |
| | 148972 | .unused, |
| | 148973 | .unused, |
| | 148974 | .unused, |
| | 148975 | .unused, |
| | 148976 | .unused, |
| | 148977 | .unused, |
| | 148978 | .unused, |
| | 148979 | .unused, |
| | 148980 | .unused, |
| | 148981 | }, |
| | 148982 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148983 | .each = .{ .once = &.{ |
| | 148984 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 148985 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 148986 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148987 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148988 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 148989 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148990 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 148991 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148992 | } }, |
| | 148993 | }, .{ |
| | 148994 | .required_features = .{ .avx, null, null, null }, |
| | 148995 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 148996 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 148997 | .patterns = &.{ |
| | 148998 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148999 | }, |
| | 149000 | .extra_temps = .{ |
| | 149001 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 149002 | .unused, |
| | 149003 | .unused, |
| | 149004 | .unused, |
| | 149005 | .unused, |
| | 149006 | .unused, |
| | 149007 | .unused, |
| | 149008 | .unused, |
| | 149009 | .unused, |
| | 149010 | .unused, |
| | 149011 | .unused, |
| | 149012 | }, |
| | 149013 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149014 | .each = .{ .once = &.{ |
| | 149015 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 149016 | .{ ._, .vp_w, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 149017 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 149018 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149019 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 149020 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149021 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 149022 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149023 | } }, |
| | 149024 | }, .{ |
| | 149025 | .required_features = .{ .avx2, null, null, null }, |
| | 149026 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149027 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 149028 | .patterns = &.{ |
| | 149029 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149030 | }, |
| | 149031 | .extra_temps = .{ |
| | 149032 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 149033 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149034 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149035 | .unused, |
| | 149036 | .unused, |
| | 149037 | .unused, |
| | 149038 | .unused, |
| | 149039 | .unused, |
| | 149040 | .unused, |
| | 149041 | .unused, |
| | 149042 | .unused, |
| | 149043 | }, |
| | 149044 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149045 | .each = .{ .once = &.{ |
| | 149046 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149047 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 149048 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .src0y, ._ }, |
| | 149049 | .{ ._, .vp_w, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 149050 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 149051 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149052 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149053 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149054 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149055 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149056 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 149057 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149058 | } }, |
| | 149059 | }, .{ |
| | 149060 | .required_features = .{ .avx, null, null, null }, |
| | 149061 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149062 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 149063 | .patterns = &.{ |
| | 149064 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149065 | }, |
| | 149066 | .extra_temps = .{ |
| | 149067 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 149068 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149069 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149070 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149071 | .unused, |
| | 149072 | .unused, |
| | 149073 | .unused, |
| | 149074 | .unused, |
| | 149075 | .unused, |
| | 149076 | .unused, |
| | 149077 | .unused, |
| | 149078 | }, |
| | 149079 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149080 | .each = .{ .once = &.{ |
| | 149081 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149082 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 149083 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .src0y, ._ }, |
| | 149084 | .{ ._, .vp_w, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| | 149085 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| | 149086 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| | 149087 | .{ ._, .vp_w, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| | 149088 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149089 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149090 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149091 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149092 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149093 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 149094 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149095 | } }, |
| | 149096 | }, .{ |
| | 149097 | .required_features = .{ .avx512f, null, null, null }, |
| | 149098 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149099 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 149100 | .patterns = &.{ |
| | 149101 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149102 | }, |
| | 149103 | .extra_temps = .{ |
| | 149104 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 149105 | .unused, |
| | 149106 | .unused, |
| | 149107 | .unused, |
| | 149108 | .unused, |
| | 149109 | .unused, |
| | 149110 | .unused, |
| | 149111 | .unused, |
| | 149112 | .unused, |
| | 149113 | .unused, |
| | 149114 | .unused, |
| | 149115 | }, |
| | 149116 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149117 | .each = .{ .once = &.{ |
| | 149118 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 149119 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 149120 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 149121 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149122 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 149123 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149124 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 149125 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149126 | .{ ._, .vp_w, .shufl, .tmp0x, .dst0x, .ui(0b01), ._ }, |
| | 149127 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149128 | } }, |
| | 149129 | }, .{ |
| | 149130 | .required_features = .{ .avx512f, null, null, null }, |
| | 149131 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149132 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 149133 | .patterns = &.{ |
| | 149134 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149135 | }, |
| | 149136 | .extra_temps = .{ |
| | 149137 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 149138 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149139 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149140 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149141 | .unused, |
| | 149142 | .unused, |
| | 149143 | .unused, |
| | 149144 | .unused, |
| | 149145 | .unused, |
| | 149146 | .unused, |
| | 149147 | .unused, |
| | 149148 | }, |
| | 149149 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149150 | .each = .{ .once = &.{ |
| | 149151 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149152 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 149153 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 149154 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 149155 | .{ ._, .vp_w, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| | 149156 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .mem(.src0y), ._ }, |
| | 149157 | .{ ._, .vp_w, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| | 149158 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 149159 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 149160 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149161 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149162 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149163 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149164 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149165 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 149166 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149167 | } }, |
| | 149168 | }, .{ |
| | 149169 | .required_features = .{ .avx2, null, null, null }, |
| | 149170 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149171 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 149172 | .patterns = &.{ |
| | 149173 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149174 | }, |
| | 149175 | .extra_temps = .{ |
| | 149176 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149177 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 149178 | .unused, |
| | 149179 | .unused, |
| | 149180 | .unused, |
| | 149181 | .unused, |
| | 149182 | .unused, |
| | 149183 | .unused, |
| | 149184 | .unused, |
| | 149185 | .unused, |
| | 149186 | .unused, |
| | 149187 | }, |
| | 149188 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149189 | .clobbers = .{ .eflags = true }, |
| | 149190 | .each = .{ .once = &.{ |
| | 149191 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 149192 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 149193 | .{ .@"0:", .vp_w, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 149194 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 149195 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149196 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 149197 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149198 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149199 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149200 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149201 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149202 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 149203 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149204 | } }, |
| | 149205 | }, .{ |
| | 149206 | .required_features = .{ .avx, null, null, null }, |
| | 149207 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149208 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 149209 | .patterns = &.{ |
| | 149210 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149211 | }, |
| | 149212 | .extra_temps = .{ |
| | 149213 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149214 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 149215 | .unused, |
| | 149216 | .unused, |
| | 149217 | .unused, |
| | 149218 | .unused, |
| | 149219 | .unused, |
| | 149220 | .unused, |
| | 149221 | .unused, |
| | 149222 | .unused, |
| | 149223 | .unused, |
| | 149224 | }, |
| | 149225 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149226 | .clobbers = .{ .eflags = true }, |
| | 149227 | .each = .{ .once = &.{ |
| | 149228 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 149229 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 149230 | .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 149231 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 149232 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149233 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149234 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149235 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149236 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149237 | .{ ._, .vp_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 149238 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149239 | } }, |
| | 149240 | }, .{ |
| | 149241 | .required_features = .{ .sse2, null, null, null }, |
| | 149242 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149243 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 149244 | .patterns = &.{ |
| | 149245 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149246 | }, |
| | 149247 | .extra_temps = .{ |
| | 149248 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149249 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 149250 | .unused, |
| | 149251 | .unused, |
| | 149252 | .unused, |
| | 149253 | .unused, |
| | 149254 | .unused, |
| | 149255 | .unused, |
| | 149256 | .unused, |
| | 149257 | .unused, |
| | 149258 | .unused, |
| | 149259 | }, |
| | 149260 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149261 | .clobbers = .{ .eflags = true }, |
| | 149262 | .each = .{ .once = &.{ |
| | 149263 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 149264 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 149265 | .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 149266 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 149267 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149268 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149269 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 149270 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149271 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 149272 | .{ ._, .p_w, .shufl, .tmp1x, .dst0x, .ui(0b01), ._ }, |
| | 149273 | .{ ._, .p_w, .mull, .dst0x, .tmp1x, ._, ._ }, |
| | 149274 | } }, |
| | 149275 | }, .{ |
| | 149276 | .required_features = .{ .avx512f, null, null, null }, |
| | 149277 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149278 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 149279 | .patterns = &.{ |
| | 149280 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149281 | }, |
| | 149282 | .extra_temps = .{ |
| | 149283 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149284 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149285 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149286 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149287 | .unused, |
| | 149288 | .unused, |
| | 149289 | .unused, |
| | 149290 | .unused, |
| | 149291 | .unused, |
| | 149292 | .unused, |
| | 149293 | .unused, |
| | 149294 | }, |
| | 149295 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149296 | .clobbers = .{ .eflags = true }, |
| | 149297 | .each = .{ .once = &.{ |
| | 149298 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149299 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 149300 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 149301 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 149302 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 149303 | .{ ._, .vp_w, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| | 149304 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 149305 | .{ ._, .vp_w, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| | 149306 | .{ .@"0:", .vp_w, .mull, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 149307 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 149308 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 149309 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149310 | .{ ._, .vp_w, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 149311 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 149312 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149313 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149314 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149315 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149316 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149317 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 149318 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149319 | } }, |
| | 149320 | }, .{ |
| | 149321 | .required_features = .{ .avx2, null, null, null }, |
| | 149322 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149323 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 149324 | .patterns = &.{ |
| | 149325 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149326 | }, |
| | 149327 | .extra_temps = .{ |
| | 149328 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149329 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149330 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149331 | .unused, |
| | 149332 | .unused, |
| | 149333 | .unused, |
| | 149334 | .unused, |
| | 149335 | .unused, |
| | 149336 | .unused, |
| | 149337 | .unused, |
| | 149338 | .unused, |
| | 149339 | }, |
| | 149340 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149341 | .clobbers = .{ .eflags = true }, |
| | 149342 | .each = .{ .once = &.{ |
| | 149343 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149344 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 149345 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 149346 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 149347 | .{ ._, .vp_w, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 149348 | .{ .@"0:", .vp_w, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 149349 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 149350 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149351 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 149352 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149353 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149354 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149355 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149356 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149357 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 149358 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149359 | } }, |
| | 149360 | }, .{ |
| | 149361 | .required_features = .{ .avx, null, null, null }, |
| | 149362 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149363 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 149364 | .patterns = &.{ |
| | 149365 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149366 | }, |
| | 149367 | .extra_temps = .{ |
| | 149368 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149369 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149370 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149371 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| | 149372 | .unused, |
| | 149373 | .unused, |
| | 149374 | .unused, |
| | 149375 | .unused, |
| | 149376 | .unused, |
| | 149377 | .unused, |
| | 149378 | .unused, |
| | 149379 | }, |
| | 149380 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149381 | .clobbers = .{ .eflags = true }, |
| | 149382 | .each = .{ .once = &.{ |
| | 149383 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149384 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 149385 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 149386 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 149387 | .{ ._, .vp_w, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| | 149388 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| | 149389 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| | 149390 | .{ ._, .vp_w, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| | 149391 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149392 | .{ .@"0:", .vp_w, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 149393 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 149394 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149395 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149396 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149397 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149398 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149399 | .{ ._, .vp_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 149400 | .{ ._, .vp_w, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149401 | } }, |
| | 149402 | }, .{ |
| | 149403 | .required_features = .{ .sse2, null, null, null }, |
| | 149404 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149405 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 149406 | .patterns = &.{ |
| | 149407 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149408 | }, |
| | 149409 | .extra_temps = .{ |
| | 149410 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149411 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149412 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| | 149413 | .unused, |
| | 149414 | .unused, |
| | 149415 | .unused, |
| | 149416 | .unused, |
| | 149417 | .unused, |
| | 149418 | .unused, |
| | 149419 | .unused, |
| | 149420 | .unused, |
| | 149421 | }, |
| | 149422 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149423 | .clobbers = .{ .eflags = true }, |
| | 149424 | .each = .{ .once = &.{ |
| | 149425 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149426 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 149427 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 149428 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| | 149429 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 149430 | .{ ._, .p_w, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 149431 | .{ .@"0:", .p_w, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 149432 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 149433 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149434 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149435 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 149436 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149437 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 149438 | .{ ._, .p_w, .shufl, .tmp2x, .dst0x, .ui(0b01), ._ }, |
| | 149439 | .{ ._, .p_w, .mull, .dst0x, .tmp2x, ._, ._ }, |
| | 149440 | } }, |
| | 149441 | }, .{ |
| | 149442 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| | 149443 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 149444 | .patterns = &.{ |
| | 149445 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149446 | }, |
| | 149447 | .extra_temps = .{ |
| | 149448 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149449 | .unused, |
| | 149450 | .unused, |
| | 149451 | .unused, |
| | 149452 | .unused, |
| | 149453 | .unused, |
| | 149454 | .unused, |
| | 149455 | .unused, |
| | 149456 | .unused, |
| | 149457 | .unused, |
| | 149458 | .unused, |
| | 149459 | }, |
| | 149460 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 149461 | .clobbers = .{ .eflags = true }, |
| | 149462 | .each = .{ .once = &.{ |
| | 149463 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 149464 | .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 149465 | .{ .@"0:", .i_, .mul, .dst0w, .memi(.src0w, .tmp0), ._, ._ }, |
| | 149466 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 149467 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149468 | } }, |
| | 149469 | }, .{ |
| | 149470 | .required_features = .{ .avx, null, null, null }, |
| | 149471 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149472 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 149473 | .patterns = &.{ |
| | 149474 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149475 | }, |
| | 149476 | .extra_temps = .{ |
| | 149477 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149478 | .unused, |
| | 149479 | .unused, |
| | 149480 | .unused, |
| | 149481 | .unused, |
| | 149482 | .unused, |
| | 149483 | .unused, |
| | 149484 | .unused, |
| | 149485 | .unused, |
| | 149486 | .unused, |
| | 149487 | .unused, |
| | 149488 | }, |
| | 149489 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149490 | .each = .{ .once = &.{ |
| | 149491 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01), ._ }, |
| | 149492 | .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| | 149493 | } }, |
| | 149494 | }, .{ |
| | 149495 | .required_features = .{ .sse2, null, null, null }, |
| | 149496 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149497 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 149498 | .patterns = &.{ |
| | 149499 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 149500 | }, |
| | 149501 | .extra_temps = .{ |
| | 149502 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149503 | .unused, |
| | 149504 | .unused, |
| | 149505 | .unused, |
| | 149506 | .unused, |
| | 149507 | .unused, |
| | 149508 | .unused, |
| | 149509 | .unused, |
| | 149510 | .unused, |
| | 149511 | .unused, |
| | 149512 | .unused, |
| | 149513 | }, |
| | 149514 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 149515 | .each = .{ .once = &.{ |
| | 149516 | .{ ._, .p_w, .shufl, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 149517 | .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 149518 | } }, |
| | 149519 | }, .{ |
| | 149520 | .required_features = .{ .avx, null, null, null }, |
| | 149521 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149522 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 149523 | .patterns = &.{ |
| | 149524 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149525 | }, |
| | 149526 | .extra_temps = .{ |
| | 149527 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149528 | .unused, |
| | 149529 | .unused, |
| | 149530 | .unused, |
| | 149531 | .unused, |
| | 149532 | .unused, |
| | 149533 | .unused, |
| | 149534 | .unused, |
| | 149535 | .unused, |
| | 149536 | .unused, |
| | 149537 | .unused, |
| | 149538 | }, |
| | 149539 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149540 | .each = .{ .once = &.{ |
| | 149541 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ }, |
| | 149542 | .{ ._, .vp_udq, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| | 149543 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 149544 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149545 | } }, |
| | 149546 | }, .{ |
| | 149547 | .required_features = .{ .sse2, null, null, null }, |
| | 149548 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149549 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 149550 | .patterns = &.{ |
| | 149551 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 149552 | }, |
| | 149553 | .extra_temps = .{ |
| | 149554 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149555 | .unused, |
| | 149556 | .unused, |
| | 149557 | .unused, |
| | 149558 | .unused, |
| | 149559 | .unused, |
| | 149560 | .unused, |
| | 149561 | .unused, |
| | 149562 | .unused, |
| | 149563 | .unused, |
| | 149564 | .unused, |
| | 149565 | }, |
| | 149566 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 149567 | .each = .{ .once = &.{ |
| | 149568 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_11_01_01), ._ }, |
| | 149569 | .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 149570 | .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 149571 | .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 149572 | } }, |
| | 149573 | }, .{ |
| | 149574 | .required_features = .{ .avx, null, null, null }, |
| | 149575 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149576 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 149577 | .patterns = &.{ |
| | 149578 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149579 | }, |
| | 149580 | .extra_temps = .{ |
| | 149581 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149582 | .unused, |
| | 149583 | .unused, |
| | 149584 | .unused, |
| | 149585 | .unused, |
| | 149586 | .unused, |
| | 149587 | .unused, |
| | 149588 | .unused, |
| | 149589 | .unused, |
| | 149590 | .unused, |
| | 149591 | .unused, |
| | 149592 | }, |
| | 149593 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149594 | .each = .{ .once = &.{ |
| | 149595 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 149596 | .{ ._, .vp_udq, .mul, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 149597 | .{ ._, .vp_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 149598 | .{ ._, .vp_udq, .mul, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 149599 | } }, |
| | 149600 | }, .{ |
| | 149601 | .required_features = .{ .sse2, null, null, null }, |
| | 149602 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149603 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 149604 | .patterns = &.{ |
| | 149605 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149606 | }, |
| | 149607 | .extra_temps = .{ |
| | 149608 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149609 | .unused, |
| | 149610 | .unused, |
| | 149611 | .unused, |
| | 149612 | .unused, |
| | 149613 | .unused, |
| | 149614 | .unused, |
| | 149615 | .unused, |
| | 149616 | .unused, |
| | 149617 | .unused, |
| | 149618 | .unused, |
| | 149619 | }, |
| | 149620 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149621 | .each = .{ .once = &.{ |
| | 149622 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10), ._ }, |
| | 149623 | .{ ._, .p_udq, .mul, .tmp0x, .src0x, ._, ._ }, |
| | 149624 | .{ ._, .p_w, .shufl, .dst0x, .src0x, .ui(0b11_10), ._ }, |
| | 149625 | .{ ._, .p_udq, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 149626 | } }, |
| | 149627 | }, .{ |
| | 149628 | .required_features = .{ .avx2, null, null, null }, |
| | 149629 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149630 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 149631 | .patterns = &.{ |
| | 149632 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149633 | }, |
| | 149634 | .extra_temps = .{ |
| | 149635 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149636 | .unused, |
| | 149637 | .unused, |
| | 149638 | .unused, |
| | 149639 | .unused, |
| | 149640 | .unused, |
| | 149641 | .unused, |
| | 149642 | .unused, |
| | 149643 | .unused, |
| | 149644 | .unused, |
| | 149645 | .unused, |
| | 149646 | }, |
| | 149647 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149648 | .each = .{ .once = &.{ |
| | 149649 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 149650 | .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 149651 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149652 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149653 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 149654 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149655 | } }, |
| | 149656 | }, .{ |
| | 149657 | .required_features = .{ .avx, null, null, null }, |
| | 149658 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149659 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 149660 | .patterns = &.{ |
| | 149661 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149662 | }, |
| | 149663 | .extra_temps = .{ |
| | 149664 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149665 | .unused, |
| | 149666 | .unused, |
| | 149667 | .unused, |
| | 149668 | .unused, |
| | 149669 | .unused, |
| | 149670 | .unused, |
| | 149671 | .unused, |
| | 149672 | .unused, |
| | 149673 | .unused, |
| | 149674 | .unused, |
| | 149675 | }, |
| | 149676 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149677 | .each = .{ .once = &.{ |
| | 149678 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 149679 | .{ ._, .vp_d, .mull, .dst0x, .src0x, .tmp0x, ._ }, |
| | 149680 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149681 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149682 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 149683 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149684 | } }, |
| | 149685 | }, .{ |
| | 149686 | .required_features = .{ .avx2, null, null, null }, |
| | 149687 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149688 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 149689 | .patterns = &.{ |
| | 149690 | .{ .src = .{ .mem, .none, .none } }, |
| | 149691 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149692 | }, |
| | 149693 | .extra_temps = .{ |
| | 149694 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 149695 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149696 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 149697 | .unused, |
| | 149698 | .unused, |
| | 149699 | .unused, |
| | 149700 | .unused, |
| | 149701 | .unused, |
| | 149702 | .unused, |
| | 149703 | .unused, |
| | 149704 | .unused, |
| | 149705 | }, |
| | 149706 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149707 | .each = .{ .once = &.{ |
| | 149708 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149709 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 149710 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .src0y, ._ }, |
| | 149711 | .{ ._, .vp_d, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 149712 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 149713 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149714 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149715 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149716 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149717 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149718 | } }, |
| | 149719 | }, .{ |
| | 149720 | .required_features = .{ .avx, null, null, null }, |
| | 149721 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149722 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 149723 | .patterns = &.{ |
| | 149724 | .{ .src = .{ .mem, .none, .none } }, |
| | 149725 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 149726 | }, |
| | 149727 | .extra_temps = .{ |
| | 149728 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 149729 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149730 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 149731 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 149732 | .unused, |
| | 149733 | .unused, |
| | 149734 | .unused, |
| | 149735 | .unused, |
| | 149736 | .unused, |
| | 149737 | .unused, |
| | 149738 | .unused, |
| | 149739 | }, |
| | 149740 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 149741 | .each = .{ .once = &.{ |
| | 149742 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149743 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 149744 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .src0y, ._ }, |
| | 149745 | .{ ._, .vp_d, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| | 149746 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| | 149747 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| | 149748 | .{ ._, .vp_d, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| | 149749 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149750 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149751 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149752 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149753 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149754 | } }, |
| | 149755 | }, .{ |
| | 149756 | .required_features = .{ .avx512f, null, null, null }, |
| | 149757 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149758 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 149759 | .patterns = &.{ |
| | 149760 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149761 | }, |
| | 149762 | .extra_temps = .{ |
| | 149763 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149764 | .unused, |
| | 149765 | .unused, |
| | 149766 | .unused, |
| | 149767 | .unused, |
| | 149768 | .unused, |
| | 149769 | .unused, |
| | 149770 | .unused, |
| | 149771 | .unused, |
| | 149772 | .unused, |
| | 149773 | .unused, |
| | 149774 | }, |
| | 149775 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149776 | .each = .{ .once = &.{ |
| | 149777 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| | 149778 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| | 149779 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 149780 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149781 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149782 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149783 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10), ._ }, |
| | 149784 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 149785 | } }, |
| | 149786 | }, .{ |
| | 149787 | .required_features = .{ .avx512f, null, null, null }, |
| | 149788 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149789 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 149790 | .patterns = &.{ |
| | 149791 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149792 | }, |
| | 149793 | .extra_temps = .{ |
| | 149794 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 149795 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149796 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 149797 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 149798 | .unused, |
| | 149799 | .unused, |
| | 149800 | .unused, |
| | 149801 | .unused, |
| | 149802 | .unused, |
| | 149803 | .unused, |
| | 149804 | .unused, |
| | 149805 | }, |
| | 149806 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149807 | .each = .{ .once = &.{ |
| | 149808 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149809 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 149810 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 149811 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 149812 | .{ ._, .vp_d, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| | 149813 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .mem(.src0y), ._ }, |
| | 149814 | .{ ._, .vp_d, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| | 149815 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 149816 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 149817 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149818 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149819 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149820 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 149821 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149822 | } }, |
| | 149823 | }, .{ |
| | 149824 | .required_features = .{ .avx2, null, null, null }, |
| | 149825 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149826 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 149827 | .patterns = &.{ |
| | 149828 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149829 | }, |
| | 149830 | .extra_temps = .{ |
| | 149831 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149832 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149833 | .unused, |
| | 149834 | .unused, |
| | 149835 | .unused, |
| | 149836 | .unused, |
| | 149837 | .unused, |
| | 149838 | .unused, |
| | 149839 | .unused, |
| | 149840 | .unused, |
| | 149841 | .unused, |
| | 149842 | }, |
| | 149843 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149844 | .clobbers = .{ .eflags = true }, |
| | 149845 | .each = .{ .once = &.{ |
| | 149846 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 149847 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 149848 | .{ .@"0:", .vp_d, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 149849 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 149850 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149851 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 149852 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149853 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149854 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149855 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149856 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149857 | } }, |
| | 149858 | }, .{ |
| | 149859 | .required_features = .{ .avx, null, null, null }, |
| | 149860 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149861 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 149862 | .patterns = &.{ |
| | 149863 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149864 | }, |
| | 149865 | .extra_temps = .{ |
| | 149866 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149867 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149868 | .unused, |
| | 149869 | .unused, |
| | 149870 | .unused, |
| | 149871 | .unused, |
| | 149872 | .unused, |
| | 149873 | .unused, |
| | 149874 | .unused, |
| | 149875 | .unused, |
| | 149876 | .unused, |
| | 149877 | }, |
| | 149878 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149879 | .clobbers = .{ .eflags = true }, |
| | 149880 | .each = .{ .once = &.{ |
| | 149881 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 149882 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 149883 | .{ .@"0:", .vp_d, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 149884 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 149885 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149886 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149887 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149888 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149889 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 149890 | } }, |
| | 149891 | }, .{ |
| | 149892 | .required_features = .{ .sse4_1, null, null, null }, |
| | 149893 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149894 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 149895 | .patterns = &.{ |
| | 149896 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149897 | }, |
| | 149898 | .extra_temps = .{ |
| | 149899 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149900 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149901 | .unused, |
| | 149902 | .unused, |
| | 149903 | .unused, |
| | 149904 | .unused, |
| | 149905 | .unused, |
| | 149906 | .unused, |
| | 149907 | .unused, |
| | 149908 | .unused, |
| | 149909 | .unused, |
| | 149910 | }, |
| | 149911 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149912 | .clobbers = .{ .eflags = true }, |
| | 149913 | .each = .{ .once = &.{ |
| | 149914 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 149915 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 149916 | .{ .@"0:", .p_d, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 149917 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 149918 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149919 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149920 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| | 149921 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149922 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| | 149923 | } }, |
| | 149924 | }, .{ |
| | 149925 | .required_features = .{ .sse2, null, null, null }, |
| | 149926 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149927 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 149928 | .patterns = &.{ |
| | 149929 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149930 | }, |
| | 149931 | .extra_temps = .{ |
| | 149932 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149933 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 149934 | .unused, |
| | 149935 | .unused, |
| | 149936 | .unused, |
| | 149937 | .unused, |
| | 149938 | .unused, |
| | 149939 | .unused, |
| | 149940 | .unused, |
| | 149941 | .unused, |
| | 149942 | .unused, |
| | 149943 | }, |
| | 149944 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149945 | .clobbers = .{ .eflags = true }, |
| | 149946 | .each = .{ .once = &.{ |
| | 149947 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 149948 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 149949 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149950 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| | 149951 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 149952 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| | 149953 | .{ ._, .p_d, .shuf, .tmp1x, .tmp1x, .ui(0b11_11_01_01), ._ }, |
| | 149954 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| | 149955 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 149956 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149957 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10), ._ }, |
| | 149958 | .{ ._, .p_udq, .mul, .dst0x, .tmp1x, ._, ._ }, |
| | 149959 | } }, |
| | 149960 | }, .{ |
| | 149961 | .required_features = .{ .avx512f, null, null, null }, |
| | 149962 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 149963 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 149964 | .patterns = &.{ |
| | 149965 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 149966 | }, |
| | 149967 | .extra_temps = .{ |
| | 149968 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 149969 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 149970 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 149971 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 149972 | .unused, |
| | 149973 | .unused, |
| | 149974 | .unused, |
| | 149975 | .unused, |
| | 149976 | .unused, |
| | 149977 | .unused, |
| | 149978 | .unused, |
| | 149979 | }, |
| | 149980 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 149981 | .clobbers = .{ .eflags = true }, |
| | 149982 | .each = .{ .once = &.{ |
| | 149983 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 149984 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 149985 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 149986 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 149987 | .{ ._, .vp_, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 149988 | .{ ._, .vp_d, .sub, .tmp2y, .tmp3y, .tmp2y, ._ }, |
| | 149989 | .{ ._, .vp_, .andn, .tmp3y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 149990 | .{ ._, .vp_d, .sub, .dst0y, .tmp3y, .dst0y, ._ }, |
| | 149991 | .{ .@"0:", .vp_d, .mull, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 149992 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 149993 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 149994 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 149995 | .{ ._, .vp_d, .mull, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 149996 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 149997 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 149998 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 149999 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 150000 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 150001 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 150002 | } }, |
| | 150003 | }, .{ |
| | 150004 | .required_features = .{ .avx2, null, null, null }, |
| | 150005 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 150006 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 150007 | .patterns = &.{ |
| | 150008 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150009 | }, |
| | 150010 | .extra_temps = .{ |
| | 150011 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 150012 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 150013 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 150014 | .unused, |
| | 150015 | .unused, |
| | 150016 | .unused, |
| | 150017 | .unused, |
| | 150018 | .unused, |
| | 150019 | .unused, |
| | 150020 | .unused, |
| | 150021 | .unused, |
| | 150022 | }, |
| | 150023 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 150024 | .clobbers = .{ .eflags = true }, |
| | 150025 | .each = .{ .once = &.{ |
| | 150026 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 150027 | .{ ._, .v_dqa, .mov, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 150028 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| | 150029 | .{ ._, .vp_, .andn, .dst0y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 150030 | .{ ._, .vp_d, .sub, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 150031 | .{ .@"0:", .vp_d, .mull, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 150032 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 150033 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150034 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 150035 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 150036 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 150037 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 150038 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 150039 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 150040 | } }, |
| | 150041 | }, .{ |
| | 150042 | .required_features = .{ .avx, null, null, null }, |
| | 150043 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 150044 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 150045 | .patterns = &.{ |
| | 150046 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150047 | }, |
| | 150048 | .extra_temps = .{ |
| | 150049 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 150050 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 150051 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 150052 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| | 150053 | .unused, |
| | 150054 | .unused, |
| | 150055 | .unused, |
| | 150056 | .unused, |
| | 150057 | .unused, |
| | 150058 | .unused, |
| | 150059 | .unused, |
| | 150060 | }, |
| | 150061 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 150062 | .clobbers = .{ .eflags = true }, |
| | 150063 | .each = .{ .once = &.{ |
| | 150064 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 150065 | .{ ._, .v_ps, .mova, .tmp2y, .lea(.tmp0y), ._, ._ }, |
| | 150066 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 150067 | .{ ._, .v_ps, .andn, .tmp3y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 150068 | .{ ._, .vp_d, .sub, .dst0x, .tmp3x, .tmp2x, ._ }, |
| | 150069 | .{ ._, .v_f128, .extract, .tmp2x, .tmp2y, .ui(1), ._ }, |
| | 150070 | .{ ._, .v_f128, .extract, .tmp3x, .tmp3y, .ui(1), ._ }, |
| | 150071 | .{ ._, .vp_d, .sub, .tmp2x, .tmp3x, .tmp2x, ._ }, |
| | 150072 | .{ ._, .vp_d, .mull, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 150073 | .{ .@"0:", .vp_d, .mull, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 150074 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 150075 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150076 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 150077 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 150078 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 150079 | .{ ._, .vp_udq, .mul, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 150080 | } }, |
| | 150081 | }, .{ |
| | 150082 | .required_features = .{ .sse4_1, null, null, null }, |
| | 150083 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 150084 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 150085 | .patterns = &.{ |
| | 150086 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150087 | }, |
| | 150088 | .extra_temps = .{ |
| | 150089 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 150090 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 150091 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 150092 | .unused, |
| | 150093 | .unused, |
| | 150094 | .unused, |
| | 150095 | .unused, |
| | 150096 | .unused, |
| | 150097 | .unused, |
| | 150098 | .unused, |
| | 150099 | .unused, |
| | 150100 | }, |
| | 150101 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 150102 | .clobbers = .{ .eflags = true }, |
| | 150103 | .each = .{ .once = &.{ |
| | 150104 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 150105 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 150106 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 150107 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| | 150108 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 150109 | .{ ._, .p_d, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 150110 | .{ .@"0:", .p_d, .mull, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 150111 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 150112 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150113 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 150114 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| | 150115 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 150116 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| | 150117 | } }, |
| | 150118 | }, .{ |
| | 150119 | .required_features = .{ .sse2, null, null, null }, |
| | 150120 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 150121 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 150122 | .patterns = &.{ |
| | 150123 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150124 | }, |
| | 150125 | .extra_temps = .{ |
| | 150126 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 150127 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0, .invert = true } } }, |
| | 150128 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| | 150129 | .unused, |
| | 150130 | .unused, |
| | 150131 | .unused, |
| | 150132 | .unused, |
| | 150133 | .unused, |
| | 150134 | .unused, |
| | 150135 | .unused, |
| | 150136 | .unused, |
| | 150137 | }, |
| | 150138 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 150139 | .clobbers = .{ .eflags = true }, |
| | 150140 | .each = .{ .once = &.{ |
| | 150141 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 150142 | .{ ._, ._dqa, .mov, .tmp2x, .lea(.tmp0x), ._, ._ }, |
| | 150143 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 150144 | .{ ._, ._dqa, .mov, .dst0x, .tmp2x, ._, ._ }, |
| | 150145 | .{ ._, .p_, .andn, .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 150146 | .{ ._, .p_d, .sub, .dst0x, .tmp2x, ._, ._ }, |
| | 150147 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_11_01_01), ._ }, |
| | 150148 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| | 150149 | .{ .@"0:", ._dqa, .mov, .tmp2x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 150150 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| | 150151 | .{ ._, .p_d, .shuf, .tmp2x, .tmp2x, .ui(0b11_11_01_01), ._ }, |
| | 150152 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| | 150153 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 150154 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150155 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10), ._ }, |
| | 150156 | .{ ._, .p_udq, .mul, .dst0x, .tmp2x, ._, ._ }, |
| | 150157 | } }, |
| | 150158 | }, .{ |
| | 150159 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 150160 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 150161 | .patterns = &.{ |
| | 150162 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150163 | }, |
| | 150164 | .extra_temps = .{ |
| | 150165 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 150166 | .unused, |
| | 150167 | .unused, |
| | 150168 | .unused, |
| | 150169 | .unused, |
| | 150170 | .unused, |
| | 150171 | .unused, |
| | 150172 | .unused, |
| | 150173 | .unused, |
| | 150174 | .unused, |
| | 150175 | .unused, |
| | 150176 | }, |
| | 150177 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 150178 | .clobbers = .{ .eflags = true }, |
| | 150179 | .each = .{ .once = &.{ |
| | 150180 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| | 150181 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| | 150182 | .{ .@"0:", .i_, .mul, .dst0d, .memi(.src0d, .tmp0), ._, ._ }, |
| | 150183 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| | 150184 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150185 | } }, |
| | 150186 | }, .{ |
| | 150187 | .required_features = .{ .@"64bit", null, null, null }, |
| | 150188 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 150189 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 150190 | .patterns = &.{ |
| | 150191 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150192 | }, |
| | 150193 | .extra_temps = .{ |
| | 150194 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 150195 | .unused, |
| | 150196 | .unused, |
| | 150197 | .unused, |
| | 150198 | .unused, |
| | 150199 | .unused, |
| | 150200 | .unused, |
| | 150201 | .unused, |
| | 150202 | .unused, |
| | 150203 | .unused, |
| | 150204 | .unused, |
| | 150205 | }, |
| | 150206 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 150207 | .clobbers = .{ .eflags = true }, |
| | 150208 | .each = .{ .once = &.{ |
| | 150209 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 150210 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| | 150211 | .{ .@"0:", .i_, .mul, .dst0q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 150212 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 150213 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150214 | } }, |
| | 150215 | }, .{ |
| | 150216 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| | 150217 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 150218 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 150219 | .patterns = &.{ |
| | 150220 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150221 | }, |
| | 150222 | .extra_temps = .{ |
| | 150223 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150224 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150225 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150226 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150227 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 150228 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 150229 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150230 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150231 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150232 | .unused, |
| | 150233 | .unused, |
| | 150234 | }, |
| | 150235 | .dst_temps = .{ .mem, .unused }, |
| | 150236 | .clobbers = .{ .eflags = true }, |
| | 150237 | .each = .{ .once = &.{ |
| | 150238 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 150239 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 150240 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| | 150241 | .{ ._, ._, .mov, .tmp3d, .sia(-8, .dst0, .add_size), ._, ._ }, |
| | 150242 | .{ .@"1:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 150243 | .{ ._, ._, .@"or", .tmp4q, .leai(.tmp1q, .tmp3), ._, ._ }, |
| | 150244 | .{ ._, ._z, .j, .@"3f", ._, ._, ._ }, |
| | 150245 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp3, .sub_src0_elem_size, 8), ._, ._ }, |
| | 150246 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 150247 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp2q, .tmp5), ._ }, |
| | 150248 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 150249 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_src0_elem_size, -8), .tmp7q, ._, ._ }, |
| | 150250 | .{ ._, ._rcxz, .j, .@"2f", ._, ._, ._ }, |
| | 150251 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_src0_elem_size), ._, ._ }, |
| | 150252 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 150253 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| | 150254 | .{ ._, ._mp, .j, .@"2b", ._, ._, ._ }, |
| | 150255 | .{ .@"3:", ._, .mov, .memi(.dst0q, .tmp3), .tmp4q, ._, ._ }, |
| | 150256 | .{ .@"2:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 150257 | .{ ._, ._, .sub, .tmp3d, .si(8), ._, ._ }, |
| | 150258 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 150259 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| | 150260 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 150261 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150262 | } }, |
| | 150263 | }, .{ |
| | 150264 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| | 150265 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 150266 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 150267 | .patterns = &.{ |
| | 150268 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150269 | }, |
| | 150270 | .extra_temps = .{ |
| | 150271 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150272 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150273 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150274 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150275 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150276 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 150277 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 150278 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150279 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150280 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150281 | .unused, |
| | 150282 | }, |
| | 150283 | .dst_temps = .{ .mem, .unused }, |
| | 150284 | .clobbers = .{ .eflags = true }, |
| | 150285 | .each = .{ .once = &.{ |
| | 150286 | .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 150287 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 150288 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| | 150289 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| | 150290 | .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ }, |
| | 150291 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 150292 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 150293 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 150294 | .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 150295 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, |
| | 150296 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ }, |
| | 150297 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, |
| | 150298 | .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ }, |
| | 150299 | .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ }, |
| | 150300 | .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ }, |
| | 150301 | .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ }, |
| | 150302 | .{ .@"3:", ._x, .mul, .tmp9q, .tmp8q, .leasi(.tmp2q, .@"8", .tmp4), ._ }, |
| | 150303 | .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ }, |
| | 150304 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ }, |
| | 150305 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| | 150306 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, |
| | 150307 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 150308 | .{ ._, ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 150309 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 150310 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| | 150311 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 150312 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150313 | } }, |
| | 150314 | }, .{ |
| | 150315 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| | 150316 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 150317 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 150318 | .patterns = &.{ |
| | 150319 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150320 | }, |
| | 150321 | .extra_temps = .{ |
| | 150322 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150323 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150324 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150325 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150326 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150327 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 150328 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 150329 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150330 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150331 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150332 | .unused, |
| | 150333 | }, |
| | 150334 | .dst_temps = .{ .mem, .unused }, |
| | 150335 | .clobbers = .{ .eflags = true }, |
| | 150336 | .each = .{ .once = &.{ |
| | 150337 | .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 150338 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 150339 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| | 150340 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| | 150341 | .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ }, |
| | 150342 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 150343 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 150344 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 150345 | .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 150346 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, |
| | 150347 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ }, |
| | 150348 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, |
| | 150349 | .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ }, |
| | 150350 | .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ }, |
| | 150351 | .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ }, |
| | 150352 | .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ }, |
| | 150353 | .{ .@"3:", ._x, .mul, .tmp9q, .tmp8q, .leasi(.tmp2q, .@"8", .tmp4), ._ }, |
| | 150354 | .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ }, |
| | 150355 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ }, |
| | 150356 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| | 150357 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, |
| | 150358 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 150359 | .{ ._, ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 150360 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 150361 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| | 150362 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 150363 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150364 | } }, |
| | 150365 | }, .{ |
| | 150366 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| | 150367 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 150368 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 150369 | .patterns = &.{ |
| | 150370 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150371 | }, |
| | 150372 | .extra_temps = .{ |
| | 150373 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150374 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150375 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150376 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150377 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150378 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150379 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 150380 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150381 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 150382 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 150383 | .unused, |
| | 150384 | }, |
| | 150385 | .dst_temps = .{ .mem, .unused }, |
| | 150386 | .clobbers = .{ .eflags = true }, |
| | 150387 | .each = .{ .once = &.{ |
| | 150388 | .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 150389 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 150390 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| | 150391 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| | 150392 | .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ }, |
| | 150393 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 150394 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 150395 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 150396 | .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 150397 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, |
| | 150398 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ }, |
| | 150399 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, |
| | 150400 | .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ }, |
| | 150401 | .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ }, |
| | 150402 | .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ }, |
| | 150403 | .{ .@"3:", ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 150404 | .{ ._, ._, .mul, .leasi(.tmp2q, .@"8", .tmp4), ._, ._, ._ }, |
| | 150405 | .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ }, |
| | 150406 | .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ }, |
| | 150407 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ }, |
| | 150408 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| | 150409 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, |
| | 150410 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 150411 | .{ ._, ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 150412 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 150413 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| | 150414 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 150415 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150416 | } }, |
| | 150417 | }, .{ |
| | 150418 | .required_features = .{ .@"64bit", null, null, null }, |
| | 150419 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| | 150420 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 150421 | .patterns = &.{ |
| | 150422 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150423 | }, |
| | 150424 | .extra_temps = .{ |
| | 150425 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150426 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150427 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 150428 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150429 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150430 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150431 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 150432 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 150433 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 150434 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 150435 | .unused, |
| | 150436 | }, |
| | 150437 | .dst_temps = .{ .mem, .unused }, |
| | 150438 | .clobbers = .{ .eflags = true }, |
| | 150439 | .each = .{ .once = &.{ |
| | 150440 | .{ ._, ._, .mov, .tmp0d, .sia(8, .src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| | 150441 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| | 150442 | .{ .@"0:", ._, .lea, .tmp2p, .memi(.src0, .tmp0), ._, ._ }, |
| | 150443 | .{ ._, ._, .mov, .tmp3d, .sia(-1, .dst0, .add_size_div_8), ._, ._ }, |
| | 150444 | .{ .@"1:", ._, .lea, .tmp4p, .leaa(.tmp3, .sub_src0_elem_size_div_8), ._, ._ }, |
| | 150445 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 150446 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 150447 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 150448 | .{ ._, ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 150449 | .{ ._, ._nz, .j, .@"3f", ._, ._, ._ }, |
| | 150450 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp3), .tmp5q, ._, ._ }, |
| | 150451 | .{ ._, ._mp, .j, .@"4f", ._, ._, ._ }, |
| | 150452 | .{ .@"2:", ._, .adc, .tmp9q, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), ._, ._ }, |
| | 150453 | .{ ._, ._, .adc, .tmp6b, .si(0), ._, ._ }, |
| | 150454 | .{ ._, ._, .mov, .tmp7q, .tmp9q, ._, ._ }, |
| | 150455 | .{ .@"3:", ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 150456 | .{ ._, ._, .mul, .leasi(.tmp2q, .@"8", .tmp4), ._, ._, ._ }, |
| | 150457 | .{ ._, ._l, .sh, .tmp6b, .ui(4), ._, ._ }, |
| | 150458 | .{ ._, ._, .adc, .tmp8q, .tmp7q, ._, ._ }, |
| | 150459 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp4, .add_src0_elem_size), .tmp8q, ._, ._ }, |
| | 150460 | .{ ._, ._c, .in, .tmp4p, ._, ._, ._ }, |
| | 150461 | .{ ._, ._nz, .j, .@"2b", ._, ._, ._ }, |
| | 150462 | .{ .@"4:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 150463 | .{ ._, ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 150464 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 150465 | .{ ._, ._, .lea, .tmp1p, .mem(.dst0), ._, ._ }, |
| | 150466 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| | 150467 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 150468 | } }, |
| | 150469 | }, .{ |
| | 150470 | .required_features = .{ .f16c, null, null, null }, |
| | 150471 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 150472 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 150473 | .patterns = &.{ |
| | 150474 | .{ .src = .{ .mem, .none, .none } }, |
| | 150475 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 150476 | }, |
| | 150477 | .extra_temps = .{ |
| | 150478 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 150479 | .unused, |
| | 150480 | .unused, |
| | 150481 | .unused, |
| | 150482 | .unused, |
| | 150483 | .unused, |
| | 150484 | .unused, |
| | 150485 | .unused, |
| | 150486 | .unused, |
| | 150487 | .unused, |
| | 150488 | .unused, |
| | 150489 | }, |
| | 150490 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 150491 | .each = .{ .once = &.{ |
| | 150492 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 150493 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 150494 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 150495 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 150496 | } }, |
| | 150497 | }, .{ |
| | 150498 | .required_features = .{ .f16c, null, null, null }, |
| | 150499 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 150500 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 150501 | .patterns = &.{ |
| | 150502 | .{ .src = .{ .mem, .none, .none } }, |
| | 150503 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 150504 | }, |
| | 150505 | .extra_temps = .{ |
| | 150506 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 150507 | .unused, |
| | 150508 | .unused, |
| | 150509 | .unused, |
| | 150510 | .unused, |
| | 150511 | .unused, |
| | 150512 | .unused, |
| | 150513 | .unused, |
| | 150514 | .unused, |
| | 150515 | .unused, |
| | 150516 | .unused, |
| | 150517 | }, |
| | 150518 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 150519 | .each = .{ .once = &.{ |
| | 150520 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 150521 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 150522 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 150523 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 150524 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 150525 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 150526 | } }, |
| | 150527 | }, .{ |
| | 150528 | .required_features = .{ .f16c, null, null, null }, |
| | 150529 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 150530 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 150531 | .patterns = &.{ |
| | 150532 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150533 | }, |
| | 150534 | .extra_temps = .{ |
| | 150535 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150536 | .{ .type = .f16, .kind = .{ .rc = .sse } }, |
| | 150537 | .unused, |
| | 150538 | .unused, |
| | 150539 | .unused, |
| | 150540 | .unused, |
| | 150541 | .unused, |
| | 150542 | .unused, |
| | 150543 | .unused, |
| | 150544 | .unused, |
| | 150545 | .unused, |
| | 150546 | }, |
| | 150547 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 150548 | .clobbers = .{ .eflags = true }, |
| | 150549 | .each = .{ .once = &.{ |
| | 150550 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 150551 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| | 150552 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) }, |
| | 150553 | .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) }, |
| | 150554 | .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ }, |
| | 150555 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 150556 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 150557 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 150558 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 150559 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 150560 | } }, |
| | 150561 | }, .{ |
| | 150562 | .required_features = .{ .avx, null, null, null }, |
| | 150563 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 150564 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 150565 | .patterns = &.{ |
| | 150566 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150567 | }, |
| | 150568 | .call_frame = .{ .alignment = .@"16" }, |
| | 150569 | .extra_temps = .{ |
| | 150570 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150571 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 150572 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| | 150573 | .unused, |
| | 150574 | .unused, |
| | 150575 | .unused, |
| | 150576 | .unused, |
| | 150577 | .unused, |
| | 150578 | .unused, |
| | 150579 | .unused, |
| | 150580 | .unused, |
| | 150581 | }, |
| | 150582 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 150583 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 150584 | .each = .{ .once = &.{ |
| | 150585 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 150586 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| | 150587 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) }, |
| | 150588 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 150589 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, |
| | 150590 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 150591 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 150592 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 150593 | } }, |
| | 150594 | }, .{ |
| | 150595 | .required_features = .{ .sse2, null, null, null }, |
| | 150596 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 150597 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 150598 | .patterns = &.{ |
| | 150599 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150600 | }, |
| | 150601 | .call_frame = .{ .alignment = .@"16" }, |
| | 150602 | .extra_temps = .{ |
| | 150603 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150604 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 150605 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| | 150606 | .unused, |
| | 150607 | .unused, |
| | 150608 | .unused, |
| | 150609 | .unused, |
| | 150610 | .unused, |
| | 150611 | .unused, |
| | 150612 | .unused, |
| | 150613 | .unused, |
| | 150614 | }, |
| | 150615 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 150616 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 150617 | .each = .{ .once = &.{ |
| | 150618 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 150619 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| | 150620 | .{ ._, .p_w, .insr, .dst0x, .mem(.src0w), .ui(0), ._ }, |
| | 150621 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 150622 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| | 150623 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 150624 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 150625 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 150626 | } }, |
| | 150627 | }, .{ |
| | 150628 | .required_features = .{ .sse, null, null, null }, |
| | 150629 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 150630 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 150631 | .patterns = &.{ |
| | 150632 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150633 | }, |
| | 150634 | .call_frame = .{ .alignment = .@"16" }, |
| | 150635 | .extra_temps = .{ |
| | 150636 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150637 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 150638 | .{ .type = .f32, .kind = .mem }, |
| | 150639 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 150640 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| | 150641 | .unused, |
| | 150642 | .unused, |
| | 150643 | .unused, |
| | 150644 | .unused, |
| | 150645 | .unused, |
| | 150646 | .unused, |
| | 150647 | }, |
| | 150648 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 150649 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 150650 | .each = .{ .once = &.{ |
| | 150651 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 150652 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| | 150653 | .{ ._, ._, .movzx, .tmp1d, .mem(.src0w), ._, ._ }, |
| | 150654 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 150655 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 150656 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 150657 | .{ ._, ._ss, .mov, .tmp3x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 150658 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 150659 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 150660 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 150661 | } }, |
| | 150662 | }, .{ |
| | 150663 | .required_features = .{ .avx, null, null, null }, |
| | 150664 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 150665 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 150666 | .patterns = &.{ |
| | 150667 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 150668 | }, |
| | 150669 | .extra_temps = .{ |
| | 150670 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 150671 | .unused, |
| | 150672 | .unused, |
| | 150673 | .unused, |
| | 150674 | .unused, |
| | 150675 | .unused, |
| | 150676 | .unused, |
| | 150677 | .unused, |
| | 150678 | .unused, |
| | 150679 | .unused, |
| | 150680 | .unused, |
| | 150681 | }, |
| | 150682 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 150683 | .each = .{ .once = &.{ |
| | 150684 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 150685 | .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| | 150686 | } }, |
| | 150687 | }, .{ |
| | 150688 | .required_features = .{ .sse, null, null, null }, |
| | 150689 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 150690 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 150691 | .patterns = &.{ |
| | 150692 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 150693 | }, |
| | 150694 | .extra_temps = .{ |
| | 150695 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 150696 | .unused, |
| | 150697 | .unused, |
| | 150698 | .unused, |
| | 150699 | .unused, |
| | 150700 | .unused, |
| | 150701 | .unused, |
| | 150702 | .unused, |
| | 150703 | .unused, |
| | 150704 | .unused, |
| | 150705 | .unused, |
| | 150706 | }, |
| | 150707 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 150708 | .each = .{ .once = &.{ |
| | 150709 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 150710 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 150711 | .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 150712 | } }, |
| | 150713 | }, .{ |
| | 150714 | .required_features = .{ .avx, null, null, null }, |
| | 150715 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 150716 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 150717 | .patterns = &.{ |
| | 150718 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 150719 | }, |
| | 150720 | .extra_temps = .{ |
| | 150721 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 150722 | .unused, |
| | 150723 | .unused, |
| | 150724 | .unused, |
| | 150725 | .unused, |
| | 150726 | .unused, |
| | 150727 | .unused, |
| | 150728 | .unused, |
| | 150729 | .unused, |
| | 150730 | .unused, |
| | 150731 | .unused, |
| | 150732 | }, |
| | 150733 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 150734 | .each = .{ .once = &.{ |
| | 150735 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 150736 | .{ ._, .v_ss, .mul, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 150737 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| | 150738 | .{ ._, .v_ss, .mul, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 150739 | } }, |
| | 150740 | }, .{ |
| | 150741 | .required_features = .{ .sse, null, null, null }, |
| | 150742 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 150743 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 150744 | .patterns = &.{ |
| | 150745 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 150746 | }, |
| | 150747 | .extra_temps = .{ |
| | 150748 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 150749 | .unused, |
| | 150750 | .unused, |
| | 150751 | .unused, |
| | 150752 | .unused, |
| | 150753 | .unused, |
| | 150754 | .unused, |
| | 150755 | .unused, |
| | 150756 | .unused, |
| | 150757 | .unused, |
| | 150758 | .unused, |
| | 150759 | }, |
| | 150760 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 150761 | .each = .{ .once = &.{ |
| | 150762 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 150763 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 150764 | .{ ._, ._ss, .mul, .tmp0x, .src0x, ._, ._ }, |
| | 150765 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 150766 | .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 150767 | } }, |
| | 150768 | }, .{ |
| | 150769 | .required_features = .{ .avx, null, null, null }, |
| | 150770 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 150771 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 150772 | .patterns = &.{ |
| | 150773 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150774 | }, |
| | 150775 | .extra_temps = .{ |
| | 150776 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150777 | .unused, |
| | 150778 | .unused, |
| | 150779 | .unused, |
| | 150780 | .unused, |
| | 150781 | .unused, |
| | 150782 | .unused, |
| | 150783 | .unused, |
| | 150784 | .unused, |
| | 150785 | .unused, |
| | 150786 | .unused, |
| | 150787 | }, |
| | 150788 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 150789 | .clobbers = .{ .eflags = true }, |
| | 150790 | .each = .{ .once = &.{ |
| | 150791 | .{ ._, ._, .mov, .tmp0p, .sia(4, .src0, .sub_unaligned_size), ._, ._ }, |
| | 150792 | .{ ._, .v_ss, .mov, .dst0x, .mem(.src0d), ._, ._ }, |
| | 150793 | .{ .@"0:", .v_ss, .mul, .dst0x, .dst0x, .memia(.src0d, .tmp0, .add_unaligned_size), ._ }, |
| | 150794 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| | 150795 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 150796 | } }, |
| | 150797 | }, .{ |
| | 150798 | .required_features = .{ .sse, null, null, null }, |
| | 150799 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 150800 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| | 150801 | .patterns = &.{ |
| | 150802 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150803 | }, |
| | 150804 | .extra_temps = .{ |
| | 150805 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150806 | .unused, |
| | 150807 | .unused, |
| | 150808 | .unused, |
| | 150809 | .unused, |
| | 150810 | .unused, |
| | 150811 | .unused, |
| | 150812 | .unused, |
| | 150813 | .unused, |
| | 150814 | .unused, |
| | 150815 | .unused, |
| | 150816 | }, |
| | 150817 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 150818 | .clobbers = .{ .eflags = true }, |
| | 150819 | .each = .{ .once = &.{ |
| | 150820 | .{ ._, ._, .mov, .tmp0p, .sia(4, .src0, .sub_unaligned_size), ._, ._ }, |
| | 150821 | .{ ._, ._ss, .mov, .dst0x, .mem(.src0d), ._, ._ }, |
| | 150822 | .{ .@"0:", ._ss, .mul, .dst0x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 150823 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| | 150824 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 150825 | } }, |
| | 150826 | }, .{ |
| | 150827 | .required_features = .{ .avx, null, null, null }, |
| | 150828 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 150829 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 150830 | .patterns = &.{ |
| | 150831 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 150832 | }, |
| | 150833 | .extra_temps = .{ |
| | 150834 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 150835 | .unused, |
| | 150836 | .unused, |
| | 150837 | .unused, |
| | 150838 | .unused, |
| | 150839 | .unused, |
| | 150840 | .unused, |
| | 150841 | .unused, |
| | 150842 | .unused, |
| | 150843 | .unused, |
| | 150844 | .unused, |
| | 150845 | }, |
| | 150846 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 150847 | .each = .{ .once = &.{ |
| | 150848 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 150849 | .{ ._, .v_sd, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| | 150850 | } }, |
| | 150851 | }, .{ |
| | 150852 | .required_features = .{ .sse2, null, null, null }, |
| | 150853 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 150854 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 150855 | .patterns = &.{ |
| | 150856 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 150857 | }, |
| | 150858 | .extra_temps = .{ |
| | 150859 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 150860 | .unused, |
| | 150861 | .unused, |
| | 150862 | .unused, |
| | 150863 | .unused, |
| | 150864 | .unused, |
| | 150865 | .unused, |
| | 150866 | .unused, |
| | 150867 | .unused, |
| | 150868 | .unused, |
| | 150869 | .unused, |
| | 150870 | }, |
| | 150871 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 150872 | .each = .{ .once = &.{ |
| | 150873 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 150874 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 150875 | .{ ._, ._sd, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 150876 | } }, |
| | 150877 | }, .{ |
| | 150878 | .required_features = .{ .avx, null, null, null }, |
| | 150879 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 150880 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 150881 | .patterns = &.{ |
| | 150882 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 150883 | }, |
| | 150884 | .extra_temps = .{ |
| | 150885 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 150886 | .unused, |
| | 150887 | .unused, |
| | 150888 | .unused, |
| | 150889 | .unused, |
| | 150890 | .unused, |
| | 150891 | .unused, |
| | 150892 | .unused, |
| | 150893 | .unused, |
| | 150894 | .unused, |
| | 150895 | .unused, |
| | 150896 | }, |
| | 150897 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 150898 | .each = .{ .once = &.{ |
| | 150899 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 150900 | .{ ._, .v_sd, .mul, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 150901 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 150902 | .{ ._, .v_sd, .mul, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 150903 | } }, |
| | 150904 | }, .{ |
| | 150905 | .required_features = .{ .avx, null, null, null }, |
| | 150906 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 150907 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 150908 | .patterns = &.{ |
| | 150909 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150910 | }, |
| | 150911 | .extra_temps = .{ |
| | 150912 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150913 | .unused, |
| | 150914 | .unused, |
| | 150915 | .unused, |
| | 150916 | .unused, |
| | 150917 | .unused, |
| | 150918 | .unused, |
| | 150919 | .unused, |
| | 150920 | .unused, |
| | 150921 | .unused, |
| | 150922 | .unused, |
| | 150923 | }, |
| | 150924 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 150925 | .clobbers = .{ .eflags = true }, |
| | 150926 | .each = .{ .once = &.{ |
| | 150927 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| | 150928 | .{ ._, .v_sd, .mov, .dst0x, .mem(.src0q), ._, ._ }, |
| | 150929 | .{ .@"0:", .v_sd, .mul, .dst0x, .dst0x, .memia(.src0q, .tmp0, .add_unaligned_size), ._ }, |
| | 150930 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 150931 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 150932 | } }, |
| | 150933 | }, .{ |
| | 150934 | .required_features = .{ .sse2, null, null, null }, |
| | 150935 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 150936 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 150937 | .patterns = &.{ |
| | 150938 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150939 | }, |
| | 150940 | .extra_temps = .{ |
| | 150941 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150942 | .unused, |
| | 150943 | .unused, |
| | 150944 | .unused, |
| | 150945 | .unused, |
| | 150946 | .unused, |
| | 150947 | .unused, |
| | 150948 | .unused, |
| | 150949 | .unused, |
| | 150950 | .unused, |
| | 150951 | .unused, |
| | 150952 | }, |
| | 150953 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 150954 | .clobbers = .{ .eflags = true }, |
| | 150955 | .each = .{ .once = &.{ |
| | 150956 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| | 150957 | .{ ._, ._sd, .mov, .dst0x, .mem(.src0q), ._, ._ }, |
| | 150958 | .{ .@"0:", ._sd, .mul, .dst0x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 150959 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 150960 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 150961 | } }, |
| | 150962 | }, .{ |
| | 150963 | .required_features = .{ .x87, null, null, null }, |
| | 150964 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 150965 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 150966 | .patterns = &.{ |
| | 150967 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 150968 | }, |
| | 150969 | .extra_temps = .{ |
| | 150970 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 150971 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 150972 | .unused, |
| | 150973 | .unused, |
| | 150974 | .unused, |
| | 150975 | .unused, |
| | 150976 | .unused, |
| | 150977 | .unused, |
| | 150978 | .unused, |
| | 150979 | .unused, |
| | 150980 | .unused, |
| | 150981 | }, |
| | 150982 | .dst_temps = .{ .mem, .unused }, |
| | 150983 | .clobbers = .{ .eflags = true }, |
| | 150984 | .each = .{ .once = &.{ |
| | 150985 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| | 150986 | .{ ._, .f_, .ld, .mem(.src0q), ._, ._, ._ }, |
| | 150987 | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| | 150988 | .{ .pseudo, .f_cstp, .in, ._, ._, ._, ._ }, |
| | 150989 | .{ .@"0:", .f_, .ld, .dst0q, ._, ._, ._ }, |
| | 150990 | .{ .@"1:", .f_, .mul, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 150991 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 150992 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 150993 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 150994 | } }, |
| | 150995 | }, .{ |
| | 150996 | .required_features = .{ .x87, null, null, null }, |
| | 150997 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 150998 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 150999 | .patterns = &.{ |
| | 151000 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151001 | }, |
| | 151002 | .extra_temps = .{ |
| | 151003 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 151004 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 151005 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 151006 | .unused, |
| | 151007 | .unused, |
| | 151008 | .unused, |
| | 151009 | .unused, |
| | 151010 | .unused, |
| | 151011 | .unused, |
| | 151012 | .unused, |
| | 151013 | .unused, |
| | 151014 | }, |
| | 151015 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 151016 | .clobbers = .{ .eflags = true }, |
| | 151017 | .each = .{ .once = &.{ |
| | 151018 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 151019 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, |
| | 151020 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 151021 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, |
| | 151022 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 151023 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 151024 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 151025 | } }, |
| | 151026 | }, .{ |
| | 151027 | .required_features = .{ .avx, null, null, null }, |
| | 151028 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 151029 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 151030 | .patterns = &.{ |
| | 151031 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151032 | }, |
| | 151033 | .call_frame = .{ .alignment = .@"16" }, |
| | 151034 | .extra_temps = .{ |
| | 151035 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 151036 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 151037 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, |
| | 151038 | .unused, |
| | 151039 | .unused, |
| | 151040 | .unused, |
| | 151041 | .unused, |
| | 151042 | .unused, |
| | 151043 | .unused, |
| | 151044 | .unused, |
| | 151045 | .unused, |
| | 151046 | }, |
| | 151047 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 151048 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 151049 | .each = .{ .once = &.{ |
| | 151050 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 151051 | .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| | 151052 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 151053 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 151054 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 151055 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 151056 | } }, |
| | 151057 | }, .{ |
| | 151058 | .required_features = .{ .sse2, null, null, null }, |
| | 151059 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 151060 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 151061 | .patterns = &.{ |
| | 151062 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151063 | }, |
| | 151064 | .call_frame = .{ .alignment = .@"16" }, |
| | 151065 | .extra_temps = .{ |
| | 151066 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 151067 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 151068 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, |
| | 151069 | .unused, |
| | 151070 | .unused, |
| | 151071 | .unused, |
| | 151072 | .unused, |
| | 151073 | .unused, |
| | 151074 | .unused, |
| | 151075 | .unused, |
| | 151076 | .unused, |
| | 151077 | }, |
| | 151078 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 151079 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 151080 | .each = .{ .once = &.{ |
| | 151081 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 151082 | .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| | 151083 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 151084 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 151085 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 151086 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 151087 | } }, |
| | 151088 | }, .{ |
| | 151089 | .required_features = .{ .sse, null, null, null }, |
| | 151090 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 151091 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 151092 | .patterns = &.{ |
| | 151093 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151094 | }, |
| | 151095 | .call_frame = .{ .alignment = .@"16" }, |
| | 151096 | .extra_temps = .{ |
| | 151097 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 151098 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 151099 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, |
| | 151100 | .unused, |
| | 151101 | .unused, |
| | 151102 | .unused, |
| | 151103 | .unused, |
| | 151104 | .unused, |
| | 151105 | .unused, |
| | 151106 | .unused, |
| | 151107 | .unused, |
| | 151108 | }, |
| | 151109 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 151110 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 151111 | .each = .{ .once = &.{ |
| | 151112 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| | 151113 | .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ }, |
| | 151114 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 151115 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 151116 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 151117 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 151118 | } }, |
| | 151119 | } }, |
| | 151120 | }) catch |err| switch (err) { |
| | 151121 | error.SelectFailed => return cg.fail("failed to select {s}.{s} {} {}", .{ |
| | 151122 | @tagName(air_tag), |
| | 151123 | @tagName(reduce.operation), |
| | 151124 | cg.typeOf(reduce.operand).fmt(pt), |
| | 151125 | ops[0].tracking(cg), |
| | 151126 | }), |
| | 151127 | else => |e| return e, |
| | 151128 | }; |
| | 151129 | switch (reduce.operation) { |
| | 151130 | .And, .Or, .Xor, .Min, .Max => {}, |
| | 151131 | .Add, .Mul => if (cg.intInfo(res_ty)) |_| res[0].wrapInt(cg) catch |err| switch (err) { |
| | 151132 | error.SelectFailed => return cg.fail("failed to select {s}.{s} wrap {} {}", .{ |
| | 151133 | @tagName(air_tag), |
| | 151134 | @tagName(reduce.operation), |
| | 151135 | res_ty.fmt(pt), |
| | 151136 | res[0].tracking(cg), |
| | 151137 | }), |
| | 151138 | else => |e| return e, |
| | 151139 | }, |
| | 151140 | } |
| | 151141 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); |
| | 151142 | }, |
| | 151143 | .reduce_optimized => |air_tag| if (use_old) try cg.airReduce(inst) else { |
| | 151144 | const inf = std.math.inf(f16); |
| | 151145 | const reduce = air_datas[@intFromEnum(inst)].reduce; |
| | 151146 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); |
| | 151147 | var res: [1]Temp = undefined; |
| | 151148 | cg.select(&res, &.{cg.typeOfIndex(inst)}, &ops, switch (reduce.operation) { |
| | 151149 | .And, .Or, .Xor => unreachable, |
| | 151150 | .Min => comptime &.{ .{ |
| | 151151 | .required_features = .{ .f16c, null, null, null }, |
| | 151152 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151153 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 151154 | .patterns = &.{ |
| | 151155 | .{ .src = .{ .mem, .none, .none } }, |
| | 151156 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151157 | }, |
| | 151158 | .extra_temps = .{ |
| | 151159 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151160 | .unused, |
| | 151161 | .unused, |
| | 151162 | .unused, |
| | 151163 | .unused, |
| | 151164 | .unused, |
| | 151165 | .unused, |
| | 151166 | .unused, |
| | 151167 | .unused, |
| | 151168 | .unused, |
| | 151169 | .unused, |
| | 151170 | }, |
| | 151171 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151172 | .each = .{ .once = &.{ |
| | 151173 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 151174 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151175 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151176 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151177 | } }, |
| | 151178 | }, .{ |
| | 151179 | .required_features = .{ .f16c, null, null, null }, |
| | 151180 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151181 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 151182 | .patterns = &.{ |
| | 151183 | .{ .src = .{ .mem, .none, .none } }, |
| | 151184 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151185 | }, |
| | 151186 | .extra_temps = .{ |
| | 151187 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151188 | .unused, |
| | 151189 | .unused, |
| | 151190 | .unused, |
| | 151191 | .unused, |
| | 151192 | .unused, |
| | 151193 | .unused, |
| | 151194 | .unused, |
| | 151195 | .unused, |
| | 151196 | .unused, |
| | 151197 | .unused, |
| | 151198 | }, |
| | 151199 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151200 | .each = .{ .once = &.{ |
| | 151201 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 151202 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151203 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151204 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151205 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151206 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151207 | } }, |
| | 151208 | }, .{ |
| | 151209 | .required_features = .{ .f16c, null, null, null }, |
| | 151210 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151211 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 151212 | .patterns = &.{ |
| | 151213 | .{ .src = .{ .mem, .none, .none } }, |
| | 151214 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151215 | }, |
| | 151216 | .extra_temps = .{ |
| | 151217 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151218 | .unused, |
| | 151219 | .unused, |
| | 151220 | .unused, |
| | 151221 | .unused, |
| | 151222 | .unused, |
| | 151223 | .unused, |
| | 151224 | .unused, |
| | 151225 | .unused, |
| | 151226 | .unused, |
| | 151227 | .unused, |
| | 151228 | }, |
| | 151229 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151230 | .each = .{ .once = &.{ |
| | 151231 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 151232 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151233 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151234 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151235 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151236 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151237 | } }, |
| | 151238 | }, .{ |
| | 151239 | .required_features = .{ .f16c, null, null, null }, |
| | 151240 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151241 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 151242 | .patterns = &.{ |
| | 151243 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151244 | }, |
| | 151245 | .extra_temps = .{ |
| | 151246 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 151247 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 151248 | .{ .type = .vector_8_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 151249 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151250 | .unused, |
| | 151251 | .unused, |
| | 151252 | .unused, |
| | 151253 | .unused, |
| | 151254 | .unused, |
| | 151255 | .unused, |
| | 151256 | .unused, |
| | 151257 | }, |
| | 151258 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151259 | .each = .{ .once = &.{ |
| | 151260 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 151261 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 151262 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 151263 | .{ ._, .v_ps, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 151264 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 151265 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 151266 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151267 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151268 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151269 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151270 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151271 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151272 | } }, |
| | 151273 | }, .{ |
| | 151274 | .required_features = .{ .f16c, null, null, null }, |
| | 151275 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151276 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 151277 | .patterns = &.{ |
| | 151278 | .{ .src = .{ .mem, .none, .none } }, |
| | 151279 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151280 | }, |
| | 151281 | .extra_temps = .{ |
| | 151282 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151283 | .unused, |
| | 151284 | .unused, |
| | 151285 | .unused, |
| | 151286 | .unused, |
| | 151287 | .unused, |
| | 151288 | .unused, |
| | 151289 | .unused, |
| | 151290 | .unused, |
| | 151291 | .unused, |
| | 151292 | .unused, |
| | 151293 | }, |
| | 151294 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151295 | .each = .{ .once = &.{ |
| | 151296 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 151297 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 151298 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151299 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151300 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151301 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151302 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151303 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151304 | } }, |
| | 151305 | }, .{ |
| | 151306 | .required_features = .{ .f16c, null, null, null }, |
| | 151307 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151308 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 151309 | .patterns = &.{ |
| | 151310 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151311 | }, |
| | 151312 | .extra_temps = .{ |
| | 151313 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 151314 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 151315 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 151316 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151317 | .unused, |
| | 151318 | .unused, |
| | 151319 | .unused, |
| | 151320 | .unused, |
| | 151321 | .unused, |
| | 151322 | .unused, |
| | 151323 | .unused, |
| | 151324 | }, |
| | 151325 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151326 | .each = .{ .once = &.{ |
| | 151327 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 151328 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 151329 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 151330 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 151331 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 151332 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 151333 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 151334 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 151335 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 151336 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151337 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151338 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151339 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151340 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151341 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151342 | } }, |
| | 151343 | }, .{ |
| | 151344 | .required_features = .{ .f16c, null, null, null }, |
| | 151345 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151346 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 151347 | .patterns = &.{ |
| | 151348 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151349 | }, |
| | 151350 | .extra_temps = .{ |
| | 151351 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151352 | .unused, |
| | 151353 | .unused, |
| | 151354 | .unused, |
| | 151355 | .unused, |
| | 151356 | .unused, |
| | 151357 | .unused, |
| | 151358 | .unused, |
| | 151359 | .unused, |
| | 151360 | .unused, |
| | 151361 | .unused, |
| | 151362 | }, |
| | 151363 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151364 | .each = .{ .once = &.{ |
| | 151365 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 151366 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 151367 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 151368 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 151369 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 151370 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151371 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151372 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151373 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151374 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151375 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151376 | } }, |
| | 151377 | }, .{ |
| | 151378 | .required_features = .{ .avx512f, null, null, null }, |
| | 151379 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151380 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 151381 | .patterns = &.{ |
| | 151382 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151383 | }, |
| | 151384 | .extra_temps = .{ |
| | 151385 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 151386 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 151387 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 151388 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151389 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151390 | .unused, |
| | 151391 | .unused, |
| | 151392 | .unused, |
| | 151393 | .unused, |
| | 151394 | .unused, |
| | 151395 | .unused, |
| | 151396 | }, |
| | 151397 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 151398 | .each = .{ .once = &.{ |
| | 151399 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 151400 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 151401 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 151402 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 151403 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 151404 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 151405 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 151406 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 151407 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 151408 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 151409 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 151410 | .{ ._, .v_ps, .min, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| | 151411 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 151412 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 151413 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 151414 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp4y, ._ }, |
| | 151415 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 151416 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 151417 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151418 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151419 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151420 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151421 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151422 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151423 | } }, |
| | 151424 | }, .{ |
| | 151425 | .required_features = .{ .avx512f, null, null, null }, |
| | 151426 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151427 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 151428 | .patterns = &.{ |
| | 151429 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151430 | }, |
| | 151431 | .extra_temps = .{ |
| | 151432 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151433 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151434 | .unused, |
| | 151435 | .unused, |
| | 151436 | .unused, |
| | 151437 | .unused, |
| | 151438 | .unused, |
| | 151439 | .unused, |
| | 151440 | .unused, |
| | 151441 | .unused, |
| | 151442 | .unused, |
| | 151443 | }, |
| | 151444 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 151445 | .each = .{ .once = &.{ |
| | 151446 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 151447 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 151448 | .{ ._, .v_f128, .extract, .tmp1x, .tmp0y, .ui(1), ._ }, |
| | 151449 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 151450 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 151451 | .{ ._, .v_ps, .min, .tmp0y, .tmp0y, .tmp1y, ._ }, |
| | 151452 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 151453 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 151454 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 151455 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 151456 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 151457 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 151458 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151459 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151460 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151461 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151462 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151463 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151464 | } }, |
| | 151465 | }, .{ |
| | 151466 | .required_features = .{ .f16c, null, null, null }, |
| | 151467 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151468 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 151469 | .patterns = &.{ |
| | 151470 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151471 | }, |
| | 151472 | .extra_temps = .{ |
| | 151473 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 151474 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151475 | .unused, |
| | 151476 | .unused, |
| | 151477 | .unused, |
| | 151478 | .unused, |
| | 151479 | .unused, |
| | 151480 | .unused, |
| | 151481 | .unused, |
| | 151482 | .unused, |
| | 151483 | .unused, |
| | 151484 | }, |
| | 151485 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 151486 | .clobbers = .{ .eflags = true }, |
| | 151487 | .each = .{ .once = &.{ |
| | 151488 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 151489 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 151490 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 151491 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 151492 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 151493 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 151494 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 151495 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 151496 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151497 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 151498 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151499 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 151500 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151501 | } }, |
| | 151502 | }, .{ |
| | 151503 | .required_features = .{ .avx512f, null, null, null }, |
| | 151504 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151505 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 151506 | .patterns = &.{ |
| | 151507 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151508 | }, |
| | 151509 | .extra_temps = .{ |
| | 151510 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 151511 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 151512 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 151513 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151514 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151515 | .unused, |
| | 151516 | .unused, |
| | 151517 | .unused, |
| | 151518 | .unused, |
| | 151519 | .unused, |
| | 151520 | .unused, |
| | 151521 | }, |
| | 151522 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 151523 | .clobbers = .{ .eflags = true }, |
| | 151524 | .each = .{ .once = &.{ |
| | 151525 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 151526 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 151527 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 151528 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 151529 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 151530 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 151531 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 151532 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 151533 | .{ ._, ._, .mov, .tmp0d, .sia(-80, .src0, .add_size), ._, ._ }, |
| | 151534 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 151535 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 151536 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 151537 | .{ ._, .v_ps, .min, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| | 151538 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 151539 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 151540 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 151541 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp4y, ._ }, |
| | 151542 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 151543 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 151544 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 151545 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 151546 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 151547 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 151548 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151549 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151550 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151551 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151552 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151553 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151554 | } }, |
| | 151555 | }, .{ |
| | 151556 | .required_features = .{ .f16c, null, null, null }, |
| | 151557 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151558 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 151559 | .patterns = &.{ |
| | 151560 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151561 | }, |
| | 151562 | .extra_temps = .{ |
| | 151563 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 151564 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 151565 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 151566 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151567 | .unused, |
| | 151568 | .unused, |
| | 151569 | .unused, |
| | 151570 | .unused, |
| | 151571 | .unused, |
| | 151572 | .unused, |
| | 151573 | .unused, |
| | 151574 | }, |
| | 151575 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 151576 | .clobbers = .{ .eflags = true }, |
| | 151577 | .each = .{ .once = &.{ |
| | 151578 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 151579 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 151580 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 151581 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 151582 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 151583 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 151584 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 151585 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 151586 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 151587 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 151588 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 151589 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 151590 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 151591 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 151592 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 151593 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151594 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 151595 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151596 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151597 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151598 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 151599 | } }, |
| | 151600 | }, .{ |
| | 151601 | .required_features = .{ .avx, null, null, null }, |
| | 151602 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151603 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 151604 | .patterns = &.{ |
| | 151605 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151606 | }, |
| | 151607 | .call_frame = .{ .alignment = .@"16" }, |
| | 151608 | .extra_temps = .{ |
| | 151609 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 151610 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 151611 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| | 151612 | .unused, |
| | 151613 | .unused, |
| | 151614 | .unused, |
| | 151615 | .unused, |
| | 151616 | .unused, |
| | 151617 | .unused, |
| | 151618 | .unused, |
| | 151619 | .unused, |
| | 151620 | }, |
| | 151621 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 151622 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 151623 | .each = .{ .once = &.{ |
| | 151624 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 151625 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 151626 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0) }, |
| | 151627 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 151628 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 151629 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 151630 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 151631 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 151632 | } }, |
| | 151633 | }, .{ |
| | 151634 | .required_features = .{ .sse2, null, null, null }, |
| | 151635 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151636 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 151637 | .patterns = &.{ |
| | 151638 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151639 | }, |
| | 151640 | .call_frame = .{ .alignment = .@"16" }, |
| | 151641 | .extra_temps = .{ |
| | 151642 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 151643 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 151644 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| | 151645 | .unused, |
| | 151646 | .unused, |
| | 151647 | .unused, |
| | 151648 | .unused, |
| | 151649 | .unused, |
| | 151650 | .unused, |
| | 151651 | .unused, |
| | 151652 | .unused, |
| | 151653 | }, |
| | 151654 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 151655 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 151656 | .each = .{ .once = &.{ |
| | 151657 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 151658 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 151659 | .{ ._, .p_w, .insr, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0), ._ }, |
| | 151660 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 151661 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 151662 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 151663 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 151664 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 151665 | } }, |
| | 151666 | }, .{ |
| | 151667 | .required_features = .{ .sse, null, null, null }, |
| | 151668 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 151669 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 151670 | .patterns = &.{ |
| | 151671 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151672 | }, |
| | 151673 | .call_frame = .{ .alignment = .@"16" }, |
| | 151674 | .extra_temps = .{ |
| | 151675 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 151676 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 151677 | .{ .type = .f32, .kind = .mem }, |
| | 151678 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 151679 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| | 151680 | .unused, |
| | 151681 | .unused, |
| | 151682 | .unused, |
| | 151683 | .unused, |
| | 151684 | .unused, |
| | 151685 | .unused, |
| | 151686 | }, |
| | 151687 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 151688 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 151689 | .each = .{ .once = &.{ |
| | 151690 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 151691 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 151692 | .{ ._, ._, .movzx, .tmp1d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 151693 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 151694 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 151695 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 151696 | .{ ._, ._ss, .mov, .tmp3x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 151697 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 151698 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 151699 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 151700 | } }, |
| | 151701 | }, .{ |
| | 151702 | .required_features = .{ .avx, null, null, null }, |
| | 151703 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151704 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 151705 | .patterns = &.{ |
| | 151706 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151707 | }, |
| | 151708 | .extra_temps = .{ |
| | 151709 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151710 | .unused, |
| | 151711 | .unused, |
| | 151712 | .unused, |
| | 151713 | .unused, |
| | 151714 | .unused, |
| | 151715 | .unused, |
| | 151716 | .unused, |
| | 151717 | .unused, |
| | 151718 | .unused, |
| | 151719 | .unused, |
| | 151720 | }, |
| | 151721 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151722 | .each = .{ .once = &.{ |
| | 151723 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 151724 | .{ ._, .v_ss, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 151725 | } }, |
| | 151726 | }, .{ |
| | 151727 | .required_features = .{ .sse, null, null, null }, |
| | 151728 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151729 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 151730 | .patterns = &.{ |
| | 151731 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 151732 | }, |
| | 151733 | .extra_temps = .{ |
| | 151734 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151735 | .unused, |
| | 151736 | .unused, |
| | 151737 | .unused, |
| | 151738 | .unused, |
| | 151739 | .unused, |
| | 151740 | .unused, |
| | 151741 | .unused, |
| | 151742 | .unused, |
| | 151743 | .unused, |
| | 151744 | .unused, |
| | 151745 | }, |
| | 151746 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 151747 | .each = .{ .once = &.{ |
| | 151748 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 151749 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 151750 | .{ ._, ._ss, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 151751 | } }, |
| | 151752 | }, .{ |
| | 151753 | .required_features = .{ .avx, null, null, null }, |
| | 151754 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151755 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 151756 | .patterns = &.{ |
| | 151757 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151758 | }, |
| | 151759 | .extra_temps = .{ |
| | 151760 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151761 | .unused, |
| | 151762 | .unused, |
| | 151763 | .unused, |
| | 151764 | .unused, |
| | 151765 | .unused, |
| | 151766 | .unused, |
| | 151767 | .unused, |
| | 151768 | .unused, |
| | 151769 | .unused, |
| | 151770 | .unused, |
| | 151771 | }, |
| | 151772 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151773 | .each = .{ .once = &.{ |
| | 151774 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 151775 | .{ ._, .v_ss, .min, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 151776 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| | 151777 | .{ ._, .v_ss, .min, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 151778 | } }, |
| | 151779 | }, .{ |
| | 151780 | .required_features = .{ .sse, null, null, null }, |
| | 151781 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151782 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 151783 | .patterns = &.{ |
| | 151784 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 151785 | }, |
| | 151786 | .extra_temps = .{ |
| | 151787 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151788 | .unused, |
| | 151789 | .unused, |
| | 151790 | .unused, |
| | 151791 | .unused, |
| | 151792 | .unused, |
| | 151793 | .unused, |
| | 151794 | .unused, |
| | 151795 | .unused, |
| | 151796 | .unused, |
| | 151797 | .unused, |
| | 151798 | }, |
| | 151799 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 151800 | .each = .{ .once = &.{ |
| | 151801 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 151802 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 151803 | .{ ._, ._ss, .min, .tmp0x, .src0x, ._, ._ }, |
| | 151804 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 151805 | .{ ._, ._ss, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 151806 | } }, |
| | 151807 | }, .{ |
| | 151808 | .required_features = .{ .avx, null, null, null }, |
| | 151809 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151810 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 151811 | .patterns = &.{ |
| | 151812 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151813 | }, |
| | 151814 | .extra_temps = .{ |
| | 151815 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151816 | .unused, |
| | 151817 | .unused, |
| | 151818 | .unused, |
| | 151819 | .unused, |
| | 151820 | .unused, |
| | 151821 | .unused, |
| | 151822 | .unused, |
| | 151823 | .unused, |
| | 151824 | .unused, |
| | 151825 | .unused, |
| | 151826 | }, |
| | 151827 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151828 | .each = .{ .once = &.{ |
| | 151829 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 151830 | .{ ._, .v_ps, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 151831 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151832 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151833 | } }, |
| | 151834 | }, .{ |
| | 151835 | .required_features = .{ .sse, null, null, null }, |
| | 151836 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151837 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 151838 | .patterns = &.{ |
| | 151839 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 151840 | }, |
| | 151841 | .extra_temps = .{ |
| | 151842 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151843 | .unused, |
| | 151844 | .unused, |
| | 151845 | .unused, |
| | 151846 | .unused, |
| | 151847 | .unused, |
| | 151848 | .unused, |
| | 151849 | .unused, |
| | 151850 | .unused, |
| | 151851 | .unused, |
| | 151852 | .unused, |
| | 151853 | }, |
| | 151854 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 151855 | .each = .{ .once = &.{ |
| | 151856 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 151857 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 151858 | .{ ._, ._ps, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 151859 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 151860 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 151861 | .{ ._, ._ss, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 151862 | } }, |
| | 151863 | }, .{ |
| | 151864 | .required_features = .{ .avx, null, null, null }, |
| | 151865 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151866 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 151867 | .patterns = &.{ |
| | 151868 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151869 | }, |
| | 151870 | .extra_temps = .{ |
| | 151871 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 151872 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 151873 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 151874 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151875 | .unused, |
| | 151876 | .unused, |
| | 151877 | .unused, |
| | 151878 | .unused, |
| | 151879 | .unused, |
| | 151880 | .unused, |
| | 151881 | .unused, |
| | 151882 | }, |
| | 151883 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151884 | .each = .{ .once = &.{ |
| | 151885 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 151886 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 151887 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 151888 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 151889 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 151890 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151891 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 151892 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151893 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151894 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151895 | } }, |
| | 151896 | }, .{ |
| | 151897 | .required_features = .{ .avx, null, null, null }, |
| | 151898 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151899 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 151900 | .patterns = &.{ |
| | 151901 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 151902 | }, |
| | 151903 | .extra_temps = .{ |
| | 151904 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151905 | .unused, |
| | 151906 | .unused, |
| | 151907 | .unused, |
| | 151908 | .unused, |
| | 151909 | .unused, |
| | 151910 | .unused, |
| | 151911 | .unused, |
| | 151912 | .unused, |
| | 151913 | .unused, |
| | 151914 | .unused, |
| | 151915 | }, |
| | 151916 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 151917 | .each = .{ .once = &.{ |
| | 151918 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 151919 | .{ ._, .v_ps, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 151920 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 151921 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151922 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151923 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151924 | } }, |
| | 151925 | }, .{ |
| | 151926 | .required_features = .{ .avx512f, null, null, null }, |
| | 151927 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151928 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 151929 | .patterns = &.{ |
| | 151930 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151931 | }, |
| | 151932 | .extra_temps = .{ |
| | 151933 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 151934 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 151935 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 151936 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 151937 | .unused, |
| | 151938 | .unused, |
| | 151939 | .unused, |
| | 151940 | .unused, |
| | 151941 | .unused, |
| | 151942 | .unused, |
| | 151943 | .unused, |
| | 151944 | }, |
| | 151945 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 151946 | .each = .{ .once = &.{ |
| | 151947 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 151948 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 151949 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 151950 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 151951 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 151952 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 151953 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 151954 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 151955 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 151956 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 151957 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151958 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 151959 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151960 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151961 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 151962 | } }, |
| | 151963 | }, .{ |
| | 151964 | .required_features = .{ .avx512f, null, null, null }, |
| | 151965 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151966 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 151967 | .patterns = &.{ |
| | 151968 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 151969 | }, |
| | 151970 | .extra_temps = .{ |
| | 151971 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 151972 | .unused, |
| | 151973 | .unused, |
| | 151974 | .unused, |
| | 151975 | .unused, |
| | 151976 | .unused, |
| | 151977 | .unused, |
| | 151978 | .unused, |
| | 151979 | .unused, |
| | 151980 | .unused, |
| | 151981 | .unused, |
| | 151982 | }, |
| | 151983 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 151984 | .each = .{ .once = &.{ |
| | 151985 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 151986 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 151987 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 151988 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 151989 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151990 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 151991 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151992 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 151993 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 151994 | } }, |
| | 151995 | }, .{ |
| | 151996 | .required_features = .{ .avx, null, null, null }, |
| | 151997 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 151998 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 151999 | .patterns = &.{ |
| | 152000 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152001 | }, |
| | 152002 | .extra_temps = .{ |
| | 152003 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152004 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 152005 | .unused, |
| | 152006 | .unused, |
| | 152007 | .unused, |
| | 152008 | .unused, |
| | 152009 | .unused, |
| | 152010 | .unused, |
| | 152011 | .unused, |
| | 152012 | .unused, |
| | 152013 | .unused, |
| | 152014 | }, |
| | 152015 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152016 | .clobbers = .{ .eflags = true }, |
| | 152017 | .each = .{ .once = &.{ |
| | 152018 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 152019 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 152020 | .{ .@"0:", .v_ps, .min, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 152021 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 152022 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152023 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 152024 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 152025 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 152026 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 152027 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 152028 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 152029 | } }, |
| | 152030 | }, .{ |
| | 152031 | .required_features = .{ .sse, null, null, null }, |
| | 152032 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 152033 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 152034 | .patterns = &.{ |
| | 152035 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152036 | }, |
| | 152037 | .extra_temps = .{ |
| | 152038 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152039 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 152040 | .unused, |
| | 152041 | .unused, |
| | 152042 | .unused, |
| | 152043 | .unused, |
| | 152044 | .unused, |
| | 152045 | .unused, |
| | 152046 | .unused, |
| | 152047 | .unused, |
| | 152048 | .unused, |
| | 152049 | }, |
| | 152050 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152051 | .clobbers = .{ .eflags = true }, |
| | 152052 | .each = .{ .once = &.{ |
| | 152053 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 152054 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 152055 | .{ .@"0:", ._ps, .min, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 152056 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152057 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152058 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 152059 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 152060 | .{ ._, ._ps, .min, .dst0x, .tmp1x, ._, ._ }, |
| | 152061 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 152062 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ }, |
| | 152063 | .{ ._, ._ss, .min, .dst0x, .tmp1x, ._, ._ }, |
| | 152064 | } }, |
| | 152065 | }, .{ |
| | 152066 | .required_features = .{ .avx512f, null, null, null }, |
| | 152067 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 152068 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 152069 | .patterns = &.{ |
| | 152070 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152071 | }, |
| | 152072 | .extra_temps = .{ |
| | 152073 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152074 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 152075 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 152076 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 152077 | .unused, |
| | 152078 | .unused, |
| | 152079 | .unused, |
| | 152080 | .unused, |
| | 152081 | .unused, |
| | 152082 | .unused, |
| | 152083 | .unused, |
| | 152084 | }, |
| | 152085 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152086 | .clobbers = .{ .eflags = true }, |
| | 152087 | .each = .{ .once = &.{ |
| | 152088 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 152089 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 152090 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 152091 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 152092 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 152093 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 152094 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 152095 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 152096 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 152097 | .{ .@"0:", .v_ps, .min, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 152098 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 152099 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 152100 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152101 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 152102 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 152103 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152104 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 152105 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152106 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 152107 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152108 | } }, |
| | 152109 | }, .{ |
| | 152110 | .required_features = .{ .avx, null, null, null }, |
| | 152111 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 152112 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 152113 | .patterns = &.{ |
| | 152114 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152115 | }, |
| | 152116 | .extra_temps = .{ |
| | 152117 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152118 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 152119 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 152120 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 152121 | .unused, |
| | 152122 | .unused, |
| | 152123 | .unused, |
| | 152124 | .unused, |
| | 152125 | .unused, |
| | 152126 | .unused, |
| | 152127 | .unused, |
| | 152128 | }, |
| | 152129 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152130 | .clobbers = .{ .eflags = true }, |
| | 152131 | .each = .{ .once = &.{ |
| | 152132 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 152133 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 152134 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 152135 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 152136 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 152137 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 152138 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 152139 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152140 | .{ .@"0:", .v_ps, .min, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 152141 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152142 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152143 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 152144 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152145 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 152146 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152147 | } }, |
| | 152148 | }, .{ |
| | 152149 | .required_features = .{ .sse, null, null, null }, |
| | 152150 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 152151 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 152152 | .patterns = &.{ |
| | 152153 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152154 | }, |
| | 152155 | .extra_temps = .{ |
| | 152156 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152157 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 152158 | .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 152159 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 152160 | .unused, |
| | 152161 | .unused, |
| | 152162 | .unused, |
| | 152163 | .unused, |
| | 152164 | .unused, |
| | 152165 | .unused, |
| | 152166 | .unused, |
| | 152167 | }, |
| | 152168 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152169 | .clobbers = .{ .eflags = true }, |
| | 152170 | .each = .{ .once = &.{ |
| | 152171 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 152172 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 152173 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 152174 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 152175 | .{ ._, ._ps, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 152176 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 152177 | .{ .@"0:", ._ps, .min, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 152178 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152179 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152180 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 152181 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 152182 | .{ ._, ._ps, .min, .dst0x, .tmp3x, ._, ._ }, |
| | 152183 | .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ }, |
| | 152184 | .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ }, |
| | 152185 | .{ ._, ._ss, .min, .dst0x, .tmp3x, ._, ._ }, |
| | 152186 | } }, |
| | 152187 | }, .{ |
| | 152188 | .required_features = .{ .avx, null, null, null }, |
| | 152189 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152190 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 152191 | .patterns = &.{ |
| | 152192 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 152193 | }, |
| | 152194 | .extra_temps = .{ |
| | 152195 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 152196 | .unused, |
| | 152197 | .unused, |
| | 152198 | .unused, |
| | 152199 | .unused, |
| | 152200 | .unused, |
| | 152201 | .unused, |
| | 152202 | .unused, |
| | 152203 | .unused, |
| | 152204 | .unused, |
| | 152205 | .unused, |
| | 152206 | }, |
| | 152207 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 152208 | .each = .{ .once = &.{ |
| | 152209 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 152210 | .{ ._, .v_sd, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 152211 | } }, |
| | 152212 | }, .{ |
| | 152213 | .required_features = .{ .sse2, null, null, null }, |
| | 152214 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152215 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 152216 | .patterns = &.{ |
| | 152217 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 152218 | }, |
| | 152219 | .extra_temps = .{ |
| | 152220 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 152221 | .unused, |
| | 152222 | .unused, |
| | 152223 | .unused, |
| | 152224 | .unused, |
| | 152225 | .unused, |
| | 152226 | .unused, |
| | 152227 | .unused, |
| | 152228 | .unused, |
| | 152229 | .unused, |
| | 152230 | .unused, |
| | 152231 | }, |
| | 152232 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 152233 | .each = .{ .once = &.{ |
| | 152234 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 152235 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 152236 | .{ ._, ._sd, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 152237 | } }, |
| | 152238 | }, .{ |
| | 152239 | .required_features = .{ .avx, null, null, null }, |
| | 152240 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152241 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 152242 | .patterns = &.{ |
| | 152243 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 152244 | }, |
| | 152245 | .extra_temps = .{ |
| | 152246 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 152247 | .unused, |
| | 152248 | .unused, |
| | 152249 | .unused, |
| | 152250 | .unused, |
| | 152251 | .unused, |
| | 152252 | .unused, |
| | 152253 | .unused, |
| | 152254 | .unused, |
| | 152255 | .unused, |
| | 152256 | .unused, |
| | 152257 | }, |
| | 152258 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 152259 | .each = .{ .once = &.{ |
| | 152260 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 152261 | .{ ._, .v_sd, .min, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 152262 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 152263 | .{ ._, .v_sd, .min, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 152264 | } }, |
| | 152265 | }, .{ |
| | 152266 | .required_features = .{ .avx, null, null, null }, |
| | 152267 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152268 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 152269 | .patterns = &.{ |
| | 152270 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 152271 | }, |
| | 152272 | .extra_temps = .{ |
| | 152273 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 152274 | .unused, |
| | 152275 | .unused, |
| | 152276 | .unused, |
| | 152277 | .unused, |
| | 152278 | .unused, |
| | 152279 | .unused, |
| | 152280 | .unused, |
| | 152281 | .unused, |
| | 152282 | .unused, |
| | 152283 | .unused, |
| | 152284 | }, |
| | 152285 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 152286 | .each = .{ .once = &.{ |
| | 152287 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 152288 | .{ ._, .v_pd, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 152289 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 152290 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152291 | } }, |
| | 152292 | }, .{ |
| | 152293 | .required_features = .{ .avx512f, null, null, null }, |
| | 152294 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152295 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 152296 | .patterns = &.{ |
| | 152297 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152298 | }, |
| | 152299 | .extra_temps = .{ |
| | 152300 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 152301 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 152302 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 152303 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 152304 | .unused, |
| | 152305 | .unused, |
| | 152306 | .unused, |
| | 152307 | .unused, |
| | 152308 | .unused, |
| | 152309 | .unused, |
| | 152310 | .unused, |
| | 152311 | }, |
| | 152312 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152313 | .each = .{ .once = &.{ |
| | 152314 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 152315 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 152316 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 152317 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 152318 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 152319 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 152320 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 152321 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 152322 | .{ ._, .v_pd, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 152323 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 152324 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152325 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 152326 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152327 | } }, |
| | 152328 | }, .{ |
| | 152329 | .required_features = .{ .avx512f, null, null, null }, |
| | 152330 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152331 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 152332 | .patterns = &.{ |
| | 152333 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152334 | }, |
| | 152335 | .extra_temps = .{ |
| | 152336 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 152337 | .unused, |
| | 152338 | .unused, |
| | 152339 | .unused, |
| | 152340 | .unused, |
| | 152341 | .unused, |
| | 152342 | .unused, |
| | 152343 | .unused, |
| | 152344 | .unused, |
| | 152345 | .unused, |
| | 152346 | .unused, |
| | 152347 | }, |
| | 152348 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152349 | .each = .{ .once = &.{ |
| | 152350 | .{ ._, .v_pd, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 152351 | .{ ._, .v_pd, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 152352 | .{ ._, .v_pd, .min, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 152353 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 152354 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152355 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 152356 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152357 | } }, |
| | 152358 | }, .{ |
| | 152359 | .required_features = .{ .avx, null, null, null }, |
| | 152360 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152361 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 152362 | .patterns = &.{ |
| | 152363 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152364 | }, |
| | 152365 | .extra_temps = .{ |
| | 152366 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152367 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 152368 | .unused, |
| | 152369 | .unused, |
| | 152370 | .unused, |
| | 152371 | .unused, |
| | 152372 | .unused, |
| | 152373 | .unused, |
| | 152374 | .unused, |
| | 152375 | .unused, |
| | 152376 | .unused, |
| | 152377 | }, |
| | 152378 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152379 | .clobbers = .{ .eflags = true }, |
| | 152380 | .each = .{ .once = &.{ |
| | 152381 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 152382 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 152383 | .{ .@"0:", .v_pd, .min, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 152384 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 152385 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152386 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 152387 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 152388 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 152389 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 152390 | } }, |
| | 152391 | }, .{ |
| | 152392 | .required_features = .{ .sse2, null, null, null }, |
| | 152393 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152394 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 152395 | .patterns = &.{ |
| | 152396 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152397 | }, |
| | 152398 | .extra_temps = .{ |
| | 152399 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152400 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 152401 | .unused, |
| | 152402 | .unused, |
| | 152403 | .unused, |
| | 152404 | .unused, |
| | 152405 | .unused, |
| | 152406 | .unused, |
| | 152407 | .unused, |
| | 152408 | .unused, |
| | 152409 | .unused, |
| | 152410 | }, |
| | 152411 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152412 | .clobbers = .{ .eflags = true }, |
| | 152413 | .each = .{ .once = &.{ |
| | 152414 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 152415 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 152416 | .{ .@"0:", ._pd, .min, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 152417 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152418 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152419 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 152420 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 152421 | .{ ._, ._sd, .min, .dst0x, .tmp1x, ._, ._ }, |
| | 152422 | } }, |
| | 152423 | }, .{ |
| | 152424 | .required_features = .{ .avx512f, null, null, null }, |
| | 152425 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152426 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 152427 | .patterns = &.{ |
| | 152428 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152429 | }, |
| | 152430 | .extra_temps = .{ |
| | 152431 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152432 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 152433 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 152434 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 152435 | .unused, |
| | 152436 | .unused, |
| | 152437 | .unused, |
| | 152438 | .unused, |
| | 152439 | .unused, |
| | 152440 | .unused, |
| | 152441 | .unused, |
| | 152442 | }, |
| | 152443 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152444 | .clobbers = .{ .eflags = true }, |
| | 152445 | .each = .{ .once = &.{ |
| | 152446 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 152447 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 152448 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 152449 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 152450 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 152451 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 152452 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 152453 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 152454 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 152455 | .{ .@"0:", .v_pd, .min, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 152456 | .{ ._, .v_pd, .min, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 152457 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 152458 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152459 | .{ ._, .v_pd, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 152460 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 152461 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152462 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 152463 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152464 | } }, |
| | 152465 | }, .{ |
| | 152466 | .required_features = .{ .avx, null, null, null }, |
| | 152467 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152468 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 152469 | .patterns = &.{ |
| | 152470 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152471 | }, |
| | 152472 | .extra_temps = .{ |
| | 152473 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152474 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 152475 | .{ .type = .vector_4_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 152476 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 152477 | .unused, |
| | 152478 | .unused, |
| | 152479 | .unused, |
| | 152480 | .unused, |
| | 152481 | .unused, |
| | 152482 | .unused, |
| | 152483 | .unused, |
| | 152484 | }, |
| | 152485 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152486 | .clobbers = .{ .eflags = true }, |
| | 152487 | .each = .{ .once = &.{ |
| | 152488 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 152489 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 152490 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 152491 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 152492 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 152493 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 152494 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 152495 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152496 | .{ .@"0:", .v_pd, .min, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 152497 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152498 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152499 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 152500 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152501 | } }, |
| | 152502 | }, .{ |
| | 152503 | .required_features = .{ .sse2, null, null, null }, |
| | 152504 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152505 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 152506 | .patterns = &.{ |
| | 152507 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152508 | }, |
| | 152509 | .extra_temps = .{ |
| | 152510 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152511 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 152512 | .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 152513 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 152514 | .unused, |
| | 152515 | .unused, |
| | 152516 | .unused, |
| | 152517 | .unused, |
| | 152518 | .unused, |
| | 152519 | .unused, |
| | 152520 | .unused, |
| | 152521 | }, |
| | 152522 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 152523 | .clobbers = .{ .eflags = true }, |
| | 152524 | .each = .{ .once = &.{ |
| | 152525 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 152526 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 152527 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 152528 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 152529 | .{ ._, ._pd, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 152530 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 152531 | .{ .@"0:", ._pd, .min, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 152532 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152533 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152534 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 152535 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 152536 | .{ ._, ._sd, .min, .dst0x, .tmp3x, ._, ._ }, |
| | 152537 | } }, |
| | 152538 | }, .{ |
| | 152539 | .required_features = .{ .x87, .cmov, null, null }, |
| | 152540 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152541 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 152542 | .patterns = &.{ |
| | 152543 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152544 | }, |
| | 152545 | .extra_temps = .{ |
| | 152546 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152547 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 152548 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 152549 | .unused, |
| | 152550 | .unused, |
| | 152551 | .unused, |
| | 152552 | .unused, |
| | 152553 | .unused, |
| | 152554 | .unused, |
| | 152555 | .unused, |
| | 152556 | .unused, |
| | 152557 | }, |
| | 152558 | .dst_temps = .{ .mem, .unused }, |
| | 152559 | .clobbers = .{ .eflags = true }, |
| | 152560 | .each = .{ .once = &.{ |
| | 152561 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 152562 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 152563 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 152564 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 152565 | .{ ._, .f_nb, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 152566 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 152567 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 152568 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152569 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 152570 | } }, |
| | 152571 | }, .{ |
| | 152572 | .required_features = .{ .sahf, .x87, null, null }, |
| | 152573 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152574 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 152575 | .patterns = &.{ |
| | 152576 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152577 | }, |
| | 152578 | .extra_temps = .{ |
| | 152579 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152580 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 152581 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 152582 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 152583 | .unused, |
| | 152584 | .unused, |
| | 152585 | .unused, |
| | 152586 | .unused, |
| | 152587 | .unused, |
| | 152588 | .unused, |
| | 152589 | .unused, |
| | 152590 | }, |
| | 152591 | .dst_temps = .{ .mem, .unused }, |
| | 152592 | .clobbers = .{ .eflags = true }, |
| | 152593 | .each = .{ .once = &.{ |
| | 152594 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 152595 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 152596 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 152597 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 152598 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 152599 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 152600 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 152601 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 152602 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 152603 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 152604 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152605 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 152606 | } }, |
| | 152607 | }, .{ |
| | 152608 | .required_features = .{ .x87, null, null, null }, |
| | 152609 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 152610 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 152611 | .patterns = &.{ |
| | 152612 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152613 | }, |
| | 152614 | .extra_temps = .{ |
| | 152615 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152616 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 152617 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 152618 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 152619 | .unused, |
| | 152620 | .unused, |
| | 152621 | .unused, |
| | 152622 | .unused, |
| | 152623 | .unused, |
| | 152624 | .unused, |
| | 152625 | .unused, |
| | 152626 | }, |
| | 152627 | .dst_temps = .{ .mem, .unused }, |
| | 152628 | .clobbers = .{ .eflags = true }, |
| | 152629 | .each = .{ .once = &.{ |
| | 152630 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 152631 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 152632 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 152633 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 152634 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 152635 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 152636 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 152637 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 152638 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 152639 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 152640 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152641 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 152642 | } }, |
| | 152643 | }, .{ |
| | 152644 | .required_features = .{ .x87, .cmov, null, null }, |
| | 152645 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 152646 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 152647 | .patterns = &.{ |
| | 152648 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152649 | }, |
| | 152650 | .extra_temps = .{ |
| | 152651 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152652 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 152653 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 152654 | .unused, |
| | 152655 | .unused, |
| | 152656 | .unused, |
| | 152657 | .unused, |
| | 152658 | .unused, |
| | 152659 | .unused, |
| | 152660 | .unused, |
| | 152661 | .unused, |
| | 152662 | }, |
| | 152663 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 152664 | .clobbers = .{ .eflags = true }, |
| | 152665 | .each = .{ .once = &.{ |
| | 152666 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 152667 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 152668 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 152669 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 152670 | .{ ._, .f_nb, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 152671 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 152672 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152673 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152674 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 152675 | } }, |
| | 152676 | }, .{ |
| | 152677 | .required_features = .{ .sahf, .x87, null, null }, |
| | 152678 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 152679 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 152680 | .patterns = &.{ |
| | 152681 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152682 | }, |
| | 152683 | .extra_temps = .{ |
| | 152684 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152685 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 152686 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 152687 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 152688 | .unused, |
| | 152689 | .unused, |
| | 152690 | .unused, |
| | 152691 | .unused, |
| | 152692 | .unused, |
| | 152693 | .unused, |
| | 152694 | .unused, |
| | 152695 | }, |
| | 152696 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 152697 | .clobbers = .{ .eflags = true }, |
| | 152698 | .each = .{ .once = &.{ |
| | 152699 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 152700 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 152701 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 152702 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 152703 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 152704 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 152705 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 152706 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 152707 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 152708 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152709 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152710 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 152711 | } }, |
| | 152712 | }, .{ |
| | 152713 | .required_features = .{ .x87, null, null, null }, |
| | 152714 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 152715 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 152716 | .patterns = &.{ |
| | 152717 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152718 | }, |
| | 152719 | .extra_temps = .{ |
| | 152720 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152721 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 152722 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 152723 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 152724 | .unused, |
| | 152725 | .unused, |
| | 152726 | .unused, |
| | 152727 | .unused, |
| | 152728 | .unused, |
| | 152729 | .unused, |
| | 152730 | .unused, |
| | 152731 | }, |
| | 152732 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 152733 | .clobbers = .{ .eflags = true }, |
| | 152734 | .each = .{ .once = &.{ |
| | 152735 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 152736 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 152737 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 152738 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 152739 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 152740 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 152741 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 152742 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 152743 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 152744 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152745 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152746 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 152747 | } }, |
| | 152748 | }, .{ |
| | 152749 | .required_features = .{ .avx, null, null, null }, |
| | 152750 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 152751 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 152752 | .patterns = &.{ |
| | 152753 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152754 | }, |
| | 152755 | .call_frame = .{ .alignment = .@"16" }, |
| | 152756 | .extra_temps = .{ |
| | 152757 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152758 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 152759 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| | 152760 | .unused, |
| | 152761 | .unused, |
| | 152762 | .unused, |
| | 152763 | .unused, |
| | 152764 | .unused, |
| | 152765 | .unused, |
| | 152766 | .unused, |
| | 152767 | .unused, |
| | 152768 | }, |
| | 152769 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 152770 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 152771 | .each = .{ .once = &.{ |
| | 152772 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 152773 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 152774 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 152775 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 152776 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152777 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152778 | } }, |
| | 152779 | }, .{ |
| | 152780 | .required_features = .{ .sse2, null, null, null }, |
| | 152781 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 152782 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 152783 | .patterns = &.{ |
| | 152784 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152785 | }, |
| | 152786 | .call_frame = .{ .alignment = .@"16" }, |
| | 152787 | .extra_temps = .{ |
| | 152788 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152789 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 152790 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| | 152791 | .unused, |
| | 152792 | .unused, |
| | 152793 | .unused, |
| | 152794 | .unused, |
| | 152795 | .unused, |
| | 152796 | .unused, |
| | 152797 | .unused, |
| | 152798 | .unused, |
| | 152799 | }, |
| | 152800 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 152801 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 152802 | .each = .{ .once = &.{ |
| | 152803 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 152804 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 152805 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 152806 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 152807 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152808 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152809 | } }, |
| | 152810 | }, .{ |
| | 152811 | .required_features = .{ .sse, null, null, null }, |
| | 152812 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 152813 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 152814 | .patterns = &.{ |
| | 152815 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 152816 | }, |
| | 152817 | .call_frame = .{ .alignment = .@"16" }, |
| | 152818 | .extra_temps = .{ |
| | 152819 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 152820 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 152821 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| | 152822 | .unused, |
| | 152823 | .unused, |
| | 152824 | .unused, |
| | 152825 | .unused, |
| | 152826 | .unused, |
| | 152827 | .unused, |
| | 152828 | .unused, |
| | 152829 | .unused, |
| | 152830 | }, |
| | 152831 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 152832 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 152833 | .each = .{ .once = &.{ |
| | 152834 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 152835 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 152836 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 152837 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 152838 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 152839 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 152840 | } }, |
| | 152841 | } }, |
| | 152842 | .Max => comptime &.{ .{ |
| | 152843 | .required_features = .{ .f16c, null, null, null }, |
| | 152844 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 152845 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 152846 | .patterns = &.{ |
| | 152847 | .{ .src = .{ .mem, .none, .none } }, |
| | 152848 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 152849 | }, |
| | 152850 | .extra_temps = .{ |
| | 152851 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 152852 | .unused, |
| | 152853 | .unused, |
| | 152854 | .unused, |
| | 152855 | .unused, |
| | 152856 | .unused, |
| | 152857 | .unused, |
| | 152858 | .unused, |
| | 152859 | .unused, |
| | 152860 | .unused, |
| | 152861 | .unused, |
| | 152862 | }, |
| | 152863 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 152864 | .each = .{ .once = &.{ |
| | 152865 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 152866 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 152867 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152868 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 152869 | } }, |
| | 152870 | }, .{ |
| | 152871 | .required_features = .{ .f16c, null, null, null }, |
| | 152872 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 152873 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 152874 | .patterns = &.{ |
| | 152875 | .{ .src = .{ .mem, .none, .none } }, |
| | 152876 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 152877 | }, |
| | 152878 | .extra_temps = .{ |
| | 152879 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 152880 | .unused, |
| | 152881 | .unused, |
| | 152882 | .unused, |
| | 152883 | .unused, |
| | 152884 | .unused, |
| | 152885 | .unused, |
| | 152886 | .unused, |
| | 152887 | .unused, |
| | 152888 | .unused, |
| | 152889 | .unused, |
| | 152890 | }, |
| | 152891 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 152892 | .each = .{ .once = &.{ |
| | 152893 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 152894 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 152895 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152896 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 152897 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152898 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 152899 | } }, |
| | 152900 | }, .{ |
| | 152901 | .required_features = .{ .f16c, null, null, null }, |
| | 152902 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 152903 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 152904 | .patterns = &.{ |
| | 152905 | .{ .src = .{ .mem, .none, .none } }, |
| | 152906 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 152907 | }, |
| | 152908 | .extra_temps = .{ |
| | 152909 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 152910 | .unused, |
| | 152911 | .unused, |
| | 152912 | .unused, |
| | 152913 | .unused, |
| | 152914 | .unused, |
| | 152915 | .unused, |
| | 152916 | .unused, |
| | 152917 | .unused, |
| | 152918 | .unused, |
| | 152919 | .unused, |
| | 152920 | }, |
| | 152921 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 152922 | .each = .{ .once = &.{ |
| | 152923 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 152924 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 152925 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152926 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 152927 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152928 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 152929 | } }, |
| | 152930 | }, .{ |
| | 152931 | .required_features = .{ .f16c, null, null, null }, |
| | 152932 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 152933 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 152934 | .patterns = &.{ |
| | 152935 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 152936 | }, |
| | 152937 | .extra_temps = .{ |
| | 152938 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 152939 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 152940 | .{ .type = .vector_8_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 152941 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 152942 | .unused, |
| | 152943 | .unused, |
| | 152944 | .unused, |
| | 152945 | .unused, |
| | 152946 | .unused, |
| | 152947 | .unused, |
| | 152948 | .unused, |
| | 152949 | }, |
| | 152950 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 152951 | .each = .{ .once = &.{ |
| | 152952 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 152953 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 152954 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 152955 | .{ ._, .v_ps, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 152956 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 152957 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 152958 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152959 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 152960 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152961 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 152962 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 152963 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 152964 | } }, |
| | 152965 | }, .{ |
| | 152966 | .required_features = .{ .f16c, null, null, null }, |
| | 152967 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 152968 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 152969 | .patterns = &.{ |
| | 152970 | .{ .src = .{ .mem, .none, .none } }, |
| | 152971 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 152972 | }, |
| | 152973 | .extra_temps = .{ |
| | 152974 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 152975 | .unused, |
| | 152976 | .unused, |
| | 152977 | .unused, |
| | 152978 | .unused, |
| | 152979 | .unused, |
| | 152980 | .unused, |
| | 152981 | .unused, |
| | 152982 | .unused, |
| | 152983 | .unused, |
| | 152984 | .unused, |
| | 152985 | }, |
| | 152986 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 152987 | .each = .{ .once = &.{ |
| | 152988 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 152989 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 152990 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152991 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 152992 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152993 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 152994 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 152995 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 152996 | } }, |
| | 152997 | }, .{ |
| | 152998 | .required_features = .{ .f16c, null, null, null }, |
| | 152999 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153000 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 153001 | .patterns = &.{ |
| | 153002 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153003 | }, |
| | 153004 | .extra_temps = .{ |
| | 153005 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 153006 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153007 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153008 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153009 | .unused, |
| | 153010 | .unused, |
| | 153011 | .unused, |
| | 153012 | .unused, |
| | 153013 | .unused, |
| | 153014 | .unused, |
| | 153015 | .unused, |
| | 153016 | }, |
| | 153017 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153018 | .each = .{ .once = &.{ |
| | 153019 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 153020 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 153021 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 153022 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 153023 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153024 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 153025 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 153026 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 153027 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153028 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153029 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 153030 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153031 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153032 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153033 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 153034 | } }, |
| | 153035 | }, .{ |
| | 153036 | .required_features = .{ .f16c, null, null, null }, |
| | 153037 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153038 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 153039 | .patterns = &.{ |
| | 153040 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153041 | }, |
| | 153042 | .extra_temps = .{ |
| | 153043 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153044 | .unused, |
| | 153045 | .unused, |
| | 153046 | .unused, |
| | 153047 | .unused, |
| | 153048 | .unused, |
| | 153049 | .unused, |
| | 153050 | .unused, |
| | 153051 | .unused, |
| | 153052 | .unused, |
| | 153053 | .unused, |
| | 153054 | }, |
| | 153055 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153056 | .each = .{ .once = &.{ |
| | 153057 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 153058 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 153059 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 153060 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 153061 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 153062 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153063 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 153064 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153065 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153066 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153067 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 153068 | } }, |
| | 153069 | }, .{ |
| | 153070 | .required_features = .{ .avx512f, null, null, null }, |
| | 153071 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153072 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 153073 | .patterns = &.{ |
| | 153074 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153075 | }, |
| | 153076 | .extra_temps = .{ |
| | 153077 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 153078 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153079 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153080 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153081 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153082 | .unused, |
| | 153083 | .unused, |
| | 153084 | .unused, |
| | 153085 | .unused, |
| | 153086 | .unused, |
| | 153087 | .unused, |
| | 153088 | }, |
| | 153089 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153090 | .each = .{ .once = &.{ |
| | 153091 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 153092 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 153093 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 153094 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 153095 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 153096 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 153097 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 153098 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 153099 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 153100 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 153101 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 153102 | .{ ._, .v_ps, .max, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| | 153103 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 153104 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 153105 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 153106 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp4y, ._ }, |
| | 153107 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 153108 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153109 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153110 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 153111 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153112 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153113 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153114 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 153115 | } }, |
| | 153116 | }, .{ |
| | 153117 | .required_features = .{ .avx512f, null, null, null }, |
| | 153118 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153119 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 153120 | .patterns = &.{ |
| | 153121 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153122 | }, |
| | 153123 | .extra_temps = .{ |
| | 153124 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153125 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153126 | .unused, |
| | 153127 | .unused, |
| | 153128 | .unused, |
| | 153129 | .unused, |
| | 153130 | .unused, |
| | 153131 | .unused, |
| | 153132 | .unused, |
| | 153133 | .unused, |
| | 153134 | .unused, |
| | 153135 | }, |
| | 153136 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153137 | .each = .{ .once = &.{ |
| | 153138 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 153139 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 153140 | .{ ._, .v_f128, .extract, .tmp1x, .tmp0y, .ui(1), ._ }, |
| | 153141 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 153142 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 153143 | .{ ._, .v_ps, .max, .tmp0y, .tmp0y, .tmp1y, ._ }, |
| | 153144 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 153145 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 153146 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 153147 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 153148 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 153149 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 153150 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153151 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 153152 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153153 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153154 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153155 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 153156 | } }, |
| | 153157 | }, .{ |
| | 153158 | .required_features = .{ .f16c, null, null, null }, |
| | 153159 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153160 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 153161 | .patterns = &.{ |
| | 153162 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153163 | }, |
| | 153164 | .extra_temps = .{ |
| | 153165 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153166 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153167 | .unused, |
| | 153168 | .unused, |
| | 153169 | .unused, |
| | 153170 | .unused, |
| | 153171 | .unused, |
| | 153172 | .unused, |
| | 153173 | .unused, |
| | 153174 | .unused, |
| | 153175 | .unused, |
| | 153176 | }, |
| | 153177 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153178 | .clobbers = .{ .eflags = true }, |
| | 153179 | .each = .{ .once = &.{ |
| | 153180 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 153181 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 153182 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 153183 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 153184 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 153185 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153186 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 153187 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 153188 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 153189 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 153190 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153191 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 153192 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 153193 | } }, |
| | 153194 | }, .{ |
| | 153195 | .required_features = .{ .avx512f, null, null, null }, |
| | 153196 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153197 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 153198 | .patterns = &.{ |
| | 153199 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153200 | }, |
| | 153201 | .extra_temps = .{ |
| | 153202 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153203 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153204 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153205 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153206 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153207 | .unused, |
| | 153208 | .unused, |
| | 153209 | .unused, |
| | 153210 | .unused, |
| | 153211 | .unused, |
| | 153212 | .unused, |
| | 153213 | }, |
| | 153214 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153215 | .clobbers = .{ .eflags = true }, |
| | 153216 | .each = .{ .once = &.{ |
| | 153217 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 153218 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 153219 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 153220 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 153221 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 153222 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 153223 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 153224 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 153225 | .{ ._, ._, .mov, .tmp0d, .sia(-80, .src0, .add_size), ._, ._ }, |
| | 153226 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 153227 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 153228 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 153229 | .{ ._, .v_ps, .max, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| | 153230 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 153231 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 153232 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 153233 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp4y, ._ }, |
| | 153234 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 153235 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 153236 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 153237 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 153238 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153239 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153240 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153241 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 153242 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153243 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153244 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153245 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 153246 | } }, |
| | 153247 | }, .{ |
| | 153248 | .required_features = .{ .f16c, null, null, null }, |
| | 153249 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153250 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 153251 | .patterns = &.{ |
| | 153252 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153253 | }, |
| | 153254 | .extra_temps = .{ |
| | 153255 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153256 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153257 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153258 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153259 | .unused, |
| | 153260 | .unused, |
| | 153261 | .unused, |
| | 153262 | .unused, |
| | 153263 | .unused, |
| | 153264 | .unused, |
| | 153265 | .unused, |
| | 153266 | }, |
| | 153267 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153268 | .clobbers = .{ .eflags = true }, |
| | 153269 | .each = .{ .once = &.{ |
| | 153270 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 153271 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 153272 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 153273 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 153274 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 153275 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 153276 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153277 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 153278 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 153279 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 153280 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 153281 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 153282 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 153283 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153284 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153285 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153286 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 153287 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153288 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153289 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153290 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 153291 | } }, |
| | 153292 | }, .{ |
| | 153293 | .required_features = .{ .avx, null, null, null }, |
| | 153294 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153295 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 153296 | .patterns = &.{ |
| | 153297 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153298 | }, |
| | 153299 | .call_frame = .{ .alignment = .@"16" }, |
| | 153300 | .extra_temps = .{ |
| | 153301 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153302 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 153303 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| | 153304 | .unused, |
| | 153305 | .unused, |
| | 153306 | .unused, |
| | 153307 | .unused, |
| | 153308 | .unused, |
| | 153309 | .unused, |
| | 153310 | .unused, |
| | 153311 | .unused, |
| | 153312 | }, |
| | 153313 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 153314 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 153315 | .each = .{ .once = &.{ |
| | 153316 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 153317 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 153318 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0) }, |
| | 153319 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 153320 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 153321 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 153322 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 153323 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153324 | } }, |
| | 153325 | }, .{ |
| | 153326 | .required_features = .{ .sse2, null, null, null }, |
| | 153327 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153328 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 153329 | .patterns = &.{ |
| | 153330 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153331 | }, |
| | 153332 | .call_frame = .{ .alignment = .@"16" }, |
| | 153333 | .extra_temps = .{ |
| | 153334 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153335 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 153336 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| | 153337 | .unused, |
| | 153338 | .unused, |
| | 153339 | .unused, |
| | 153340 | .unused, |
| | 153341 | .unused, |
| | 153342 | .unused, |
| | 153343 | .unused, |
| | 153344 | .unused, |
| | 153345 | }, |
| | 153346 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 153347 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 153348 | .each = .{ .once = &.{ |
| | 153349 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 153350 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 153351 | .{ ._, .p_w, .insr, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0), ._ }, |
| | 153352 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 153353 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 153354 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 153355 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 153356 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153357 | } }, |
| | 153358 | }, .{ |
| | 153359 | .required_features = .{ .sse, null, null, null }, |
| | 153360 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 153361 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 153362 | .patterns = &.{ |
| | 153363 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153364 | }, |
| | 153365 | .call_frame = .{ .alignment = .@"16" }, |
| | 153366 | .extra_temps = .{ |
| | 153367 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153368 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 153369 | .{ .type = .f32, .kind = .mem }, |
| | 153370 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 153371 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmaxh" } } }, |
| | 153372 | .unused, |
| | 153373 | .unused, |
| | 153374 | .unused, |
| | 153375 | .unused, |
| | 153376 | .unused, |
| | 153377 | .unused, |
| | 153378 | }, |
| | 153379 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 153380 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 153381 | .each = .{ .once = &.{ |
| | 153382 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 153383 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 153384 | .{ ._, ._, .movzx, .tmp1d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 153385 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 153386 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 153387 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 153388 | .{ ._, ._ss, .mov, .tmp3x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 153389 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 153390 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 153391 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153392 | } }, |
| | 153393 | }, .{ |
| | 153394 | .required_features = .{ .avx, null, null, null }, |
| | 153395 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153396 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 153397 | .patterns = &.{ |
| | 153398 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153399 | }, |
| | 153400 | .extra_temps = .{ |
| | 153401 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153402 | .unused, |
| | 153403 | .unused, |
| | 153404 | .unused, |
| | 153405 | .unused, |
| | 153406 | .unused, |
| | 153407 | .unused, |
| | 153408 | .unused, |
| | 153409 | .unused, |
| | 153410 | .unused, |
| | 153411 | .unused, |
| | 153412 | }, |
| | 153413 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153414 | .each = .{ .once = &.{ |
| | 153415 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 153416 | .{ ._, .v_ss, .max, .dst0x, .src0x, .tmp0x, ._ }, |
| | 153417 | } }, |
| | 153418 | }, .{ |
| | 153419 | .required_features = .{ .sse, null, null, null }, |
| | 153420 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153421 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 153422 | .patterns = &.{ |
| | 153423 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 153424 | }, |
| | 153425 | .extra_temps = .{ |
| | 153426 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153427 | .unused, |
| | 153428 | .unused, |
| | 153429 | .unused, |
| | 153430 | .unused, |
| | 153431 | .unused, |
| | 153432 | .unused, |
| | 153433 | .unused, |
| | 153434 | .unused, |
| | 153435 | .unused, |
| | 153436 | .unused, |
| | 153437 | }, |
| | 153438 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 153439 | .each = .{ .once = &.{ |
| | 153440 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 153441 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 153442 | .{ ._, ._ss, .max, .dst0x, .tmp0x, ._, ._ }, |
| | 153443 | } }, |
| | 153444 | }, .{ |
| | 153445 | .required_features = .{ .avx, null, null, null }, |
| | 153446 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153447 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 153448 | .patterns = &.{ |
| | 153449 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153450 | }, |
| | 153451 | .extra_temps = .{ |
| | 153452 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153453 | .unused, |
| | 153454 | .unused, |
| | 153455 | .unused, |
| | 153456 | .unused, |
| | 153457 | .unused, |
| | 153458 | .unused, |
| | 153459 | .unused, |
| | 153460 | .unused, |
| | 153461 | .unused, |
| | 153462 | .unused, |
| | 153463 | }, |
| | 153464 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153465 | .each = .{ .once = &.{ |
| | 153466 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 153467 | .{ ._, .v_ss, .max, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 153468 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| | 153469 | .{ ._, .v_ss, .max, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 153470 | } }, |
| | 153471 | }, .{ |
| | 153472 | .required_features = .{ .sse, null, null, null }, |
| | 153473 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153474 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 153475 | .patterns = &.{ |
| | 153476 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 153477 | }, |
| | 153478 | .extra_temps = .{ |
| | 153479 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153480 | .unused, |
| | 153481 | .unused, |
| | 153482 | .unused, |
| | 153483 | .unused, |
| | 153484 | .unused, |
| | 153485 | .unused, |
| | 153486 | .unused, |
| | 153487 | .unused, |
| | 153488 | .unused, |
| | 153489 | .unused, |
| | 153490 | }, |
| | 153491 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 153492 | .each = .{ .once = &.{ |
| | 153493 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 153494 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 153495 | .{ ._, ._ss, .max, .tmp0x, .src0x, ._, ._ }, |
| | 153496 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 153497 | .{ ._, ._ss, .max, .dst0x, .tmp0x, ._, ._ }, |
| | 153498 | } }, |
| | 153499 | }, .{ |
| | 153500 | .required_features = .{ .avx, null, null, null }, |
| | 153501 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153502 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 153503 | .patterns = &.{ |
| | 153504 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153505 | }, |
| | 153506 | .extra_temps = .{ |
| | 153507 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153508 | .unused, |
| | 153509 | .unused, |
| | 153510 | .unused, |
| | 153511 | .unused, |
| | 153512 | .unused, |
| | 153513 | .unused, |
| | 153514 | .unused, |
| | 153515 | .unused, |
| | 153516 | .unused, |
| | 153517 | .unused, |
| | 153518 | }, |
| | 153519 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153520 | .each = .{ .once = &.{ |
| | 153521 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 153522 | .{ ._, .v_ps, .max, .dst0x, .src0x, .tmp0x, ._ }, |
| | 153523 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153524 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153525 | } }, |
| | 153526 | }, .{ |
| | 153527 | .required_features = .{ .sse, null, null, null }, |
| | 153528 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153529 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 153530 | .patterns = &.{ |
| | 153531 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 153532 | }, |
| | 153533 | .extra_temps = .{ |
| | 153534 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153535 | .unused, |
| | 153536 | .unused, |
| | 153537 | .unused, |
| | 153538 | .unused, |
| | 153539 | .unused, |
| | 153540 | .unused, |
| | 153541 | .unused, |
| | 153542 | .unused, |
| | 153543 | .unused, |
| | 153544 | .unused, |
| | 153545 | }, |
| | 153546 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 153547 | .each = .{ .once = &.{ |
| | 153548 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 153549 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 153550 | .{ ._, ._ps, .max, .dst0x, .tmp0x, ._, ._ }, |
| | 153551 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 153552 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 153553 | .{ ._, ._ss, .max, .dst0x, .tmp0x, ._, ._ }, |
| | 153554 | } }, |
| | 153555 | }, .{ |
| | 153556 | .required_features = .{ .avx, null, null, null }, |
| | 153557 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153558 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 153559 | .patterns = &.{ |
| | 153560 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153561 | }, |
| | 153562 | .extra_temps = .{ |
| | 153563 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 153564 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153565 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153566 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153567 | .unused, |
| | 153568 | .unused, |
| | 153569 | .unused, |
| | 153570 | .unused, |
| | 153571 | .unused, |
| | 153572 | .unused, |
| | 153573 | .unused, |
| | 153574 | }, |
| | 153575 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153576 | .each = .{ .once = &.{ |
| | 153577 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 153578 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 153579 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 153580 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 153581 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153582 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153583 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 153584 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153585 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153586 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153587 | } }, |
| | 153588 | }, .{ |
| | 153589 | .required_features = .{ .avx, null, null, null }, |
| | 153590 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153591 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 153592 | .patterns = &.{ |
| | 153593 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153594 | }, |
| | 153595 | .extra_temps = .{ |
| | 153596 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153597 | .unused, |
| | 153598 | .unused, |
| | 153599 | .unused, |
| | 153600 | .unused, |
| | 153601 | .unused, |
| | 153602 | .unused, |
| | 153603 | .unused, |
| | 153604 | .unused, |
| | 153605 | .unused, |
| | 153606 | .unused, |
| | 153607 | }, |
| | 153608 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153609 | .each = .{ .once = &.{ |
| | 153610 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 153611 | .{ ._, .v_ps, .max, .dst0x, .src0x, .tmp0x, ._ }, |
| | 153612 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 153613 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153614 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153615 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153616 | } }, |
| | 153617 | }, .{ |
| | 153618 | .required_features = .{ .avx512f, null, null, null }, |
| | 153619 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153620 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 153621 | .patterns = &.{ |
| | 153622 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153623 | }, |
| | 153624 | .extra_temps = .{ |
| | 153625 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 153626 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153627 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153628 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153629 | .unused, |
| | 153630 | .unused, |
| | 153631 | .unused, |
| | 153632 | .unused, |
| | 153633 | .unused, |
| | 153634 | .unused, |
| | 153635 | .unused, |
| | 153636 | }, |
| | 153637 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153638 | .each = .{ .once = &.{ |
| | 153639 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 153640 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 153641 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 153642 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 153643 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 153644 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 153645 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 153646 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 153647 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 153648 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153649 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153650 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 153651 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153652 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153653 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153654 | } }, |
| | 153655 | }, .{ |
| | 153656 | .required_features = .{ .avx512f, null, null, null }, |
| | 153657 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153658 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 153659 | .patterns = &.{ |
| | 153660 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153661 | }, |
| | 153662 | .extra_temps = .{ |
| | 153663 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153664 | .unused, |
| | 153665 | .unused, |
| | 153666 | .unused, |
| | 153667 | .unused, |
| | 153668 | .unused, |
| | 153669 | .unused, |
| | 153670 | .unused, |
| | 153671 | .unused, |
| | 153672 | .unused, |
| | 153673 | .unused, |
| | 153674 | }, |
| | 153675 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153676 | .each = .{ .once = &.{ |
| | 153677 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 153678 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 153679 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 153680 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 153681 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153682 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 153683 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153684 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153685 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153686 | } }, |
| | 153687 | }, .{ |
| | 153688 | .required_features = .{ .avx, null, null, null }, |
| | 153689 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153690 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 153691 | .patterns = &.{ |
| | 153692 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153693 | }, |
| | 153694 | .extra_temps = .{ |
| | 153695 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153696 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153697 | .unused, |
| | 153698 | .unused, |
| | 153699 | .unused, |
| | 153700 | .unused, |
| | 153701 | .unused, |
| | 153702 | .unused, |
| | 153703 | .unused, |
| | 153704 | .unused, |
| | 153705 | .unused, |
| | 153706 | }, |
| | 153707 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153708 | .clobbers = .{ .eflags = true }, |
| | 153709 | .each = .{ .once = &.{ |
| | 153710 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 153711 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 153712 | .{ .@"0:", .v_ps, .max, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 153713 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 153714 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153715 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 153716 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 153717 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 153718 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 153719 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153720 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 153721 | } }, |
| | 153722 | }, .{ |
| | 153723 | .required_features = .{ .sse, null, null, null }, |
| | 153724 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153725 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 153726 | .patterns = &.{ |
| | 153727 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153728 | }, |
| | 153729 | .extra_temps = .{ |
| | 153730 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153731 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153732 | .unused, |
| | 153733 | .unused, |
| | 153734 | .unused, |
| | 153735 | .unused, |
| | 153736 | .unused, |
| | 153737 | .unused, |
| | 153738 | .unused, |
| | 153739 | .unused, |
| | 153740 | .unused, |
| | 153741 | }, |
| | 153742 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153743 | .clobbers = .{ .eflags = true }, |
| | 153744 | .each = .{ .once = &.{ |
| | 153745 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 153746 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 153747 | .{ .@"0:", ._ps, .max, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 153748 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 153749 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153750 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 153751 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 153752 | .{ ._, ._ps, .max, .dst0x, .tmp1x, ._, ._ }, |
| | 153753 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 153754 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ }, |
| | 153755 | .{ ._, ._ss, .max, .dst0x, .tmp1x, ._, ._ }, |
| | 153756 | } }, |
| | 153757 | }, .{ |
| | 153758 | .required_features = .{ .avx512f, null, null, null }, |
| | 153759 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153760 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 153761 | .patterns = &.{ |
| | 153762 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153763 | }, |
| | 153764 | .extra_temps = .{ |
| | 153765 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153766 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153767 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153768 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 153769 | .unused, |
| | 153770 | .unused, |
| | 153771 | .unused, |
| | 153772 | .unused, |
| | 153773 | .unused, |
| | 153774 | .unused, |
| | 153775 | .unused, |
| | 153776 | }, |
| | 153777 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153778 | .clobbers = .{ .eflags = true }, |
| | 153779 | .each = .{ .once = &.{ |
| | 153780 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 153781 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 153782 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 153783 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 153784 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 153785 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 153786 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 153787 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 153788 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 153789 | .{ .@"0:", .v_ps, .max, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 153790 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 153791 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 153792 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153793 | .{ ._, .v_ps, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 153794 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153795 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153796 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 153797 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153798 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153799 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153800 | } }, |
| | 153801 | }, .{ |
| | 153802 | .required_features = .{ .avx, null, null, null }, |
| | 153803 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153804 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 153805 | .patterns = &.{ |
| | 153806 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153807 | }, |
| | 153808 | .extra_temps = .{ |
| | 153809 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153810 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153811 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153812 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153813 | .unused, |
| | 153814 | .unused, |
| | 153815 | .unused, |
| | 153816 | .unused, |
| | 153817 | .unused, |
| | 153818 | .unused, |
| | 153819 | .unused, |
| | 153820 | }, |
| | 153821 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153822 | .clobbers = .{ .eflags = true }, |
| | 153823 | .each = .{ .once = &.{ |
| | 153824 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 153825 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 153826 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 153827 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 153828 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 153829 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 153830 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 153831 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153832 | .{ .@"0:", .v_ps, .max, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 153833 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 153834 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153835 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 153836 | .{ ._, .v_ps, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153837 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 153838 | .{ ._, .v_ss, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 153839 | } }, |
| | 153840 | }, .{ |
| | 153841 | .required_features = .{ .sse, null, null, null }, |
| | 153842 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 153843 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 153844 | .patterns = &.{ |
| | 153845 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153846 | }, |
| | 153847 | .extra_temps = .{ |
| | 153848 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 153849 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153850 | .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153851 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 153852 | .unused, |
| | 153853 | .unused, |
| | 153854 | .unused, |
| | 153855 | .unused, |
| | 153856 | .unused, |
| | 153857 | .unused, |
| | 153858 | .unused, |
| | 153859 | }, |
| | 153860 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 153861 | .clobbers = .{ .eflags = true }, |
| | 153862 | .each = .{ .once = &.{ |
| | 153863 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 153864 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 153865 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 153866 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 153867 | .{ ._, ._ps, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 153868 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 153869 | .{ .@"0:", ._ps, .max, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 153870 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 153871 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 153872 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 153873 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 153874 | .{ ._, ._ps, .max, .dst0x, .tmp3x, ._, ._ }, |
| | 153875 | .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ }, |
| | 153876 | .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ }, |
| | 153877 | .{ ._, ._ss, .max, .dst0x, .tmp3x, ._, ._ }, |
| | 153878 | } }, |
| | 153879 | }, .{ |
| | 153880 | .required_features = .{ .avx, null, null, null }, |
| | 153881 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 153882 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 153883 | .patterns = &.{ |
| | 153884 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153885 | }, |
| | 153886 | .extra_temps = .{ |
| | 153887 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 153888 | .unused, |
| | 153889 | .unused, |
| | 153890 | .unused, |
| | 153891 | .unused, |
| | 153892 | .unused, |
| | 153893 | .unused, |
| | 153894 | .unused, |
| | 153895 | .unused, |
| | 153896 | .unused, |
| | 153897 | .unused, |
| | 153898 | }, |
| | 153899 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153900 | .each = .{ .once = &.{ |
| | 153901 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 153902 | .{ ._, .v_sd, .max, .dst0x, .src0x, .tmp0x, ._ }, |
| | 153903 | } }, |
| | 153904 | }, .{ |
| | 153905 | .required_features = .{ .sse2, null, null, null }, |
| | 153906 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 153907 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 153908 | .patterns = &.{ |
| | 153909 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 153910 | }, |
| | 153911 | .extra_temps = .{ |
| | 153912 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 153913 | .unused, |
| | 153914 | .unused, |
| | 153915 | .unused, |
| | 153916 | .unused, |
| | 153917 | .unused, |
| | 153918 | .unused, |
| | 153919 | .unused, |
| | 153920 | .unused, |
| | 153921 | .unused, |
| | 153922 | .unused, |
| | 153923 | }, |
| | 153924 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 153925 | .each = .{ .once = &.{ |
| | 153926 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 153927 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 153928 | .{ ._, ._sd, .max, .dst0x, .tmp0x, ._, ._ }, |
| | 153929 | } }, |
| | 153930 | }, .{ |
| | 153931 | .required_features = .{ .avx, null, null, null }, |
| | 153932 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 153933 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 153934 | .patterns = &.{ |
| | 153935 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153936 | }, |
| | 153937 | .extra_temps = .{ |
| | 153938 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 153939 | .unused, |
| | 153940 | .unused, |
| | 153941 | .unused, |
| | 153942 | .unused, |
| | 153943 | .unused, |
| | 153944 | .unused, |
| | 153945 | .unused, |
| | 153946 | .unused, |
| | 153947 | .unused, |
| | 153948 | .unused, |
| | 153949 | }, |
| | 153950 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153951 | .each = .{ .once = &.{ |
| | 153952 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 153953 | .{ ._, .v_sd, .max, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 153954 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 153955 | .{ ._, .v_sd, .max, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 153956 | } }, |
| | 153957 | }, .{ |
| | 153958 | .required_features = .{ .avx, null, null, null }, |
| | 153959 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 153960 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 153961 | .patterns = &.{ |
| | 153962 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 153963 | }, |
| | 153964 | .extra_temps = .{ |
| | 153965 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 153966 | .unused, |
| | 153967 | .unused, |
| | 153968 | .unused, |
| | 153969 | .unused, |
| | 153970 | .unused, |
| | 153971 | .unused, |
| | 153972 | .unused, |
| | 153973 | .unused, |
| | 153974 | .unused, |
| | 153975 | .unused, |
| | 153976 | }, |
| | 153977 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 153978 | .each = .{ .once = &.{ |
| | 153979 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 153980 | .{ ._, .v_pd, .max, .dst0x, .src0x, .tmp0x, ._ }, |
| | 153981 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 153982 | .{ ._, .v_sd, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 153983 | } }, |
| | 153984 | }, .{ |
| | 153985 | .required_features = .{ .avx512f, null, null, null }, |
| | 153986 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 153987 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 153988 | .patterns = &.{ |
| | 153989 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 153990 | }, |
| | 153991 | .extra_temps = .{ |
| | 153992 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 153993 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 153994 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 153995 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 153996 | .unused, |
| | 153997 | .unused, |
| | 153998 | .unused, |
| | 153999 | .unused, |
| | 154000 | .unused, |
| | 154001 | .unused, |
| | 154002 | .unused, |
| | 154003 | }, |
| | 154004 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 154005 | .each = .{ .once = &.{ |
| | 154006 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 154007 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 154008 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 154009 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 154010 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 154011 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 154012 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 154013 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 154014 | .{ ._, .v_pd, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 154015 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 154016 | .{ ._, .v_pd, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 154017 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 154018 | .{ ._, .v_sd, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 154019 | } }, |
| | 154020 | }, .{ |
| | 154021 | .required_features = .{ .avx512f, null, null, null }, |
| | 154022 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 154023 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 154024 | .patterns = &.{ |
| | 154025 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154026 | }, |
| | 154027 | .extra_temps = .{ |
| | 154028 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 154029 | .unused, |
| | 154030 | .unused, |
| | 154031 | .unused, |
| | 154032 | .unused, |
| | 154033 | .unused, |
| | 154034 | .unused, |
| | 154035 | .unused, |
| | 154036 | .unused, |
| | 154037 | .unused, |
| | 154038 | .unused, |
| | 154039 | }, |
| | 154040 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 154041 | .each = .{ .once = &.{ |
| | 154042 | .{ ._, .v_pd, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 154043 | .{ ._, .v_pd, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 154044 | .{ ._, .v_pd, .max, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 154045 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 154046 | .{ ._, .v_pd, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154047 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 154048 | .{ ._, .v_sd, .max, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154049 | } }, |
| | 154050 | }, .{ |
| | 154051 | .required_features = .{ .avx, null, null, null }, |
| | 154052 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 154053 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 154054 | .patterns = &.{ |
| | 154055 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154056 | }, |
| | 154057 | .extra_temps = .{ |
| | 154058 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154059 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 154060 | .unused, |
| | 154061 | .unused, |
| | 154062 | .unused, |
| | 154063 | .unused, |
| | 154064 | .unused, |
| | 154065 | .unused, |
| | 154066 | .unused, |
| | 154067 | .unused, |
| | 154068 | .unused, |
| | 154069 | }, |
| | 154070 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 154071 | .clobbers = .{ .eflags = true }, |
| | 154072 | .each = .{ .once = &.{ |
| | 154073 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 154074 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 154075 | .{ .@"0:", .v_pd, .max, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 154076 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 154077 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154078 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 154079 | .{ ._, .v_pd, .max, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 154080 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 154081 | .{ ._, .v_sd, .max, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 154082 | } }, |
| | 154083 | }, .{ |
| | 154084 | .required_features = .{ .sse2, null, null, null }, |
| | 154085 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 154086 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 154087 | .patterns = &.{ |
| | 154088 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154089 | }, |
| | 154090 | .extra_temps = .{ |
| | 154091 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154092 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 154093 | .unused, |
| | 154094 | .unused, |
| | 154095 | .unused, |
| | 154096 | .unused, |
| | 154097 | .unused, |
| | 154098 | .unused, |
| | 154099 | .unused, |
| | 154100 | .unused, |
| | 154101 | .unused, |
| | 154102 | }, |
| | 154103 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 154104 | .clobbers = .{ .eflags = true }, |
| | 154105 | .each = .{ .once = &.{ |
| | 154106 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 154107 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 154108 | .{ .@"0:", ._pd, .max, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 154109 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 154110 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154111 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 154112 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 154113 | .{ ._, ._sd, .max, .dst0x, .tmp1x, ._, ._ }, |
| | 154114 | } }, |
| | 154115 | }, .{ |
| | 154116 | .required_features = .{ .avx512f, null, null, null }, |
| | 154117 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 154118 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 154119 | .patterns = &.{ |
| | 154120 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154121 | }, |
| | 154122 | .extra_temps = .{ |
| | 154123 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154124 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 154125 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 154126 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 154127 | .unused, |
| | 154128 | .unused, |
| | 154129 | .unused, |
| | 154130 | .unused, |
| | 154131 | .unused, |
| | 154132 | .unused, |
| | 154133 | .unused, |
| | 154134 | }, |
| | 154135 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 154136 | .clobbers = .{ .eflags = true }, |
| | 154137 | .each = .{ .once = &.{ |
| | 154138 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 154139 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 154140 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 154141 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 154142 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 154143 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 154144 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 154145 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 154146 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 154147 | .{ .@"0:", .v_pd, .max, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 154148 | .{ ._, .v_pd, .max, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 154149 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 154150 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154151 | .{ ._, .v_pd, .max, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 154152 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 154153 | .{ ._, .v_pd, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 154154 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 154155 | .{ ._, .v_sd, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 154156 | } }, |
| | 154157 | }, .{ |
| | 154158 | .required_features = .{ .avx, null, null, null }, |
| | 154159 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 154160 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 154161 | .patterns = &.{ |
| | 154162 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154163 | }, |
| | 154164 | .extra_temps = .{ |
| | 154165 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154166 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 154167 | .{ .type = .vector_4_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 154168 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 154169 | .unused, |
| | 154170 | .unused, |
| | 154171 | .unused, |
| | 154172 | .unused, |
| | 154173 | .unused, |
| | 154174 | .unused, |
| | 154175 | .unused, |
| | 154176 | }, |
| | 154177 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 154178 | .clobbers = .{ .eflags = true }, |
| | 154179 | .each = .{ .once = &.{ |
| | 154180 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 154181 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 154182 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 154183 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 154184 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 154185 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 154186 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 154187 | .{ ._, .v_pd, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 154188 | .{ .@"0:", .v_pd, .max, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 154189 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 154190 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154191 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 154192 | .{ ._, .v_sd, .max, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 154193 | } }, |
| | 154194 | }, .{ |
| | 154195 | .required_features = .{ .sse2, null, null, null }, |
| | 154196 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 154197 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 154198 | .patterns = &.{ |
| | 154199 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154200 | }, |
| | 154201 | .extra_temps = .{ |
| | 154202 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154203 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 154204 | .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = -inf } } }, |
| | 154205 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 154206 | .unused, |
| | 154207 | .unused, |
| | 154208 | .unused, |
| | 154209 | .unused, |
| | 154210 | .unused, |
| | 154211 | .unused, |
| | 154212 | .unused, |
| | 154213 | }, |
| | 154214 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 154215 | .clobbers = .{ .eflags = true }, |
| | 154216 | .each = .{ .once = &.{ |
| | 154217 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 154218 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 154219 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 154220 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 154221 | .{ ._, ._pd, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 154222 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 154223 | .{ .@"0:", ._pd, .max, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 154224 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 154225 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154226 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 154227 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 154228 | .{ ._, ._sd, .max, .dst0x, .tmp3x, ._, ._ }, |
| | 154229 | } }, |
| | 154230 | }, .{ |
| | 154231 | .required_features = .{ .x87, .cmov, null, null }, |
| | 154232 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 154233 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 154234 | .patterns = &.{ |
| | 154235 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154236 | }, |
| | 154237 | .extra_temps = .{ |
| | 154238 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154239 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 154240 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 154241 | .unused, |
| | 154242 | .unused, |
| | 154243 | .unused, |
| | 154244 | .unused, |
| | 154245 | .unused, |
| | 154246 | .unused, |
| | 154247 | .unused, |
| | 154248 | .unused, |
| | 154249 | }, |
| | 154250 | .dst_temps = .{ .mem, .unused }, |
| | 154251 | .clobbers = .{ .eflags = true }, |
| | 154252 | .each = .{ .once = &.{ |
| | 154253 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 154254 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 154255 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 154256 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 154257 | .{ ._, .f_b, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 154258 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 154259 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 154260 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154261 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 154262 | } }, |
| | 154263 | }, .{ |
| | 154264 | .required_features = .{ .sahf, .x87, null, null }, |
| | 154265 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 154266 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 154267 | .patterns = &.{ |
| | 154268 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154269 | }, |
| | 154270 | .extra_temps = .{ |
| | 154271 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154272 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 154273 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 154274 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 154275 | .unused, |
| | 154276 | .unused, |
| | 154277 | .unused, |
| | 154278 | .unused, |
| | 154279 | .unused, |
| | 154280 | .unused, |
| | 154281 | .unused, |
| | 154282 | }, |
| | 154283 | .dst_temps = .{ .mem, .unused }, |
| | 154284 | .clobbers = .{ .eflags = true }, |
| | 154285 | .each = .{ .once = &.{ |
| | 154286 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 154287 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 154288 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 154289 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 154290 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 154291 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 154292 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, |
| | 154293 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 154294 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 154295 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 154296 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154297 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 154298 | } }, |
| | 154299 | }, .{ |
| | 154300 | .required_features = .{ .x87, null, null, null }, |
| | 154301 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 154302 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 154303 | .patterns = &.{ |
| | 154304 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154305 | }, |
| | 154306 | .extra_temps = .{ |
| | 154307 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154308 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 154309 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 154310 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 154311 | .unused, |
| | 154312 | .unused, |
| | 154313 | .unused, |
| | 154314 | .unused, |
| | 154315 | .unused, |
| | 154316 | .unused, |
| | 154317 | .unused, |
| | 154318 | }, |
| | 154319 | .dst_temps = .{ .mem, .unused }, |
| | 154320 | .clobbers = .{ .eflags = true }, |
| | 154321 | .each = .{ .once = &.{ |
| | 154322 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 154323 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 154324 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 154325 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 154326 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 154327 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 154328 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, |
| | 154329 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 154330 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 154331 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 154332 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154333 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 154334 | } }, |
| | 154335 | }, .{ |
| | 154336 | .required_features = .{ .x87, .cmov, null, null }, |
| | 154337 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 154338 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 154339 | .patterns = &.{ |
| | 154340 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154341 | }, |
| | 154342 | .extra_temps = .{ |
| | 154343 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154344 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 154345 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 154346 | .unused, |
| | 154347 | .unused, |
| | 154348 | .unused, |
| | 154349 | .unused, |
| | 154350 | .unused, |
| | 154351 | .unused, |
| | 154352 | .unused, |
| | 154353 | .unused, |
| | 154354 | }, |
| | 154355 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 154356 | .clobbers = .{ .eflags = true }, |
| | 154357 | .each = .{ .once = &.{ |
| | 154358 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 154359 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 154360 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 154361 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 154362 | .{ ._, .f_b, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 154363 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 154364 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 154365 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154366 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 154367 | } }, |
| | 154368 | }, .{ |
| | 154369 | .required_features = .{ .sahf, .x87, null, null }, |
| | 154370 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 154371 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 154372 | .patterns = &.{ |
| | 154373 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154374 | }, |
| | 154375 | .extra_temps = .{ |
| | 154376 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154377 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 154378 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 154379 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 154380 | .unused, |
| | 154381 | .unused, |
| | 154382 | .unused, |
| | 154383 | .unused, |
| | 154384 | .unused, |
| | 154385 | .unused, |
| | 154386 | .unused, |
| | 154387 | }, |
| | 154388 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 154389 | .clobbers = .{ .eflags = true }, |
| | 154390 | .each = .{ .once = &.{ |
| | 154391 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 154392 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 154393 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 154394 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 154395 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 154396 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 154397 | .{ ._, ._b, .j, .@"1f", ._, ._, ._ }, |
| | 154398 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 154399 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 154400 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 154401 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154402 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 154403 | } }, |
| | 154404 | }, .{ |
| | 154405 | .required_features = .{ .x87, null, null, null }, |
| | 154406 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 154407 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 154408 | .patterns = &.{ |
| | 154409 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154410 | }, |
| | 154411 | .extra_temps = .{ |
| | 154412 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154413 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 154414 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 154415 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 154416 | .unused, |
| | 154417 | .unused, |
| | 154418 | .unused, |
| | 154419 | .unused, |
| | 154420 | .unused, |
| | 154421 | .unused, |
| | 154422 | .unused, |
| | 154423 | }, |
| | 154424 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 154425 | .clobbers = .{ .eflags = true }, |
| | 154426 | .each = .{ .once = &.{ |
| | 154427 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 154428 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 154429 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 154430 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 154431 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 154432 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 154433 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, |
| | 154434 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 154435 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 154436 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 154437 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154438 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 154439 | } }, |
| | 154440 | }, .{ |
| | 154441 | .required_features = .{ .avx, null, null, null }, |
| | 154442 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 154443 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 154444 | .patterns = &.{ |
| | 154445 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154446 | }, |
| | 154447 | .call_frame = .{ .alignment = .@"16" }, |
| | 154448 | .extra_temps = .{ |
| | 154449 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154450 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 154451 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| | 154452 | .unused, |
| | 154453 | .unused, |
| | 154454 | .unused, |
| | 154455 | .unused, |
| | 154456 | .unused, |
| | 154457 | .unused, |
| | 154458 | .unused, |
| | 154459 | .unused, |
| | 154460 | }, |
| | 154461 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 154462 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 154463 | .each = .{ .once = &.{ |
| | 154464 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 154465 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 154466 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 154467 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 154468 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 154469 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154470 | } }, |
| | 154471 | }, .{ |
| | 154472 | .required_features = .{ .sse2, null, null, null }, |
| | 154473 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 154474 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 154475 | .patterns = &.{ |
| | 154476 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154477 | }, |
| | 154478 | .call_frame = .{ .alignment = .@"16" }, |
| | 154479 | .extra_temps = .{ |
| | 154480 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154481 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 154482 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| | 154483 | .unused, |
| | 154484 | .unused, |
| | 154485 | .unused, |
| | 154486 | .unused, |
| | 154487 | .unused, |
| | 154488 | .unused, |
| | 154489 | .unused, |
| | 154490 | .unused, |
| | 154491 | }, |
| | 154492 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 154493 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 154494 | .each = .{ .once = &.{ |
| | 154495 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 154496 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 154497 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 154498 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 154499 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 154500 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154501 | } }, |
| | 154502 | }, .{ |
| | 154503 | .required_features = .{ .sse, null, null, null }, |
| | 154504 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 154505 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 154506 | .patterns = &.{ |
| | 154507 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154508 | }, |
| | 154509 | .call_frame = .{ .alignment = .@"16" }, |
| | 154510 | .extra_temps = .{ |
| | 154511 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 154512 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 154513 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmaxq" } } }, |
| | 154514 | .unused, |
| | 154515 | .unused, |
| | 154516 | .unused, |
| | 154517 | .unused, |
| | 154518 | .unused, |
| | 154519 | .unused, |
| | 154520 | .unused, |
| | 154521 | .unused, |
| | 154522 | }, |
| | 154523 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 154524 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 154525 | .each = .{ .once = &.{ |
| | 154526 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 154527 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 154528 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 154529 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 154530 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 154531 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 154532 | } }, |
| | 154533 | } }, |
| | 154534 | .Add => comptime &.{ .{ |
| | 154535 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 154536 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154537 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 154538 | .patterns = &.{ |
| | 154539 | .{ .src = .{ .mem, .none, .none } }, |
| | 154540 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154541 | }, |
| | 154542 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154543 | .each = .{ .once = &.{ |
| | 154544 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 154545 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 154546 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154547 | } }, |
| | 154548 | }, .{ |
| | 154549 | .required_features = .{ .f16c, null, null, null }, |
| | 154550 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154551 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 154552 | .patterns = &.{ |
| | 154553 | .{ .src = .{ .mem, .none, .none } }, |
| | 154554 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154555 | }, |
| | 154556 | .extra_temps = .{ |
| | 154557 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 154558 | .unused, |
| | 154559 | .unused, |
| | 154560 | .unused, |
| | 154561 | .unused, |
| | 154562 | .unused, |
| | 154563 | .unused, |
| | 154564 | .unused, |
| | 154565 | .unused, |
| | 154566 | .unused, |
| | 154567 | .unused, |
| | 154568 | }, |
| | 154569 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154570 | .each = .{ .once = &.{ |
| | 154571 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 154572 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 154573 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154574 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154575 | } }, |
| | 154576 | }, .{ |
| | 154577 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 154578 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154579 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 154580 | .patterns = &.{ |
| | 154581 | .{ .src = .{ .mem, .none, .none } }, |
| | 154582 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154583 | }, |
| | 154584 | .extra_temps = .{ |
| | 154585 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 154586 | .unused, |
| | 154587 | .unused, |
| | 154588 | .unused, |
| | 154589 | .unused, |
| | 154590 | .unused, |
| | 154591 | .unused, |
| | 154592 | .unused, |
| | 154593 | .unused, |
| | 154594 | .unused, |
| | 154595 | .unused, |
| | 154596 | }, |
| | 154597 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154598 | .each = .{ .once = &.{ |
| | 154599 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 154600 | .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 154601 | .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 154602 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 154603 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154604 | } }, |
| | 154605 | }, .{ |
| | 154606 | .required_features = .{ .f16c, null, null, null }, |
| | 154607 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154608 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 154609 | .patterns = &.{ |
| | 154610 | .{ .src = .{ .mem, .none, .none } }, |
| | 154611 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154612 | }, |
| | 154613 | .extra_temps = .{ |
| | 154614 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 154615 | .unused, |
| | 154616 | .unused, |
| | 154617 | .unused, |
| | 154618 | .unused, |
| | 154619 | .unused, |
| | 154620 | .unused, |
| | 154621 | .unused, |
| | 154622 | .unused, |
| | 154623 | .unused, |
| | 154624 | .unused, |
| | 154625 | }, |
| | 154626 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154627 | .each = .{ .once = &.{ |
| | 154628 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 154629 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 154630 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154631 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 154632 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154633 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154634 | } }, |
| | 154635 | }, .{ |
| | 154636 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 154637 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154638 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 154639 | .patterns = &.{ |
| | 154640 | .{ .src = .{ .mem, .none, .none } }, |
| | 154641 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154642 | }, |
| | 154643 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154644 | .each = .{ .once = &.{ |
| | 154645 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 154646 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 154647 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 154648 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154649 | } }, |
| | 154650 | }, .{ |
| | 154651 | .required_features = .{ .f16c, null, null, null }, |
| | 154652 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154653 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 154654 | .patterns = &.{ |
| | 154655 | .{ .src = .{ .mem, .none, .none } }, |
| | 154656 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154657 | }, |
| | 154658 | .extra_temps = .{ |
| | 154659 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 154660 | .unused, |
| | 154661 | .unused, |
| | 154662 | .unused, |
| | 154663 | .unused, |
| | 154664 | .unused, |
| | 154665 | .unused, |
| | 154666 | .unused, |
| | 154667 | .unused, |
| | 154668 | .unused, |
| | 154669 | .unused, |
| | 154670 | }, |
| | 154671 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154672 | .each = .{ .once = &.{ |
| | 154673 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 154674 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 154675 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154676 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 154677 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154678 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154679 | } }, |
| | 154680 | }, .{ |
| | 154681 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 154682 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154683 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 154684 | .patterns = &.{ |
| | 154685 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154686 | }, |
| | 154687 | .extra_temps = .{ |
| | 154688 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 154689 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 154690 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154691 | .unused, |
| | 154692 | .unused, |
| | 154693 | .unused, |
| | 154694 | .unused, |
| | 154695 | .unused, |
| | 154696 | .unused, |
| | 154697 | .unused, |
| | 154698 | .unused, |
| | 154699 | }, |
| | 154700 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154701 | .each = .{ .once = &.{ |
| | 154702 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 154703 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 154704 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 154705 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 154706 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 154707 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 154708 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154709 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154710 | } }, |
| | 154711 | }, .{ |
| | 154712 | .required_features = .{ .f16c, null, null, null }, |
| | 154713 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154714 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 154715 | .patterns = &.{ |
| | 154716 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154717 | }, |
| | 154718 | .extra_temps = .{ |
| | 154719 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 154720 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 154721 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154722 | .unused, |
| | 154723 | .unused, |
| | 154724 | .unused, |
| | 154725 | .unused, |
| | 154726 | .unused, |
| | 154727 | .unused, |
| | 154728 | .unused, |
| | 154729 | .unused, |
| | 154730 | }, |
| | 154731 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154732 | .each = .{ .once = &.{ |
| | 154733 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 154734 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 154735 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 154736 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 154737 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154738 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 154739 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154740 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 154741 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154742 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154743 | } }, |
| | 154744 | }, .{ |
| | 154745 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 154746 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154747 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 154748 | .patterns = &.{ |
| | 154749 | .{ .src = .{ .mem, .none, .none } }, |
| | 154750 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154751 | }, |
| | 154752 | .extra_temps = .{ |
| | 154753 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154754 | .unused, |
| | 154755 | .unused, |
| | 154756 | .unused, |
| | 154757 | .unused, |
| | 154758 | .unused, |
| | 154759 | .unused, |
| | 154760 | .unused, |
| | 154761 | .unused, |
| | 154762 | .unused, |
| | 154763 | .unused, |
| | 154764 | }, |
| | 154765 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154766 | .each = .{ .once = &.{ |
| | 154767 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 154768 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 154769 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 154770 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 154771 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154772 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154773 | } }, |
| | 154774 | }, .{ |
| | 154775 | .required_features = .{ .f16c, null, null, null }, |
| | 154776 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154777 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 154778 | .patterns = &.{ |
| | 154779 | .{ .src = .{ .mem, .none, .none } }, |
| | 154780 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154781 | }, |
| | 154782 | .extra_temps = .{ |
| | 154783 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154784 | .unused, |
| | 154785 | .unused, |
| | 154786 | .unused, |
| | 154787 | .unused, |
| | 154788 | .unused, |
| | 154789 | .unused, |
| | 154790 | .unused, |
| | 154791 | .unused, |
| | 154792 | .unused, |
| | 154793 | .unused, |
| | 154794 | }, |
| | 154795 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154796 | .each = .{ .once = &.{ |
| | 154797 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 154798 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 154799 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154800 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 154801 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154802 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 154803 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154804 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154805 | } }, |
| | 154806 | }, .{ |
| | 154807 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 154808 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154809 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 154810 | .patterns = &.{ |
| | 154811 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154812 | }, |
| | 154813 | .extra_temps = .{ |
| | 154814 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 154815 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 154816 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154817 | .unused, |
| | 154818 | .unused, |
| | 154819 | .unused, |
| | 154820 | .unused, |
| | 154821 | .unused, |
| | 154822 | .unused, |
| | 154823 | .unused, |
| | 154824 | .unused, |
| | 154825 | }, |
| | 154826 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154827 | .each = .{ .once = &.{ |
| | 154828 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 154829 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 154830 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 154831 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 154832 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 154833 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 154834 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 154835 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 154836 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 154837 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154838 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154839 | } }, |
| | 154840 | }, .{ |
| | 154841 | .required_features = .{ .f16c, null, null, null }, |
| | 154842 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154843 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 154844 | .patterns = &.{ |
| | 154845 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154846 | }, |
| | 154847 | .extra_temps = .{ |
| | 154848 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 154849 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 154850 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154851 | .unused, |
| | 154852 | .unused, |
| | 154853 | .unused, |
| | 154854 | .unused, |
| | 154855 | .unused, |
| | 154856 | .unused, |
| | 154857 | .unused, |
| | 154858 | .unused, |
| | 154859 | }, |
| | 154860 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154861 | .each = .{ .once = &.{ |
| | 154862 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 154863 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 154864 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 154865 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 154866 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 154867 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 154868 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 154869 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154870 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 154871 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154872 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 154873 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154874 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154875 | } }, |
| | 154876 | }, .{ |
| | 154877 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 154878 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154879 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 154880 | .patterns = &.{ |
| | 154881 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154882 | }, |
| | 154883 | .extra_temps = .{ |
| | 154884 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154885 | .unused, |
| | 154886 | .unused, |
| | 154887 | .unused, |
| | 154888 | .unused, |
| | 154889 | .unused, |
| | 154890 | .unused, |
| | 154891 | .unused, |
| | 154892 | .unused, |
| | 154893 | .unused, |
| | 154894 | .unused, |
| | 154895 | }, |
| | 154896 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154897 | .each = .{ .once = &.{ |
| | 154898 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 154899 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 154900 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 154901 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 154902 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 154903 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 154904 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 154905 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154906 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154907 | } }, |
| | 154908 | }, .{ |
| | 154909 | .required_features = .{ .f16c, null, null, null }, |
| | 154910 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154911 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 154912 | .patterns = &.{ |
| | 154913 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 154914 | }, |
| | 154915 | .extra_temps = .{ |
| | 154916 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154917 | .unused, |
| | 154918 | .unused, |
| | 154919 | .unused, |
| | 154920 | .unused, |
| | 154921 | .unused, |
| | 154922 | .unused, |
| | 154923 | .unused, |
| | 154924 | .unused, |
| | 154925 | .unused, |
| | 154926 | .unused, |
| | 154927 | }, |
| | 154928 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 154929 | .each = .{ .once = &.{ |
| | 154930 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 154931 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 154932 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 154933 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 154934 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 154935 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154936 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 154937 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154938 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 154939 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 154940 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154941 | } }, |
| | 154942 | }, .{ |
| | 154943 | .required_features = .{ .avx512f, null, null, null }, |
| | 154944 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154945 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 154946 | .patterns = &.{ |
| | 154947 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154948 | }, |
| | 154949 | .extra_temps = .{ |
| | 154950 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 154951 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 154952 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154953 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154954 | .unused, |
| | 154955 | .unused, |
| | 154956 | .unused, |
| | 154957 | .unused, |
| | 154958 | .unused, |
| | 154959 | .unused, |
| | 154960 | .unused, |
| | 154961 | }, |
| | 154962 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 154963 | .each = .{ .once = &.{ |
| | 154964 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 154965 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 154966 | .{ ._, .v_ps, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 154967 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 154968 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 154969 | .{ ._, .v_f128, .extract, .tmp3x, .tmp2y, .ui(1), ._ }, |
| | 154970 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 154971 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 154972 | .{ ._, .v_ps, .add, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| | 154973 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 154974 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 154975 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 154976 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 154977 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 154978 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 154979 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154980 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 154981 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154982 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 154983 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 154984 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 154985 | } }, |
| | 154986 | }, .{ |
| | 154987 | .required_features = .{ .avx512f, null, null, null }, |
| | 154988 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 154989 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 154990 | .patterns = &.{ |
| | 154991 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 154992 | }, |
| | 154993 | .extra_temps = .{ |
| | 154994 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154995 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 154996 | .unused, |
| | 154997 | .unused, |
| | 154998 | .unused, |
| | 154999 | .unused, |
| | 155000 | .unused, |
| | 155001 | .unused, |
| | 155002 | .unused, |
| | 155003 | .unused, |
| | 155004 | .unused, |
| | 155005 | }, |
| | 155006 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155007 | .each = .{ .once = &.{ |
| | 155008 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 155009 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 155010 | .{ ._, .v_f128, .extract, .tmp1x, .tmp0y, .ui(1), ._ }, |
| | 155011 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 155012 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 155013 | .{ ._, .v_ps, .add, .tmp0y, .tmp0y, .tmp1y, ._ }, |
| | 155014 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 155015 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 155016 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 155017 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 155018 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 155019 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 155020 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 155021 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 155022 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 155023 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155024 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 155025 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 155026 | } }, |
| | 155027 | }, .{ |
| | 155028 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 155029 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 155030 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 155031 | .patterns = &.{ |
| | 155032 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155033 | }, |
| | 155034 | .extra_temps = .{ |
| | 155035 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155036 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 155037 | .unused, |
| | 155038 | .unused, |
| | 155039 | .unused, |
| | 155040 | .unused, |
| | 155041 | .unused, |
| | 155042 | .unused, |
| | 155043 | .unused, |
| | 155044 | .unused, |
| | 155045 | .unused, |
| | 155046 | }, |
| | 155047 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155048 | .clobbers = .{ .eflags = true }, |
| | 155049 | .each = .{ .once = &.{ |
| | 155050 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 155051 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 155052 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 155053 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 155054 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 155055 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155056 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155057 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155058 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 155059 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 155060 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 155061 | } }, |
| | 155062 | }, .{ |
| | 155063 | .required_features = .{ .f16c, null, null, null }, |
| | 155064 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 155065 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 155066 | .patterns = &.{ |
| | 155067 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155068 | }, |
| | 155069 | .extra_temps = .{ |
| | 155070 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155071 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 155072 | .unused, |
| | 155073 | .unused, |
| | 155074 | .unused, |
| | 155075 | .unused, |
| | 155076 | .unused, |
| | 155077 | .unused, |
| | 155078 | .unused, |
| | 155079 | .unused, |
| | 155080 | .unused, |
| | 155081 | }, |
| | 155082 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155083 | .clobbers = .{ .eflags = true }, |
| | 155084 | .each = .{ .once = &.{ |
| | 155085 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 155086 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 155087 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 155088 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 155089 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 155090 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155091 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 155092 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 155093 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 155094 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 155095 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155096 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 155097 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 155098 | } }, |
| | 155099 | }, .{ |
| | 155100 | .required_features = .{ .avx512f, null, null, null }, |
| | 155101 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 155102 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 155103 | .patterns = &.{ |
| | 155104 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155105 | }, |
| | 155106 | .extra_temps = .{ |
| | 155107 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155108 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 155109 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 155110 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 155111 | .unused, |
| | 155112 | .unused, |
| | 155113 | .unused, |
| | 155114 | .unused, |
| | 155115 | .unused, |
| | 155116 | .unused, |
| | 155117 | .unused, |
| | 155118 | }, |
| | 155119 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155120 | .clobbers = .{ .eflags = true }, |
| | 155121 | .each = .{ .once = &.{ |
| | 155122 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 155123 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 155124 | .{ ._, .v_ps, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 155125 | .{ ._, ._, .mov, .tmp0d, .sia(-80, .src0, .add_size), ._, ._ }, |
| | 155126 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 155127 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 155128 | .{ ._, .v_f128, .extract, .tmp3x, .tmp2y, .ui(1), ._ }, |
| | 155129 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 155130 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 155131 | .{ ._, .v_ps, .add, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| | 155132 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 155133 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 155134 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 155135 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 155136 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 155137 | .{ .@"0:", .v_ps, .cvtph2, .tmp2y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 155138 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 155139 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 155140 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155141 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155142 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155143 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 155144 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155145 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155146 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155147 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 155148 | } }, |
| | 155149 | }, .{ |
| | 155150 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 155151 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 155152 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 155153 | .patterns = &.{ |
| | 155154 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155155 | }, |
| | 155156 | .extra_temps = .{ |
| | 155157 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155158 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 155159 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 155160 | .unused, |
| | 155161 | .unused, |
| | 155162 | .unused, |
| | 155163 | .unused, |
| | 155164 | .unused, |
| | 155165 | .unused, |
| | 155166 | .unused, |
| | 155167 | .unused, |
| | 155168 | }, |
| | 155169 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155170 | .clobbers = .{ .eflags = true }, |
| | 155171 | .each = .{ .once = &.{ |
| | 155172 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 155173 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 155174 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 155175 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 155176 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155177 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 155178 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 155179 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 155180 | .{ .@"0:", .v_ps, .cvtph2, .tmp2y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 155181 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 155182 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 155183 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155184 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155185 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155186 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155187 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155188 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 155189 | } }, |
| | 155190 | }, .{ |
| | 155191 | .required_features = .{ .f16c, null, null, null }, |
| | 155192 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 155193 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 155194 | .patterns = &.{ |
| | 155195 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155196 | }, |
| | 155197 | .extra_temps = .{ |
| | 155198 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155199 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 155200 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 155201 | .unused, |
| | 155202 | .unused, |
| | 155203 | .unused, |
| | 155204 | .unused, |
| | 155205 | .unused, |
| | 155206 | .unused, |
| | 155207 | .unused, |
| | 155208 | .unused, |
| | 155209 | }, |
| | 155210 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155211 | .clobbers = .{ .eflags = true }, |
| | 155212 | .each = .{ .once = &.{ |
| | 155213 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 155214 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 155215 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 155216 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 155217 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155218 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 155219 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 155220 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 155221 | .{ .@"0:", .v_ps, .cvtph2, .tmp2y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 155222 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 155223 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 155224 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155225 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155226 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155227 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 155228 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155229 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155230 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155231 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 155232 | } }, |
| | 155233 | }, .{ |
| | 155234 | .required_features = .{ .avx, null, null, null }, |
| | 155235 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 155236 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 155237 | .patterns = &.{ |
| | 155238 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155239 | }, |
| | 155240 | .call_frame = .{ .alignment = .@"16" }, |
| | 155241 | .extra_temps = .{ |
| | 155242 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155243 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 155244 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 155245 | .unused, |
| | 155246 | .unused, |
| | 155247 | .unused, |
| | 155248 | .unused, |
| | 155249 | .unused, |
| | 155250 | .unused, |
| | 155251 | .unused, |
| | 155252 | .unused, |
| | 155253 | }, |
| | 155254 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 155255 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 155256 | .each = .{ .once = &.{ |
| | 155257 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 155258 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 155259 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0) }, |
| | 155260 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 155261 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 155262 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 155263 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 155264 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155265 | } }, |
| | 155266 | }, .{ |
| | 155267 | .required_features = .{ .sse2, null, null, null }, |
| | 155268 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 155269 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 155270 | .patterns = &.{ |
| | 155271 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155272 | }, |
| | 155273 | .call_frame = .{ .alignment = .@"16" }, |
| | 155274 | .extra_temps = .{ |
| | 155275 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155276 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 155277 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 155278 | .unused, |
| | 155279 | .unused, |
| | 155280 | .unused, |
| | 155281 | .unused, |
| | 155282 | .unused, |
| | 155283 | .unused, |
| | 155284 | .unused, |
| | 155285 | .unused, |
| | 155286 | }, |
| | 155287 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 155288 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 155289 | .each = .{ .once = &.{ |
| | 155290 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 155291 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 155292 | .{ ._, .p_w, .insr, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0), ._ }, |
| | 155293 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 155294 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 155295 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 155296 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 155297 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155298 | } }, |
| | 155299 | }, .{ |
| | 155300 | .required_features = .{ .sse, null, null, null }, |
| | 155301 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 155302 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 155303 | .patterns = &.{ |
| | 155304 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155305 | }, |
| | 155306 | .call_frame = .{ .alignment = .@"16" }, |
| | 155307 | .extra_temps = .{ |
| | 155308 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155309 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 155310 | .{ .type = .f32, .kind = .mem }, |
| | 155311 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 155312 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 155313 | .unused, |
| | 155314 | .unused, |
| | 155315 | .unused, |
| | 155316 | .unused, |
| | 155317 | .unused, |
| | 155318 | .unused, |
| | 155319 | }, |
| | 155320 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 155321 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 155322 | .each = .{ .once = &.{ |
| | 155323 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 155324 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 155325 | .{ ._, ._, .movzx, .tmp1d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 155326 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 155327 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 155328 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 155329 | .{ ._, ._ss, .mov, .tmp3x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 155330 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 155331 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 155332 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155333 | } }, |
| | 155334 | }, .{ |
| | 155335 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 155336 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155337 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 155338 | .patterns = &.{ |
| | 155339 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155340 | }, |
| | 155341 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155342 | .each = .{ .once = &.{ |
| | 155343 | .{ ._, .vh_ps, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 155344 | } }, |
| | 155345 | }, .{ |
| | 155346 | .required_features = .{ .avx, null, null, null }, |
| | 155347 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155348 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 155349 | .patterns = &.{ |
| | 155350 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155351 | }, |
| | 155352 | .extra_temps = .{ |
| | 155353 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155354 | .unused, |
| | 155355 | .unused, |
| | 155356 | .unused, |
| | 155357 | .unused, |
| | 155358 | .unused, |
| | 155359 | .unused, |
| | 155360 | .unused, |
| | 155361 | .unused, |
| | 155362 | .unused, |
| | 155363 | .unused, |
| | 155364 | }, |
| | 155365 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155366 | .each = .{ .once = &.{ |
| | 155367 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 155368 | .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 155369 | } }, |
| | 155370 | }, .{ |
| | 155371 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 155372 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155373 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 155374 | .patterns = &.{ |
| | 155375 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 155376 | }, |
| | 155377 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 155378 | .each = .{ .once = &.{ |
| | 155379 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| | 155380 | } }, |
| | 155381 | }, .{ |
| | 155382 | .required_features = .{ .sse, null, null, null }, |
| | 155383 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155384 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 155385 | .patterns = &.{ |
| | 155386 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 155387 | }, |
| | 155388 | .extra_temps = .{ |
| | 155389 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155390 | .unused, |
| | 155391 | .unused, |
| | 155392 | .unused, |
| | 155393 | .unused, |
| | 155394 | .unused, |
| | 155395 | .unused, |
| | 155396 | .unused, |
| | 155397 | .unused, |
| | 155398 | .unused, |
| | 155399 | .unused, |
| | 155400 | }, |
| | 155401 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 155402 | .each = .{ .once = &.{ |
| | 155403 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 155404 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 155405 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 155406 | } }, |
| | 155407 | }, .{ |
| | 155408 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 155409 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155410 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155411 | .patterns = &.{ |
| | 155412 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155413 | }, |
| | 155414 | .extra_temps = .{ |
| | 155415 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155416 | .unused, |
| | 155417 | .unused, |
| | 155418 | .unused, |
| | 155419 | .unused, |
| | 155420 | .unused, |
| | 155421 | .unused, |
| | 155422 | .unused, |
| | 155423 | .unused, |
| | 155424 | .unused, |
| | 155425 | .unused, |
| | 155426 | }, |
| | 155427 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155428 | .each = .{ .once = &.{ |
| | 155429 | .{ ._, .vh_ps, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 155430 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 155431 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 155432 | } }, |
| | 155433 | }, .{ |
| | 155434 | .required_features = .{ .avx, null, null, null }, |
| | 155435 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155436 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155437 | .patterns = &.{ |
| | 155438 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155439 | }, |
| | 155440 | .extra_temps = .{ |
| | 155441 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155442 | .unused, |
| | 155443 | .unused, |
| | 155444 | .unused, |
| | 155445 | .unused, |
| | 155446 | .unused, |
| | 155447 | .unused, |
| | 155448 | .unused, |
| | 155449 | .unused, |
| | 155450 | .unused, |
| | 155451 | .unused, |
| | 155452 | }, |
| | 155453 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155454 | .each = .{ .once = &.{ |
| | 155455 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 155456 | .{ ._, .v_ss, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 155457 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| | 155458 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 155459 | } }, |
| | 155460 | }, .{ |
| | 155461 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 155462 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155463 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155464 | .patterns = &.{ |
| | 155465 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 155466 | }, |
| | 155467 | .extra_temps = .{ |
| | 155468 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155469 | .unused, |
| | 155470 | .unused, |
| | 155471 | .unused, |
| | 155472 | .unused, |
| | 155473 | .unused, |
| | 155474 | .unused, |
| | 155475 | .unused, |
| | 155476 | .unused, |
| | 155477 | .unused, |
| | 155478 | .unused, |
| | 155479 | }, |
| | 155480 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 155481 | .each = .{ .once = &.{ |
| | 155482 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 155483 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 155484 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| | 155485 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 155486 | } }, |
| | 155487 | }, .{ |
| | 155488 | .required_features = .{ .sse, null, null, null }, |
| | 155489 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155490 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155491 | .patterns = &.{ |
| | 155492 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 155493 | }, |
| | 155494 | .extra_temps = .{ |
| | 155495 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155496 | .unused, |
| | 155497 | .unused, |
| | 155498 | .unused, |
| | 155499 | .unused, |
| | 155500 | .unused, |
| | 155501 | .unused, |
| | 155502 | .unused, |
| | 155503 | .unused, |
| | 155504 | .unused, |
| | 155505 | .unused, |
| | 155506 | }, |
| | 155507 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 155508 | .each = .{ .once = &.{ |
| | 155509 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 155510 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 155511 | .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ }, |
| | 155512 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 155513 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 155514 | } }, |
| | 155515 | }, .{ |
| | 155516 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 155517 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155518 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155519 | .patterns = &.{ |
| | 155520 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155521 | }, |
| | 155522 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155523 | .each = .{ .once = &.{ |
| | 155524 | .{ ._, .vh_ps, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 155525 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 155526 | } }, |
| | 155527 | }, .{ |
| | 155528 | .required_features = .{ .avx, null, null, null }, |
| | 155529 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155530 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155531 | .patterns = &.{ |
| | 155532 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155533 | }, |
| | 155534 | .extra_temps = .{ |
| | 155535 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155536 | .unused, |
| | 155537 | .unused, |
| | 155538 | .unused, |
| | 155539 | .unused, |
| | 155540 | .unused, |
| | 155541 | .unused, |
| | 155542 | .unused, |
| | 155543 | .unused, |
| | 155544 | .unused, |
| | 155545 | .unused, |
| | 155546 | }, |
| | 155547 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155548 | .each = .{ .once = &.{ |
| | 155549 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 155550 | .{ ._, .v_ps, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 155551 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155552 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 155553 | } }, |
| | 155554 | }, .{ |
| | 155555 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 155556 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155557 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155558 | .patterns = &.{ |
| | 155559 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 155560 | }, |
| | 155561 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 155562 | .each = .{ .once = &.{ |
| | 155563 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| | 155564 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 155565 | } }, |
| | 155566 | }, .{ |
| | 155567 | .required_features = .{ .sse, null, null, null }, |
| | 155568 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155569 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155570 | .patterns = &.{ |
| | 155571 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 155572 | }, |
| | 155573 | .extra_temps = .{ |
| | 155574 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155575 | .unused, |
| | 155576 | .unused, |
| | 155577 | .unused, |
| | 155578 | .unused, |
| | 155579 | .unused, |
| | 155580 | .unused, |
| | 155581 | .unused, |
| | 155582 | .unused, |
| | 155583 | .unused, |
| | 155584 | .unused, |
| | 155585 | }, |
| | 155586 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 155587 | .each = .{ .once = &.{ |
| | 155588 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 155589 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 155590 | .{ ._, ._ps, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 155591 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 155592 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 155593 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 155594 | } }, |
| | 155595 | }, .{ |
| | 155596 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 155597 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155598 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 155599 | .patterns = &.{ |
| | 155600 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155601 | }, |
| | 155602 | .extra_temps = .{ |
| | 155603 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 155604 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 155605 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155606 | .unused, |
| | 155607 | .unused, |
| | 155608 | .unused, |
| | 155609 | .unused, |
| | 155610 | .unused, |
| | 155611 | .unused, |
| | 155612 | .unused, |
| | 155613 | .unused, |
| | 155614 | }, |
| | 155615 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155616 | .each = .{ .once = &.{ |
| | 155617 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 155618 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 155619 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155620 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155621 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155622 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155623 | } }, |
| | 155624 | }, .{ |
| | 155625 | .required_features = .{ .avx, null, null, null }, |
| | 155626 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155627 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 155628 | .patterns = &.{ |
| | 155629 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155630 | }, |
| | 155631 | .extra_temps = .{ |
| | 155632 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 155633 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 155634 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155635 | .unused, |
| | 155636 | .unused, |
| | 155637 | .unused, |
| | 155638 | .unused, |
| | 155639 | .unused, |
| | 155640 | .unused, |
| | 155641 | .unused, |
| | 155642 | .unused, |
| | 155643 | }, |
| | 155644 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155645 | .each = .{ .once = &.{ |
| | 155646 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 155647 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 155648 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155649 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155650 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 155651 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155652 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155653 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155654 | } }, |
| | 155655 | }, .{ |
| | 155656 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 155657 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155658 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 155659 | .patterns = &.{ |
| | 155660 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155661 | }, |
| | 155662 | .extra_temps = .{ |
| | 155663 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155664 | .unused, |
| | 155665 | .unused, |
| | 155666 | .unused, |
| | 155667 | .unused, |
| | 155668 | .unused, |
| | 155669 | .unused, |
| | 155670 | .unused, |
| | 155671 | .unused, |
| | 155672 | .unused, |
| | 155673 | .unused, |
| | 155674 | }, |
| | 155675 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155676 | .each = .{ .once = &.{ |
| | 155677 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155678 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155679 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 155680 | .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 155681 | } }, |
| | 155682 | }, .{ |
| | 155683 | .required_features = .{ .avx, null, null, null }, |
| | 155684 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155685 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 155686 | .patterns = &.{ |
| | 155687 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 155688 | }, |
| | 155689 | .extra_temps = .{ |
| | 155690 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155691 | .unused, |
| | 155692 | .unused, |
| | 155693 | .unused, |
| | 155694 | .unused, |
| | 155695 | .unused, |
| | 155696 | .unused, |
| | 155697 | .unused, |
| | 155698 | .unused, |
| | 155699 | .unused, |
| | 155700 | .unused, |
| | 155701 | }, |
| | 155702 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 155703 | .each = .{ .once = &.{ |
| | 155704 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 155705 | .{ ._, .v_ps, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 155706 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 155707 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 155708 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155709 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 155710 | } }, |
| | 155711 | }, .{ |
| | 155712 | .required_features = .{ .avx512f, null, null, null }, |
| | 155713 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155714 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 155715 | .patterns = &.{ |
| | 155716 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155717 | }, |
| | 155718 | .extra_temps = .{ |
| | 155719 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 155720 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 155721 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 155722 | .unused, |
| | 155723 | .unused, |
| | 155724 | .unused, |
| | 155725 | .unused, |
| | 155726 | .unused, |
| | 155727 | .unused, |
| | 155728 | .unused, |
| | 155729 | .unused, |
| | 155730 | }, |
| | 155731 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155732 | .each = .{ .once = &.{ |
| | 155733 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 155734 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 155735 | .{ ._, .v_ps, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 155736 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 155737 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 155738 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 155739 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155740 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155741 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 155742 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155743 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155744 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155745 | } }, |
| | 155746 | }, .{ |
| | 155747 | .required_features = .{ .avx512f, null, null, null }, |
| | 155748 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155749 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 155750 | .patterns = &.{ |
| | 155751 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155752 | }, |
| | 155753 | .extra_temps = .{ |
| | 155754 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155755 | .unused, |
| | 155756 | .unused, |
| | 155757 | .unused, |
| | 155758 | .unused, |
| | 155759 | .unused, |
| | 155760 | .unused, |
| | 155761 | .unused, |
| | 155762 | .unused, |
| | 155763 | .unused, |
| | 155764 | .unused, |
| | 155765 | }, |
| | 155766 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155767 | .each = .{ .once = &.{ |
| | 155768 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 155769 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 155770 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 155771 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 155772 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 155773 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 155774 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 155775 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155776 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 155777 | } }, |
| | 155778 | }, .{ |
| | 155779 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 155780 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155781 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 155782 | .patterns = &.{ |
| | 155783 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155784 | }, |
| | 155785 | .extra_temps = .{ |
| | 155786 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155787 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155788 | .unused, |
| | 155789 | .unused, |
| | 155790 | .unused, |
| | 155791 | .unused, |
| | 155792 | .unused, |
| | 155793 | .unused, |
| | 155794 | .unused, |
| | 155795 | .unused, |
| | 155796 | .unused, |
| | 155797 | }, |
| | 155798 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155799 | .clobbers = .{ .eflags = true }, |
| | 155800 | .each = .{ .once = &.{ |
| | 155801 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 155802 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 155803 | .{ .@"0:", .v_ps, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 155804 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 155805 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155806 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155807 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 155808 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 155809 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 155810 | } }, |
| | 155811 | }, .{ |
| | 155812 | .required_features = .{ .avx, null, null, null }, |
| | 155813 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155814 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 155815 | .patterns = &.{ |
| | 155816 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155817 | }, |
| | 155818 | .extra_temps = .{ |
| | 155819 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155820 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155821 | .unused, |
| | 155822 | .unused, |
| | 155823 | .unused, |
| | 155824 | .unused, |
| | 155825 | .unused, |
| | 155826 | .unused, |
| | 155827 | .unused, |
| | 155828 | .unused, |
| | 155829 | .unused, |
| | 155830 | }, |
| | 155831 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155832 | .clobbers = .{ .eflags = true }, |
| | 155833 | .each = .{ .once = &.{ |
| | 155834 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 155835 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 155836 | .{ .@"0:", .v_ps, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 155837 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 155838 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155839 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 155840 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 155841 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 155842 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 155843 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155844 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 155845 | } }, |
| | 155846 | }, .{ |
| | 155847 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 155848 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155849 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155850 | .patterns = &.{ |
| | 155851 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155852 | }, |
| | 155853 | .extra_temps = .{ |
| | 155854 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155855 | .unused, |
| | 155856 | .unused, |
| | 155857 | .unused, |
| | 155858 | .unused, |
| | 155859 | .unused, |
| | 155860 | .unused, |
| | 155861 | .unused, |
| | 155862 | .unused, |
| | 155863 | .unused, |
| | 155864 | .unused, |
| | 155865 | }, |
| | 155866 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155867 | .clobbers = .{ .eflags = true }, |
| | 155868 | .each = .{ .once = &.{ |
| | 155869 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 155870 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 155871 | .{ .@"0:", ._ps, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 155872 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 155873 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155874 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 155875 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 155876 | } }, |
| | 155877 | }, .{ |
| | 155878 | .required_features = .{ .sse, null, null, null }, |
| | 155879 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155880 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 155881 | .patterns = &.{ |
| | 155882 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155883 | }, |
| | 155884 | .extra_temps = .{ |
| | 155885 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155886 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155887 | .unused, |
| | 155888 | .unused, |
| | 155889 | .unused, |
| | 155890 | .unused, |
| | 155891 | .unused, |
| | 155892 | .unused, |
| | 155893 | .unused, |
| | 155894 | .unused, |
| | 155895 | .unused, |
| | 155896 | }, |
| | 155897 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155898 | .clobbers = .{ .eflags = true }, |
| | 155899 | .each = .{ .once = &.{ |
| | 155900 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 155901 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 155902 | .{ .@"0:", ._ps, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 155903 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 155904 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155905 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 155906 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 155907 | .{ ._, ._ps, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 155908 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 155909 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ }, |
| | 155910 | .{ ._, ._ss, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 155911 | } }, |
| | 155912 | }, .{ |
| | 155913 | .required_features = .{ .avx512f, null, null, null }, |
| | 155914 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155915 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 155916 | .patterns = &.{ |
| | 155917 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155918 | }, |
| | 155919 | .extra_temps = .{ |
| | 155920 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155921 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 155922 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 155923 | .unused, |
| | 155924 | .unused, |
| | 155925 | .unused, |
| | 155926 | .unused, |
| | 155927 | .unused, |
| | 155928 | .unused, |
| | 155929 | .unused, |
| | 155930 | .unused, |
| | 155931 | }, |
| | 155932 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155933 | .clobbers = .{ .eflags = true }, |
| | 155934 | .each = .{ .once = &.{ |
| | 155935 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 155936 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 155937 | .{ ._, .v_ps, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 155938 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 155939 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 155940 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 155941 | .{ .@"0:", .v_ps, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 155942 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 155943 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 155944 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155945 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 155946 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155947 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155948 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 155949 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155950 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 155951 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155952 | } }, |
| | 155953 | }, .{ |
| | 155954 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 155955 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155956 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 155957 | .patterns = &.{ |
| | 155958 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155959 | }, |
| | 155960 | .extra_temps = .{ |
| | 155961 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155962 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 155963 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155964 | .unused, |
| | 155965 | .unused, |
| | 155966 | .unused, |
| | 155967 | .unused, |
| | 155968 | .unused, |
| | 155969 | .unused, |
| | 155970 | .unused, |
| | 155971 | .unused, |
| | 155972 | }, |
| | 155973 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 155974 | .clobbers = .{ .eflags = true }, |
| | 155975 | .each = .{ .once = &.{ |
| | 155976 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 155977 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 155978 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 155979 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 155980 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 155981 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 155982 | .{ .@"0:", .v_ps, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 155983 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 155984 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 155985 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 155986 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 155987 | } }, |
| | 155988 | }, .{ |
| | 155989 | .required_features = .{ .avx, null, null, null }, |
| | 155990 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 155991 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 155992 | .patterns = &.{ |
| | 155993 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 155994 | }, |
| | 155995 | .extra_temps = .{ |
| | 155996 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 155997 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 155998 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 155999 | .unused, |
| | 156000 | .unused, |
| | 156001 | .unused, |
| | 156002 | .unused, |
| | 156003 | .unused, |
| | 156004 | .unused, |
| | 156005 | .unused, |
| | 156006 | .unused, |
| | 156007 | }, |
| | 156008 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156009 | .clobbers = .{ .eflags = true }, |
| | 156010 | .each = .{ .once = &.{ |
| | 156011 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156012 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 156013 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 156014 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 156015 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 156016 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156017 | .{ .@"0:", .v_ps, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 156018 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156019 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156020 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 156021 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156022 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 156023 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156024 | } }, |
| | 156025 | }, .{ |
| | 156026 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 156027 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 156028 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 156029 | .patterns = &.{ |
| | 156030 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156031 | }, |
| | 156032 | .extra_temps = .{ |
| | 156033 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156034 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156035 | .unused, |
| | 156036 | .unused, |
| | 156037 | .unused, |
| | 156038 | .unused, |
| | 156039 | .unused, |
| | 156040 | .unused, |
| | 156041 | .unused, |
| | 156042 | .unused, |
| | 156043 | .unused, |
| | 156044 | }, |
| | 156045 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156046 | .clobbers = .{ .eflags = true }, |
| | 156047 | .each = .{ .once = &.{ |
| | 156048 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156049 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 156050 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 156051 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 156052 | .{ .@"0:", ._ps, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 156053 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156054 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156055 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 156056 | .{ ._, .h_ps, .add, .dst0x, .dst0x, ._, ._ }, |
| | 156057 | } }, |
| | 156058 | }, .{ |
| | 156059 | .required_features = .{ .sse, null, null, null }, |
| | 156060 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 156061 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 156062 | .patterns = &.{ |
| | 156063 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156064 | }, |
| | 156065 | .extra_temps = .{ |
| | 156066 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156067 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156068 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 156069 | .unused, |
| | 156070 | .unused, |
| | 156071 | .unused, |
| | 156072 | .unused, |
| | 156073 | .unused, |
| | 156074 | .unused, |
| | 156075 | .unused, |
| | 156076 | .unused, |
| | 156077 | }, |
| | 156078 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156079 | .clobbers = .{ .eflags = true }, |
| | 156080 | .each = .{ .once = &.{ |
| | 156081 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156082 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 156083 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 156084 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 156085 | .{ .@"0:", ._ps, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 156086 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156087 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156088 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| | 156089 | .{ ._, ._ps, .movhl, .tmp2x, .dst0x, ._, ._ }, |
| | 156090 | .{ ._, ._ps, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 156091 | .{ ._, ._ps, .mova, .tmp2x, .dst0x, ._, ._ }, |
| | 156092 | .{ ._, ._ps, .shuf, .tmp2x, .tmp2x, .ui(0b01), ._ }, |
| | 156093 | .{ ._, ._ss, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 156094 | } }, |
| | 156095 | }, .{ |
| | 156096 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 156097 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156098 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 156099 | .patterns = &.{ |
| | 156100 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156101 | }, |
| | 156102 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156103 | .each = .{ .once = &.{ |
| | 156104 | .{ ._, .vh_pd, .add, .dst0x, .src0x, .src0x, ._ }, |
| | 156105 | } }, |
| | 156106 | }, .{ |
| | 156107 | .required_features = .{ .avx, null, null, null }, |
| | 156108 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156109 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 156110 | .patterns = &.{ |
| | 156111 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156112 | }, |
| | 156113 | .extra_temps = .{ |
| | 156114 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156115 | .unused, |
| | 156116 | .unused, |
| | 156117 | .unused, |
| | 156118 | .unused, |
| | 156119 | .unused, |
| | 156120 | .unused, |
| | 156121 | .unused, |
| | 156122 | .unused, |
| | 156123 | .unused, |
| | 156124 | .unused, |
| | 156125 | }, |
| | 156126 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156127 | .each = .{ .once = &.{ |
| | 156128 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 156129 | .{ ._, .v_sd, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 156130 | } }, |
| | 156131 | }, .{ |
| | 156132 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 156133 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156134 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 156135 | .patterns = &.{ |
| | 156136 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 156137 | }, |
| | 156138 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 156139 | .each = .{ .once = &.{ |
| | 156140 | .{ ._, .h_pd, .add, .dst0x, .src0x, ._, ._ }, |
| | 156141 | } }, |
| | 156142 | }, .{ |
| | 156143 | .required_features = .{ .sse2, null, null, null }, |
| | 156144 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156145 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 156146 | .patterns = &.{ |
| | 156147 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 156148 | }, |
| | 156149 | .extra_temps = .{ |
| | 156150 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156151 | .unused, |
| | 156152 | .unused, |
| | 156153 | .unused, |
| | 156154 | .unused, |
| | 156155 | .unused, |
| | 156156 | .unused, |
| | 156157 | .unused, |
| | 156158 | .unused, |
| | 156159 | .unused, |
| | 156160 | .unused, |
| | 156161 | }, |
| | 156162 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 156163 | .each = .{ .once = &.{ |
| | 156164 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 156165 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 156166 | .{ ._, ._sd, .add, .dst0x, .tmp0x, ._, ._ }, |
| | 156167 | } }, |
| | 156168 | }, .{ |
| | 156169 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 156170 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156171 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 156172 | .patterns = &.{ |
| | 156173 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156174 | }, |
| | 156175 | .extra_temps = .{ |
| | 156176 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156177 | .unused, |
| | 156178 | .unused, |
| | 156179 | .unused, |
| | 156180 | .unused, |
| | 156181 | .unused, |
| | 156182 | .unused, |
| | 156183 | .unused, |
| | 156184 | .unused, |
| | 156185 | .unused, |
| | 156186 | .unused, |
| | 156187 | }, |
| | 156188 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156189 | .each = .{ .once = &.{ |
| | 156190 | .{ ._, .vh_pd, .add, .tmp0x, .src0x, .src0x, ._ }, |
| | 156191 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| | 156192 | .{ ._, .v_sd, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 156193 | } }, |
| | 156194 | }, .{ |
| | 156195 | .required_features = .{ .avx, null, null, null }, |
| | 156196 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156197 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 156198 | .patterns = &.{ |
| | 156199 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156200 | }, |
| | 156201 | .extra_temps = .{ |
| | 156202 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156203 | .unused, |
| | 156204 | .unused, |
| | 156205 | .unused, |
| | 156206 | .unused, |
| | 156207 | .unused, |
| | 156208 | .unused, |
| | 156209 | .unused, |
| | 156210 | .unused, |
| | 156211 | .unused, |
| | 156212 | .unused, |
| | 156213 | }, |
| | 156214 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156215 | .each = .{ .once = &.{ |
| | 156216 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 156217 | .{ ._, .v_sd, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 156218 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 156219 | .{ ._, .v_sd, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 156220 | } }, |
| | 156221 | }, .{ |
| | 156222 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 156223 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156224 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 156225 | .patterns = &.{ |
| | 156226 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156227 | }, |
| | 156228 | .extra_temps = .{ |
| | 156229 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156230 | .unused, |
| | 156231 | .unused, |
| | 156232 | .unused, |
| | 156233 | .unused, |
| | 156234 | .unused, |
| | 156235 | .unused, |
| | 156236 | .unused, |
| | 156237 | .unused, |
| | 156238 | .unused, |
| | 156239 | .unused, |
| | 156240 | }, |
| | 156241 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156242 | .each = .{ .once = &.{ |
| | 156243 | .{ ._, .vh_pd, .add, .dst0y, .src0y, .src0y, ._ }, |
| | 156244 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 156245 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156246 | } }, |
| | 156247 | }, .{ |
| | 156248 | .required_features = .{ .avx, null, null, null }, |
| | 156249 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156250 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 156251 | .patterns = &.{ |
| | 156252 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156253 | }, |
| | 156254 | .extra_temps = .{ |
| | 156255 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156256 | .unused, |
| | 156257 | .unused, |
| | 156258 | .unused, |
| | 156259 | .unused, |
| | 156260 | .unused, |
| | 156261 | .unused, |
| | 156262 | .unused, |
| | 156263 | .unused, |
| | 156264 | .unused, |
| | 156265 | .unused, |
| | 156266 | }, |
| | 156267 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156268 | .each = .{ .once = &.{ |
| | 156269 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 156270 | .{ ._, .v_pd, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| | 156271 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 156272 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156273 | } }, |
| | 156274 | }, .{ |
| | 156275 | .required_features = .{ .avx512f, null, null, null }, |
| | 156276 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156277 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 156278 | .patterns = &.{ |
| | 156279 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156280 | }, |
| | 156281 | .extra_temps = .{ |
| | 156282 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 156283 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156284 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 156285 | .unused, |
| | 156286 | .unused, |
| | 156287 | .unused, |
| | 156288 | .unused, |
| | 156289 | .unused, |
| | 156290 | .unused, |
| | 156291 | .unused, |
| | 156292 | .unused, |
| | 156293 | }, |
| | 156294 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156295 | .each = .{ .once = &.{ |
| | 156296 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156297 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 156298 | .{ ._, .v_pd, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 156299 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 156300 | .{ ._, .v_pd, .@"and", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 156301 | .{ ._, .v_pd, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 156302 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 156303 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156304 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 156305 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156306 | } }, |
| | 156307 | }, .{ |
| | 156308 | .required_features = .{ .avx512f, null, null, null }, |
| | 156309 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156310 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 156311 | .patterns = &.{ |
| | 156312 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156313 | }, |
| | 156314 | .extra_temps = .{ |
| | 156315 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 156316 | .unused, |
| | 156317 | .unused, |
| | 156318 | .unused, |
| | 156319 | .unused, |
| | 156320 | .unused, |
| | 156321 | .unused, |
| | 156322 | .unused, |
| | 156323 | .unused, |
| | 156324 | .unused, |
| | 156325 | .unused, |
| | 156326 | }, |
| | 156327 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156328 | .each = .{ .once = &.{ |
| | 156329 | .{ ._, .v_pd, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 156330 | .{ ._, .v_pd, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 156331 | .{ ._, .v_pd, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 156332 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 156333 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156334 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 156335 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156336 | } }, |
| | 156337 | }, .{ |
| | 156338 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 156339 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156340 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 156341 | .patterns = &.{ |
| | 156342 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156343 | }, |
| | 156344 | .extra_temps = .{ |
| | 156345 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156346 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156347 | .unused, |
| | 156348 | .unused, |
| | 156349 | .unused, |
| | 156350 | .unused, |
| | 156351 | .unused, |
| | 156352 | .unused, |
| | 156353 | .unused, |
| | 156354 | .unused, |
| | 156355 | .unused, |
| | 156356 | }, |
| | 156357 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156358 | .clobbers = .{ .eflags = true }, |
| | 156359 | .each = .{ .once = &.{ |
| | 156360 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 156361 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 156362 | .{ .@"0:", .v_pd, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 156363 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 156364 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156365 | .{ ._, .vh_pd, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 156366 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 156367 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 156368 | } }, |
| | 156369 | }, .{ |
| | 156370 | .required_features = .{ .avx, null, null, null }, |
| | 156371 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156372 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 156373 | .patterns = &.{ |
| | 156374 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156375 | }, |
| | 156376 | .extra_temps = .{ |
| | 156377 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156378 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 156379 | .unused, |
| | 156380 | .unused, |
| | 156381 | .unused, |
| | 156382 | .unused, |
| | 156383 | .unused, |
| | 156384 | .unused, |
| | 156385 | .unused, |
| | 156386 | .unused, |
| | 156387 | .unused, |
| | 156388 | }, |
| | 156389 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156390 | .clobbers = .{ .eflags = true }, |
| | 156391 | .each = .{ .once = &.{ |
| | 156392 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 156393 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 156394 | .{ .@"0:", .v_pd, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 156395 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 156396 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156397 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 156398 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 156399 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 156400 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 156401 | } }, |
| | 156402 | }, .{ |
| | 156403 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 156404 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156405 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 156406 | .patterns = &.{ |
| | 156407 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156408 | }, |
| | 156409 | .extra_temps = .{ |
| | 156410 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156411 | .unused, |
| | 156412 | .unused, |
| | 156413 | .unused, |
| | 156414 | .unused, |
| | 156415 | .unused, |
| | 156416 | .unused, |
| | 156417 | .unused, |
| | 156418 | .unused, |
| | 156419 | .unused, |
| | 156420 | .unused, |
| | 156421 | }, |
| | 156422 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156423 | .clobbers = .{ .eflags = true }, |
| | 156424 | .each = .{ .once = &.{ |
| | 156425 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 156426 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 156427 | .{ .@"0:", ._pd, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 156428 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156429 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156430 | .{ ._, .h_pd, .add, .dst0x, .dst0x, ._, ._ }, |
| | 156431 | } }, |
| | 156432 | }, .{ |
| | 156433 | .required_features = .{ .sse2, null, null, null }, |
| | 156434 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156435 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 156436 | .patterns = &.{ |
| | 156437 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156438 | }, |
| | 156439 | .extra_temps = .{ |
| | 156440 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156441 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156442 | .unused, |
| | 156443 | .unused, |
| | 156444 | .unused, |
| | 156445 | .unused, |
| | 156446 | .unused, |
| | 156447 | .unused, |
| | 156448 | .unused, |
| | 156449 | .unused, |
| | 156450 | .unused, |
| | 156451 | }, |
| | 156452 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156453 | .clobbers = .{ .eflags = true }, |
| | 156454 | .each = .{ .once = &.{ |
| | 156455 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 156456 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 156457 | .{ .@"0:", ._pd, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 156458 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156459 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156460 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 156461 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 156462 | .{ ._, ._sd, .add, .dst0x, .tmp1x, ._, ._ }, |
| | 156463 | } }, |
| | 156464 | }, .{ |
| | 156465 | .required_features = .{ .avx512f, null, null, null }, |
| | 156466 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156467 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 156468 | .patterns = &.{ |
| | 156469 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156470 | }, |
| | 156471 | .extra_temps = .{ |
| | 156472 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156473 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156474 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 156475 | .unused, |
| | 156476 | .unused, |
| | 156477 | .unused, |
| | 156478 | .unused, |
| | 156479 | .unused, |
| | 156480 | .unused, |
| | 156481 | .unused, |
| | 156482 | .unused, |
| | 156483 | }, |
| | 156484 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156485 | .clobbers = .{ .eflags = true }, |
| | 156486 | .each = .{ .once = &.{ |
| | 156487 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156488 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 156489 | .{ ._, .v_pd, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 156490 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 156491 | .{ ._, .v_pd, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| | 156492 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 156493 | .{ .@"0:", .v_pd, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 156494 | .{ ._, .v_pd, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 156495 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 156496 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156497 | .{ ._, .v_pd, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 156498 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 156499 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156500 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 156501 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156502 | } }, |
| | 156503 | }, .{ |
| | 156504 | .required_features = .{ .avx, .fast_hops, null, null }, |
| | 156505 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156506 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 156507 | .patterns = &.{ |
| | 156508 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156509 | }, |
| | 156510 | .extra_temps = .{ |
| | 156511 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156512 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156513 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156514 | .unused, |
| | 156515 | .unused, |
| | 156516 | .unused, |
| | 156517 | .unused, |
| | 156518 | .unused, |
| | 156519 | .unused, |
| | 156520 | .unused, |
| | 156521 | .unused, |
| | 156522 | }, |
| | 156523 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156524 | .clobbers = .{ .eflags = true }, |
| | 156525 | .each = .{ .once = &.{ |
| | 156526 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156527 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 156528 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 156529 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 156530 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 156531 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156532 | .{ .@"0:", .v_pd, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 156533 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156534 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156535 | .{ ._, .vh_pd, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 156536 | } }, |
| | 156537 | }, .{ |
| | 156538 | .required_features = .{ .avx, null, null, null }, |
| | 156539 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156540 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 156541 | .patterns = &.{ |
| | 156542 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156543 | }, |
| | 156544 | .extra_temps = .{ |
| | 156545 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156546 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156547 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156548 | .unused, |
| | 156549 | .unused, |
| | 156550 | .unused, |
| | 156551 | .unused, |
| | 156552 | .unused, |
| | 156553 | .unused, |
| | 156554 | .unused, |
| | 156555 | .unused, |
| | 156556 | }, |
| | 156557 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156558 | .clobbers = .{ .eflags = true }, |
| | 156559 | .each = .{ .once = &.{ |
| | 156560 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156561 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 156562 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 156563 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 156564 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 156565 | .{ ._, .v_pd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156566 | .{ .@"0:", .v_pd, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 156567 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156568 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156569 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| | 156570 | .{ ._, .v_sd, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 156571 | } }, |
| | 156572 | }, .{ |
| | 156573 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| | 156574 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156575 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 156576 | .patterns = &.{ |
| | 156577 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156578 | }, |
| | 156579 | .extra_temps = .{ |
| | 156580 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156581 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156582 | .unused, |
| | 156583 | .unused, |
| | 156584 | .unused, |
| | 156585 | .unused, |
| | 156586 | .unused, |
| | 156587 | .unused, |
| | 156588 | .unused, |
| | 156589 | .unused, |
| | 156590 | .unused, |
| | 156591 | }, |
| | 156592 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156593 | .clobbers = .{ .eflags = true }, |
| | 156594 | .each = .{ .once = &.{ |
| | 156595 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156596 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 156597 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 156598 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 156599 | .{ .@"0:", ._pd, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 156600 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156601 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156602 | .{ ._, .h_pd, .add, .dst0x, .dst0x, ._, ._ }, |
| | 156603 | } }, |
| | 156604 | }, .{ |
| | 156605 | .required_features = .{ .sse2, null, null, null }, |
| | 156606 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156607 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 156608 | .patterns = &.{ |
| | 156609 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156610 | }, |
| | 156611 | .extra_temps = .{ |
| | 156612 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156613 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156614 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 156615 | .unused, |
| | 156616 | .unused, |
| | 156617 | .unused, |
| | 156618 | .unused, |
| | 156619 | .unused, |
| | 156620 | .unused, |
| | 156621 | .unused, |
| | 156622 | .unused, |
| | 156623 | }, |
| | 156624 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 156625 | .clobbers = .{ .eflags = true }, |
| | 156626 | .each = .{ .once = &.{ |
| | 156627 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156628 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 156629 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 156630 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 156631 | .{ .@"0:", ._pd, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 156632 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156633 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156634 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| | 156635 | .{ ._, ._ps, .movhl, .tmp2x, .dst0x, ._, ._ }, |
| | 156636 | .{ ._, ._sd, .add, .dst0x, .tmp2x, ._, ._ }, |
| | 156637 | } }, |
| | 156638 | }, .{ |
| | 156639 | .required_features = .{ .x87, null, null, null }, |
| | 156640 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 156641 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 156642 | .patterns = &.{ |
| | 156643 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156644 | }, |
| | 156645 | .extra_temps = .{ |
| | 156646 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156647 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 156648 | .unused, |
| | 156649 | .unused, |
| | 156650 | .unused, |
| | 156651 | .unused, |
| | 156652 | .unused, |
| | 156653 | .unused, |
| | 156654 | .unused, |
| | 156655 | .unused, |
| | 156656 | .unused, |
| | 156657 | }, |
| | 156658 | .dst_temps = .{ .mem, .unused }, |
| | 156659 | .clobbers = .{ .eflags = true }, |
| | 156660 | .each = .{ .once = &.{ |
| | 156661 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 156662 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 156663 | .{ .@"0:", .f_, .add, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 156664 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 156665 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156666 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 156667 | } }, |
| | 156668 | }, .{ |
| | 156669 | .required_features = .{ .x87, null, null, null }, |
| | 156670 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 156671 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 156672 | .patterns = &.{ |
| | 156673 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156674 | }, |
| | 156675 | .extra_temps = .{ |
| | 156676 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156677 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 156678 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 156679 | .unused, |
| | 156680 | .unused, |
| | 156681 | .unused, |
| | 156682 | .unused, |
| | 156683 | .unused, |
| | 156684 | .unused, |
| | 156685 | .unused, |
| | 156686 | .unused, |
| | 156687 | }, |
| | 156688 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 156689 | .clobbers = .{ .eflags = true }, |
| | 156690 | .each = .{ .once = &.{ |
| | 156691 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 156692 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 156693 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 156694 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 156695 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156696 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156697 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 156698 | } }, |
| | 156699 | }, .{ |
| | 156700 | .required_features = .{ .avx, null, null, null }, |
| | 156701 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 156702 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 156703 | .patterns = &.{ |
| | 156704 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156705 | }, |
| | 156706 | .call_frame = .{ .alignment = .@"16" }, |
| | 156707 | .extra_temps = .{ |
| | 156708 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156709 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 156710 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 156711 | .unused, |
| | 156712 | .unused, |
| | 156713 | .unused, |
| | 156714 | .unused, |
| | 156715 | .unused, |
| | 156716 | .unused, |
| | 156717 | .unused, |
| | 156718 | .unused, |
| | 156719 | }, |
| | 156720 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 156721 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 156722 | .each = .{ .once = &.{ |
| | 156723 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 156724 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 156725 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 156726 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 156727 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156728 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156729 | } }, |
| | 156730 | }, .{ |
| | 156731 | .required_features = .{ .sse2, null, null, null }, |
| | 156732 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 156733 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 156734 | .patterns = &.{ |
| | 156735 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156736 | }, |
| | 156737 | .call_frame = .{ .alignment = .@"16" }, |
| | 156738 | .extra_temps = .{ |
| | 156739 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156740 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 156741 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 156742 | .unused, |
| | 156743 | .unused, |
| | 156744 | .unused, |
| | 156745 | .unused, |
| | 156746 | .unused, |
| | 156747 | .unused, |
| | 156748 | .unused, |
| | 156749 | .unused, |
| | 156750 | }, |
| | 156751 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 156752 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 156753 | .each = .{ .once = &.{ |
| | 156754 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 156755 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 156756 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 156757 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 156758 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156759 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156760 | } }, |
| | 156761 | }, .{ |
| | 156762 | .required_features = .{ .sse, null, null, null }, |
| | 156763 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 156764 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 156765 | .patterns = &.{ |
| | 156766 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 156767 | }, |
| | 156768 | .call_frame = .{ .alignment = .@"16" }, |
| | 156769 | .extra_temps = .{ |
| | 156770 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 156771 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 156772 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 156773 | .unused, |
| | 156774 | .unused, |
| | 156775 | .unused, |
| | 156776 | .unused, |
| | 156777 | .unused, |
| | 156778 | .unused, |
| | 156779 | .unused, |
| | 156780 | .unused, |
| | 156781 | }, |
| | 156782 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 156783 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 156784 | .each = .{ .once = &.{ |
| | 156785 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 156786 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 156787 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 156788 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 156789 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 156790 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 156791 | } }, |
| | 156792 | } }, |
| | 156793 | .Mul => comptime &.{ .{ |
| | 156794 | .required_features = .{ .f16c, null, null, null }, |
| | 156795 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 156796 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 156797 | .patterns = &.{ |
| | 156798 | .{ .src = .{ .mem, .none, .none } }, |
| | 156799 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156800 | }, |
| | 156801 | .extra_temps = .{ |
| | 156802 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 156803 | .unused, |
| | 156804 | .unused, |
| | 156805 | .unused, |
| | 156806 | .unused, |
| | 156807 | .unused, |
| | 156808 | .unused, |
| | 156809 | .unused, |
| | 156810 | .unused, |
| | 156811 | .unused, |
| | 156812 | .unused, |
| | 156813 | }, |
| | 156814 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156815 | .each = .{ .once = &.{ |
| | 156816 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 156817 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 156818 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156819 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 156820 | } }, |
| | 156821 | }, .{ |
| | 156822 | .required_features = .{ .f16c, null, null, null }, |
| | 156823 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 156824 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 156825 | .patterns = &.{ |
| | 156826 | .{ .src = .{ .mem, .none, .none } }, |
| | 156827 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156828 | }, |
| | 156829 | .extra_temps = .{ |
| | 156830 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 156831 | .unused, |
| | 156832 | .unused, |
| | 156833 | .unused, |
| | 156834 | .unused, |
| | 156835 | .unused, |
| | 156836 | .unused, |
| | 156837 | .unused, |
| | 156838 | .unused, |
| | 156839 | .unused, |
| | 156840 | .unused, |
| | 156841 | }, |
| | 156842 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156843 | .each = .{ .once = &.{ |
| | 156844 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 156845 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 156846 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156847 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 156848 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156849 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 156850 | } }, |
| | 156851 | }, .{ |
| | 156852 | .required_features = .{ .f16c, null, null, null }, |
| | 156853 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 156854 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 156855 | .patterns = &.{ |
| | 156856 | .{ .src = .{ .mem, .none, .none } }, |
| | 156857 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156858 | }, |
| | 156859 | .extra_temps = .{ |
| | 156860 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 156861 | .unused, |
| | 156862 | .unused, |
| | 156863 | .unused, |
| | 156864 | .unused, |
| | 156865 | .unused, |
| | 156866 | .unused, |
| | 156867 | .unused, |
| | 156868 | .unused, |
| | 156869 | .unused, |
| | 156870 | .unused, |
| | 156871 | }, |
| | 156872 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156873 | .each = .{ .once = &.{ |
| | 156874 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 156875 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 156876 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156877 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 156878 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156879 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 156880 | } }, |
| | 156881 | }, .{ |
| | 156882 | .required_features = .{ .f16c, null, null, null }, |
| | 156883 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 156884 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 156885 | .patterns = &.{ |
| | 156886 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156887 | }, |
| | 156888 | .extra_temps = .{ |
| | 156889 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 156890 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156891 | .{ .type = .vector_8_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 156892 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 156893 | .unused, |
| | 156894 | .unused, |
| | 156895 | .unused, |
| | 156896 | .unused, |
| | 156897 | .unused, |
| | 156898 | .unused, |
| | 156899 | .unused, |
| | 156900 | }, |
| | 156901 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156902 | .each = .{ .once = &.{ |
| | 156903 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156904 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 156905 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 156906 | .{ ._, .v_ps, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 156907 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 156908 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 156909 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 156910 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 156911 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 156912 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 156913 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 156914 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 156915 | } }, |
| | 156916 | }, .{ |
| | 156917 | .required_features = .{ .f16c, null, null, null }, |
| | 156918 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 156919 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 156920 | .patterns = &.{ |
| | 156921 | .{ .src = .{ .mem, .none, .none } }, |
| | 156922 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156923 | }, |
| | 156924 | .extra_temps = .{ |
| | 156925 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 156926 | .unused, |
| | 156927 | .unused, |
| | 156928 | .unused, |
| | 156929 | .unused, |
| | 156930 | .unused, |
| | 156931 | .unused, |
| | 156932 | .unused, |
| | 156933 | .unused, |
| | 156934 | .unused, |
| | 156935 | .unused, |
| | 156936 | }, |
| | 156937 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156938 | .each = .{ .once = &.{ |
| | 156939 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 156940 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 156941 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156942 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 156943 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156944 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 156945 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 156946 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 156947 | } }, |
| | 156948 | }, .{ |
| | 156949 | .required_features = .{ .f16c, null, null, null }, |
| | 156950 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 156951 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 156952 | .patterns = &.{ |
| | 156953 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156954 | }, |
| | 156955 | .extra_temps = .{ |
| | 156956 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 156957 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 156958 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 156959 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 156960 | .unused, |
| | 156961 | .unused, |
| | 156962 | .unused, |
| | 156963 | .unused, |
| | 156964 | .unused, |
| | 156965 | .unused, |
| | 156966 | .unused, |
| | 156967 | }, |
| | 156968 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 156969 | .each = .{ .once = &.{ |
| | 156970 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 156971 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 156972 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 156973 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 156974 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 156975 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 156976 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 156977 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 156978 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 156979 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 156980 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 156981 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 156982 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 156983 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 156984 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 156985 | } }, |
| | 156986 | }, .{ |
| | 156987 | .required_features = .{ .f16c, null, null, null }, |
| | 156988 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 156989 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 156990 | .patterns = &.{ |
| | 156991 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 156992 | }, |
| | 156993 | .extra_temps = .{ |
| | 156994 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 156995 | .unused, |
| | 156996 | .unused, |
| | 156997 | .unused, |
| | 156998 | .unused, |
| | 156999 | .unused, |
| | 157000 | .unused, |
| | 157001 | .unused, |
| | 157002 | .unused, |
| | 157003 | .unused, |
| | 157004 | .unused, |
| | 157005 | }, |
| | 157006 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 157007 | .each = .{ .once = &.{ |
| | 157008 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 157009 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 157010 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 157011 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 157012 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 157013 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157014 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 157015 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157016 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157017 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157018 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 157019 | } }, |
| | 157020 | }, .{ |
| | 157021 | .required_features = .{ .avx512f, null, null, null }, |
| | 157022 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 157023 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 157024 | .patterns = &.{ |
| | 157025 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157026 | }, |
| | 157027 | .extra_temps = .{ |
| | 157028 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 157029 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 157030 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 157031 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157032 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157033 | .unused, |
| | 157034 | .unused, |
| | 157035 | .unused, |
| | 157036 | .unused, |
| | 157037 | .unused, |
| | 157038 | .unused, |
| | 157039 | }, |
| | 157040 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157041 | .each = .{ .once = &.{ |
| | 157042 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 157043 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 157044 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 157045 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 157046 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 157047 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 157048 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 157049 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 157050 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 157051 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 157052 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 157053 | .{ ._, .v_ps, .mul, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| | 157054 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 157055 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 157056 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 157057 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp4y, ._ }, |
| | 157058 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 157059 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 157060 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157061 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 157062 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157063 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157064 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157065 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 157066 | } }, |
| | 157067 | }, .{ |
| | 157068 | .required_features = .{ .avx512f, null, null, null }, |
| | 157069 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 157070 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 157071 | .patterns = &.{ |
| | 157072 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157073 | }, |
| | 157074 | .extra_temps = .{ |
| | 157075 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157076 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157077 | .unused, |
| | 157078 | .unused, |
| | 157079 | .unused, |
| | 157080 | .unused, |
| | 157081 | .unused, |
| | 157082 | .unused, |
| | 157083 | .unused, |
| | 157084 | .unused, |
| | 157085 | .unused, |
| | 157086 | }, |
| | 157087 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157088 | .each = .{ .once = &.{ |
| | 157089 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 157090 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 157091 | .{ ._, .v_f128, .extract, .tmp1x, .tmp0y, .ui(1), ._ }, |
| | 157092 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 157093 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 157094 | .{ ._, .v_ps, .mul, .tmp0y, .tmp0y, .tmp1y, ._ }, |
| | 157095 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 157096 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 157097 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 157098 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 157099 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 157100 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 157101 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157102 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 157103 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157104 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157105 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157106 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 157107 | } }, |
| | 157108 | }, .{ |
| | 157109 | .required_features = .{ .f16c, null, null, null }, |
| | 157110 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 157111 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 157112 | .patterns = &.{ |
| | 157113 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157114 | }, |
| | 157115 | .extra_temps = .{ |
| | 157116 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157117 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157118 | .unused, |
| | 157119 | .unused, |
| | 157120 | .unused, |
| | 157121 | .unused, |
| | 157122 | .unused, |
| | 157123 | .unused, |
| | 157124 | .unused, |
| | 157125 | .unused, |
| | 157126 | .unused, |
| | 157127 | }, |
| | 157128 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157129 | .clobbers = .{ .eflags = true }, |
| | 157130 | .each = .{ .once = &.{ |
| | 157131 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 157132 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 157133 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 157134 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 157135 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 157136 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157137 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 157138 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 157139 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 157140 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 157141 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157142 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 157143 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 157144 | } }, |
| | 157145 | }, .{ |
| | 157146 | .required_features = .{ .avx512f, null, null, null }, |
| | 157147 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 157148 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 157149 | .patterns = &.{ |
| | 157150 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157151 | }, |
| | 157152 | .extra_temps = .{ |
| | 157153 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157154 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 157155 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 157156 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157157 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157158 | .unused, |
| | 157159 | .unused, |
| | 157160 | .unused, |
| | 157161 | .unused, |
| | 157162 | .unused, |
| | 157163 | .unused, |
| | 157164 | }, |
| | 157165 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157166 | .clobbers = .{ .eflags = true }, |
| | 157167 | .each = .{ .once = &.{ |
| | 157168 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 157169 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 157170 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 157171 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 157172 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 157173 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 157174 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 157175 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 157176 | .{ ._, ._, .mov, .tmp0d, .sia(-80, .src0, .add_size), ._, ._ }, |
| | 157177 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 157178 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 157179 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 157180 | .{ ._, .v_ps, .mul, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| | 157181 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 157182 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 157183 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 157184 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp4y, ._ }, |
| | 157185 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 157186 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 157187 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 157188 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 157189 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157190 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 157191 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157192 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 157193 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157194 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157195 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157196 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 157197 | } }, |
| | 157198 | }, .{ |
| | 157199 | .required_features = .{ .f16c, null, null, null }, |
| | 157200 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 157201 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 157202 | .patterns = &.{ |
| | 157203 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157204 | }, |
| | 157205 | .extra_temps = .{ |
| | 157206 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157207 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 157208 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 157209 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157210 | .unused, |
| | 157211 | .unused, |
| | 157212 | .unused, |
| | 157213 | .unused, |
| | 157214 | .unused, |
| | 157215 | .unused, |
| | 157216 | .unused, |
| | 157217 | }, |
| | 157218 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157219 | .clobbers = .{ .eflags = true }, |
| | 157220 | .each = .{ .once = &.{ |
| | 157221 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 157222 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 157223 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 157224 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 157225 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 157226 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 157227 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 157228 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 157229 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 157230 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 157231 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 157232 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 157233 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 157234 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157235 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 157236 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157237 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 157238 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157239 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157240 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157241 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 157242 | } }, |
| | 157243 | }, .{ |
| | 157244 | .required_features = .{ .avx, null, null, null }, |
| | 157245 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 157246 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 157247 | .patterns = &.{ |
| | 157248 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157249 | }, |
| | 157250 | .call_frame = .{ .alignment = .@"16" }, |
| | 157251 | .extra_temps = .{ |
| | 157252 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157253 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 157254 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| | 157255 | .unused, |
| | 157256 | .unused, |
| | 157257 | .unused, |
| | 157258 | .unused, |
| | 157259 | .unused, |
| | 157260 | .unused, |
| | 157261 | .unused, |
| | 157262 | .unused, |
| | 157263 | }, |
| | 157264 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 157265 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 157266 | .each = .{ .once = &.{ |
| | 157267 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 157268 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 157269 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0) }, |
| | 157270 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 157271 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 157272 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 157273 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 157274 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157275 | } }, |
| | 157276 | }, .{ |
| | 157277 | .required_features = .{ .sse2, null, null, null }, |
| | 157278 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 157279 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 157280 | .patterns = &.{ |
| | 157281 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157282 | }, |
| | 157283 | .call_frame = .{ .alignment = .@"16" }, |
| | 157284 | .extra_temps = .{ |
| | 157285 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157286 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 157287 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| | 157288 | .unused, |
| | 157289 | .unused, |
| | 157290 | .unused, |
| | 157291 | .unused, |
| | 157292 | .unused, |
| | 157293 | .unused, |
| | 157294 | .unused, |
| | 157295 | .unused, |
| | 157296 | }, |
| | 157297 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 157298 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 157299 | .each = .{ .once = &.{ |
| | 157300 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 157301 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 157302 | .{ ._, .p_w, .insr, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0), ._ }, |
| | 157303 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 157304 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 157305 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 157306 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 157307 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157308 | } }, |
| | 157309 | }, .{ |
| | 157310 | .required_features = .{ .sse, null, null, null }, |
| | 157311 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 157312 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 157313 | .patterns = &.{ |
| | 157314 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157315 | }, |
| | 157316 | .call_frame = .{ .alignment = .@"16" }, |
| | 157317 | .extra_temps = .{ |
| | 157318 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157319 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 157320 | .{ .type = .f32, .kind = .mem }, |
| | 157321 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 157322 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__mulhf3" } } }, |
| | 157323 | .unused, |
| | 157324 | .unused, |
| | 157325 | .unused, |
| | 157326 | .unused, |
| | 157327 | .unused, |
| | 157328 | .unused, |
| | 157329 | }, |
| | 157330 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 157331 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 157332 | .each = .{ .once = &.{ |
| | 157333 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 157334 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 157335 | .{ ._, ._, .movzx, .tmp1d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 157336 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 157337 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 157338 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 157339 | .{ ._, ._ss, .mov, .tmp3x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 157340 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 157341 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 157342 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157343 | } }, |
| | 157344 | }, .{ |
| | 157345 | .required_features = .{ .avx, null, null, null }, |
| | 157346 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157347 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 157348 | .patterns = &.{ |
| | 157349 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 157350 | }, |
| | 157351 | .extra_temps = .{ |
| | 157352 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157353 | .unused, |
| | 157354 | .unused, |
| | 157355 | .unused, |
| | 157356 | .unused, |
| | 157357 | .unused, |
| | 157358 | .unused, |
| | 157359 | .unused, |
| | 157360 | .unused, |
| | 157361 | .unused, |
| | 157362 | .unused, |
| | 157363 | }, |
| | 157364 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 157365 | .each = .{ .once = &.{ |
| | 157366 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 157367 | .{ ._, .v_ss, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| | 157368 | } }, |
| | 157369 | }, .{ |
| | 157370 | .required_features = .{ .sse, null, null, null }, |
| | 157371 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157372 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 157373 | .patterns = &.{ |
| | 157374 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 157375 | }, |
| | 157376 | .extra_temps = .{ |
| | 157377 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157378 | .unused, |
| | 157379 | .unused, |
| | 157380 | .unused, |
| | 157381 | .unused, |
| | 157382 | .unused, |
| | 157383 | .unused, |
| | 157384 | .unused, |
| | 157385 | .unused, |
| | 157386 | .unused, |
| | 157387 | .unused, |
| | 157388 | }, |
| | 157389 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 157390 | .each = .{ .once = &.{ |
| | 157391 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 157392 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 157393 | .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 157394 | } }, |
| | 157395 | }, .{ |
| | 157396 | .required_features = .{ .avx, null, null, null }, |
| | 157397 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157398 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 157399 | .patterns = &.{ |
| | 157400 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 157401 | }, |
| | 157402 | .extra_temps = .{ |
| | 157403 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157404 | .unused, |
| | 157405 | .unused, |
| | 157406 | .unused, |
| | 157407 | .unused, |
| | 157408 | .unused, |
| | 157409 | .unused, |
| | 157410 | .unused, |
| | 157411 | .unused, |
| | 157412 | .unused, |
| | 157413 | .unused, |
| | 157414 | }, |
| | 157415 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 157416 | .each = .{ .once = &.{ |
| | 157417 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 157418 | .{ ._, .v_ss, .mul, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 157419 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| | 157420 | .{ ._, .v_ss, .mul, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 157421 | } }, |
| | 157422 | }, .{ |
| | 157423 | .required_features = .{ .sse, null, null, null }, |
| | 157424 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157425 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 157426 | .patterns = &.{ |
| | 157427 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 157428 | }, |
| | 157429 | .extra_temps = .{ |
| | 157430 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157431 | .unused, |
| | 157432 | .unused, |
| | 157433 | .unused, |
| | 157434 | .unused, |
| | 157435 | .unused, |
| | 157436 | .unused, |
| | 157437 | .unused, |
| | 157438 | .unused, |
| | 157439 | .unused, |
| | 157440 | .unused, |
| | 157441 | }, |
| | 157442 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 157443 | .each = .{ .once = &.{ |
| | 157444 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 157445 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 157446 | .{ ._, ._ss, .mul, .tmp0x, .src0x, ._, ._ }, |
| | 157447 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 157448 | .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 157449 | } }, |
| | 157450 | }, .{ |
| | 157451 | .required_features = .{ .avx, null, null, null }, |
| | 157452 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157453 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 157454 | .patterns = &.{ |
| | 157455 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 157456 | }, |
| | 157457 | .extra_temps = .{ |
| | 157458 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157459 | .unused, |
| | 157460 | .unused, |
| | 157461 | .unused, |
| | 157462 | .unused, |
| | 157463 | .unused, |
| | 157464 | .unused, |
| | 157465 | .unused, |
| | 157466 | .unused, |
| | 157467 | .unused, |
| | 157468 | .unused, |
| | 157469 | }, |
| | 157470 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 157471 | .each = .{ .once = &.{ |
| | 157472 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 157473 | .{ ._, .v_ps, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| | 157474 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157475 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157476 | } }, |
| | 157477 | }, .{ |
| | 157478 | .required_features = .{ .sse, null, null, null }, |
| | 157479 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157480 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 157481 | .patterns = &.{ |
| | 157482 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 157483 | }, |
| | 157484 | .extra_temps = .{ |
| | 157485 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157486 | .unused, |
| | 157487 | .unused, |
| | 157488 | .unused, |
| | 157489 | .unused, |
| | 157490 | .unused, |
| | 157491 | .unused, |
| | 157492 | .unused, |
| | 157493 | .unused, |
| | 157494 | .unused, |
| | 157495 | .unused, |
| | 157496 | }, |
| | 157497 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 157498 | .each = .{ .once = &.{ |
| | 157499 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 157500 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 157501 | .{ ._, ._ps, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 157502 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 157503 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 157504 | .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 157505 | } }, |
| | 157506 | }, .{ |
| | 157507 | .required_features = .{ .avx, null, null, null }, |
| | 157508 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157509 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 157510 | .patterns = &.{ |
| | 157511 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 157512 | }, |
| | 157513 | .extra_temps = .{ |
| | 157514 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 157515 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 157516 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 157517 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157518 | .unused, |
| | 157519 | .unused, |
| | 157520 | .unused, |
| | 157521 | .unused, |
| | 157522 | .unused, |
| | 157523 | .unused, |
| | 157524 | .unused, |
| | 157525 | }, |
| | 157526 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 157527 | .each = .{ .once = &.{ |
| | 157528 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 157529 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 157530 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 157531 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 157532 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 157533 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157534 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 157535 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157536 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157537 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157538 | } }, |
| | 157539 | }, .{ |
| | 157540 | .required_features = .{ .avx, null, null, null }, |
| | 157541 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157542 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 157543 | .patterns = &.{ |
| | 157544 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 157545 | }, |
| | 157546 | .extra_temps = .{ |
| | 157547 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157548 | .unused, |
| | 157549 | .unused, |
| | 157550 | .unused, |
| | 157551 | .unused, |
| | 157552 | .unused, |
| | 157553 | .unused, |
| | 157554 | .unused, |
| | 157555 | .unused, |
| | 157556 | .unused, |
| | 157557 | .unused, |
| | 157558 | }, |
| | 157559 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 157560 | .each = .{ .once = &.{ |
| | 157561 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 157562 | .{ ._, .v_ps, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| | 157563 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 157564 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157565 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157566 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157567 | } }, |
| | 157568 | }, .{ |
| | 157569 | .required_features = .{ .avx512f, null, null, null }, |
| | 157570 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157571 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 157572 | .patterns = &.{ |
| | 157573 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157574 | }, |
| | 157575 | .extra_temps = .{ |
| | 157576 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 157577 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 157578 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 157579 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157580 | .unused, |
| | 157581 | .unused, |
| | 157582 | .unused, |
| | 157583 | .unused, |
| | 157584 | .unused, |
| | 157585 | .unused, |
| | 157586 | .unused, |
| | 157587 | }, |
| | 157588 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157589 | .each = .{ .once = &.{ |
| | 157590 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 157591 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 157592 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 157593 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 157594 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 157595 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 157596 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 157597 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 157598 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 157599 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 157600 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157601 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 157602 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157603 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157604 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157605 | } }, |
| | 157606 | }, .{ |
| | 157607 | .required_features = .{ .avx512f, null, null, null }, |
| | 157608 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157609 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 157610 | .patterns = &.{ |
| | 157611 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157612 | }, |
| | 157613 | .extra_temps = .{ |
| | 157614 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157615 | .unused, |
| | 157616 | .unused, |
| | 157617 | .unused, |
| | 157618 | .unused, |
| | 157619 | .unused, |
| | 157620 | .unused, |
| | 157621 | .unused, |
| | 157622 | .unused, |
| | 157623 | .unused, |
| | 157624 | .unused, |
| | 157625 | }, |
| | 157626 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157627 | .each = .{ .once = &.{ |
| | 157628 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 157629 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 157630 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 157631 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 157632 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157633 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 157634 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157635 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157636 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157637 | } }, |
| | 157638 | }, .{ |
| | 157639 | .required_features = .{ .avx, null, null, null }, |
| | 157640 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157641 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 157642 | .patterns = &.{ |
| | 157643 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157644 | }, |
| | 157645 | .extra_temps = .{ |
| | 157646 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157647 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157648 | .unused, |
| | 157649 | .unused, |
| | 157650 | .unused, |
| | 157651 | .unused, |
| | 157652 | .unused, |
| | 157653 | .unused, |
| | 157654 | .unused, |
| | 157655 | .unused, |
| | 157656 | .unused, |
| | 157657 | }, |
| | 157658 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157659 | .clobbers = .{ .eflags = true }, |
| | 157660 | .each = .{ .once = &.{ |
| | 157661 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 157662 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 157663 | .{ .@"0:", .v_ps, .mul, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 157664 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 157665 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157666 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 157667 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 157668 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 157669 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 157670 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157671 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 157672 | } }, |
| | 157673 | }, .{ |
| | 157674 | .required_features = .{ .sse, null, null, null }, |
| | 157675 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157676 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 157677 | .patterns = &.{ |
| | 157678 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157679 | }, |
| | 157680 | .extra_temps = .{ |
| | 157681 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157682 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157683 | .unused, |
| | 157684 | .unused, |
| | 157685 | .unused, |
| | 157686 | .unused, |
| | 157687 | .unused, |
| | 157688 | .unused, |
| | 157689 | .unused, |
| | 157690 | .unused, |
| | 157691 | .unused, |
| | 157692 | }, |
| | 157693 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157694 | .clobbers = .{ .eflags = true }, |
| | 157695 | .each = .{ .once = &.{ |
| | 157696 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 157697 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 157698 | .{ .@"0:", ._ps, .mul, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 157699 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 157700 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157701 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 157702 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 157703 | .{ ._, ._ps, .mul, .dst0x, .tmp1x, ._, ._ }, |
| | 157704 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 157705 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ }, |
| | 157706 | .{ ._, ._ss, .mul, .dst0x, .tmp1x, ._, ._ }, |
| | 157707 | } }, |
| | 157708 | }, .{ |
| | 157709 | .required_features = .{ .avx512f, null, null, null }, |
| | 157710 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157711 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 157712 | .patterns = &.{ |
| | 157713 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157714 | }, |
| | 157715 | .extra_temps = .{ |
| | 157716 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157717 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 157718 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 157719 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157720 | .unused, |
| | 157721 | .unused, |
| | 157722 | .unused, |
| | 157723 | .unused, |
| | 157724 | .unused, |
| | 157725 | .unused, |
| | 157726 | .unused, |
| | 157727 | }, |
| | 157728 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157729 | .clobbers = .{ .eflags = true }, |
| | 157730 | .each = .{ .once = &.{ |
| | 157731 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 157732 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 157733 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 157734 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 157735 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 157736 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 157737 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 157738 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 157739 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 157740 | .{ .@"0:", .v_ps, .mul, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 157741 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 157742 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 157743 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157744 | .{ ._, .v_ps, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 157745 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 157746 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157747 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 157748 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157749 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157750 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157751 | } }, |
| | 157752 | }, .{ |
| | 157753 | .required_features = .{ .avx, null, null, null }, |
| | 157754 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157755 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 157756 | .patterns = &.{ |
| | 157757 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157758 | }, |
| | 157759 | .extra_temps = .{ |
| | 157760 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157761 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 157762 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 157763 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157764 | .unused, |
| | 157765 | .unused, |
| | 157766 | .unused, |
| | 157767 | .unused, |
| | 157768 | .unused, |
| | 157769 | .unused, |
| | 157770 | .unused, |
| | 157771 | }, |
| | 157772 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157773 | .clobbers = .{ .eflags = true }, |
| | 157774 | .each = .{ .once = &.{ |
| | 157775 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 157776 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 157777 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 157778 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 157779 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 157780 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 157781 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 157782 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157783 | .{ .@"0:", .v_ps, .mul, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 157784 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 157785 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157786 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 157787 | .{ ._, .v_ps, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157788 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 157789 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157790 | } }, |
| | 157791 | }, .{ |
| | 157792 | .required_features = .{ .sse, null, null, null }, |
| | 157793 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 157794 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 157795 | .patterns = &.{ |
| | 157796 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157797 | }, |
| | 157798 | .extra_temps = .{ |
| | 157799 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 157800 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 157801 | .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 157802 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157803 | .unused, |
| | 157804 | .unused, |
| | 157805 | .unused, |
| | 157806 | .unused, |
| | 157807 | .unused, |
| | 157808 | .unused, |
| | 157809 | .unused, |
| | 157810 | }, |
| | 157811 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157812 | .clobbers = .{ .eflags = true }, |
| | 157813 | .each = .{ .once = &.{ |
| | 157814 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 157815 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 157816 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 157817 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 157818 | .{ ._, ._ps, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 157819 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 157820 | .{ .@"0:", ._ps, .mul, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 157821 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 157822 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 157823 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 157824 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 157825 | .{ ._, ._ps, .mul, .dst0x, .tmp3x, ._, ._ }, |
| | 157826 | .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ }, |
| | 157827 | .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ }, |
| | 157828 | .{ ._, ._ss, .mul, .dst0x, .tmp3x, ._, ._ }, |
| | 157829 | } }, |
| | 157830 | }, .{ |
| | 157831 | .required_features = .{ .avx, null, null, null }, |
| | 157832 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 157833 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 157834 | .patterns = &.{ |
| | 157835 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 157836 | }, |
| | 157837 | .extra_temps = .{ |
| | 157838 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 157839 | .unused, |
| | 157840 | .unused, |
| | 157841 | .unused, |
| | 157842 | .unused, |
| | 157843 | .unused, |
| | 157844 | .unused, |
| | 157845 | .unused, |
| | 157846 | .unused, |
| | 157847 | .unused, |
| | 157848 | .unused, |
| | 157849 | }, |
| | 157850 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 157851 | .each = .{ .once = &.{ |
| | 157852 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 157853 | .{ ._, .v_sd, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| | 157854 | } }, |
| | 157855 | }, .{ |
| | 157856 | .required_features = .{ .sse2, null, null, null }, |
| | 157857 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 157858 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 157859 | .patterns = &.{ |
| | 157860 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 157861 | }, |
| | 157862 | .extra_temps = .{ |
| | 157863 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 157864 | .unused, |
| | 157865 | .unused, |
| | 157866 | .unused, |
| | 157867 | .unused, |
| | 157868 | .unused, |
| | 157869 | .unused, |
| | 157870 | .unused, |
| | 157871 | .unused, |
| | 157872 | .unused, |
| | 157873 | .unused, |
| | 157874 | }, |
| | 157875 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 157876 | .each = .{ .once = &.{ |
| | 157877 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 157878 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 157879 | .{ ._, ._sd, .mul, .dst0x, .tmp0x, ._, ._ }, |
| | 157880 | } }, |
| | 157881 | }, .{ |
| | 157882 | .required_features = .{ .avx, null, null, null }, |
| | 157883 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 157884 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 157885 | .patterns = &.{ |
| | 157886 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 157887 | }, |
| | 157888 | .extra_temps = .{ |
| | 157889 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 157890 | .unused, |
| | 157891 | .unused, |
| | 157892 | .unused, |
| | 157893 | .unused, |
| | 157894 | .unused, |
| | 157895 | .unused, |
| | 157896 | .unused, |
| | 157897 | .unused, |
| | 157898 | .unused, |
| | 157899 | .unused, |
| | 157900 | }, |
| | 157901 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 157902 | .each = .{ .once = &.{ |
| | 157903 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 157904 | .{ ._, .v_sd, .mul, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 157905 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 157906 | .{ ._, .v_sd, .mul, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 157907 | } }, |
| | 157908 | }, .{ |
| | 157909 | .required_features = .{ .avx, null, null, null }, |
| | 157910 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 157911 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 157912 | .patterns = &.{ |
| | 157913 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 157914 | }, |
| | 157915 | .extra_temps = .{ |
| | 157916 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 157917 | .unused, |
| | 157918 | .unused, |
| | 157919 | .unused, |
| | 157920 | .unused, |
| | 157921 | .unused, |
| | 157922 | .unused, |
| | 157923 | .unused, |
| | 157924 | .unused, |
| | 157925 | .unused, |
| | 157926 | .unused, |
| | 157927 | }, |
| | 157928 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 157929 | .each = .{ .once = &.{ |
| | 157930 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 157931 | .{ ._, .v_pd, .mul, .dst0x, .src0x, .tmp0x, ._ }, |
| | 157932 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 157933 | .{ ._, .v_sd, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157934 | } }, |
| | 157935 | }, .{ |
| | 157936 | .required_features = .{ .avx512f, null, null, null }, |
| | 157937 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 157938 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 157939 | .patterns = &.{ |
| | 157940 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157941 | }, |
| | 157942 | .extra_temps = .{ |
| | 157943 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 157944 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 157945 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 157946 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 157947 | .unused, |
| | 157948 | .unused, |
| | 157949 | .unused, |
| | 157950 | .unused, |
| | 157951 | .unused, |
| | 157952 | .unused, |
| | 157953 | .unused, |
| | 157954 | }, |
| | 157955 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157956 | .each = .{ .once = &.{ |
| | 157957 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 157958 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 157959 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 157960 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 157961 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 157962 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 157963 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 157964 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 157965 | .{ ._, .v_pd, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 157966 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 157967 | .{ ._, .v_pd, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157968 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 157969 | .{ ._, .v_sd, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 157970 | } }, |
| | 157971 | }, .{ |
| | 157972 | .required_features = .{ .avx512f, null, null, null }, |
| | 157973 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 157974 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 157975 | .patterns = &.{ |
| | 157976 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 157977 | }, |
| | 157978 | .extra_temps = .{ |
| | 157979 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 157980 | .unused, |
| | 157981 | .unused, |
| | 157982 | .unused, |
| | 157983 | .unused, |
| | 157984 | .unused, |
| | 157985 | .unused, |
| | 157986 | .unused, |
| | 157987 | .unused, |
| | 157988 | .unused, |
| | 157989 | .unused, |
| | 157990 | }, |
| | 157991 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 157992 | .each = .{ .once = &.{ |
| | 157993 | .{ ._, .v_pd, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 157994 | .{ ._, .v_pd, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 157995 | .{ ._, .v_pd, .mul, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 157996 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 157997 | .{ ._, .v_pd, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 157998 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 157999 | .{ ._, .v_sd, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 158000 | } }, |
| | 158001 | }, .{ |
| | 158002 | .required_features = .{ .avx, null, null, null }, |
| | 158003 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 158004 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 158005 | .patterns = &.{ |
| | 158006 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158007 | }, |
| | 158008 | .extra_temps = .{ |
| | 158009 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158010 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 158011 | .unused, |
| | 158012 | .unused, |
| | 158013 | .unused, |
| | 158014 | .unused, |
| | 158015 | .unused, |
| | 158016 | .unused, |
| | 158017 | .unused, |
| | 158018 | .unused, |
| | 158019 | .unused, |
| | 158020 | }, |
| | 158021 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 158022 | .clobbers = .{ .eflags = true }, |
| | 158023 | .each = .{ .once = &.{ |
| | 158024 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 158025 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 158026 | .{ .@"0:", .v_pd, .mul, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 158027 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 158028 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158029 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 158030 | .{ ._, .v_pd, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 158031 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 158032 | .{ ._, .v_sd, .mul, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 158033 | } }, |
| | 158034 | }, .{ |
| | 158035 | .required_features = .{ .sse2, null, null, null }, |
| | 158036 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 158037 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 158038 | .patterns = &.{ |
| | 158039 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158040 | }, |
| | 158041 | .extra_temps = .{ |
| | 158042 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158043 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 158044 | .unused, |
| | 158045 | .unused, |
| | 158046 | .unused, |
| | 158047 | .unused, |
| | 158048 | .unused, |
| | 158049 | .unused, |
| | 158050 | .unused, |
| | 158051 | .unused, |
| | 158052 | .unused, |
| | 158053 | }, |
| | 158054 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 158055 | .clobbers = .{ .eflags = true }, |
| | 158056 | .each = .{ .once = &.{ |
| | 158057 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 158058 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 158059 | .{ .@"0:", ._pd, .mul, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 158060 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 158061 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158062 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 158063 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 158064 | .{ ._, ._sd, .mul, .dst0x, .tmp1x, ._, ._ }, |
| | 158065 | } }, |
| | 158066 | }, .{ |
| | 158067 | .required_features = .{ .avx512f, null, null, null }, |
| | 158068 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 158069 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 158070 | .patterns = &.{ |
| | 158071 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158072 | }, |
| | 158073 | .extra_temps = .{ |
| | 158074 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158075 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 158076 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 158077 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 158078 | .unused, |
| | 158079 | .unused, |
| | 158080 | .unused, |
| | 158081 | .unused, |
| | 158082 | .unused, |
| | 158083 | .unused, |
| | 158084 | .unused, |
| | 158085 | }, |
| | 158086 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 158087 | .clobbers = .{ .eflags = true }, |
| | 158088 | .each = .{ .once = &.{ |
| | 158089 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 158090 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 158091 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 158092 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 158093 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 158094 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 158095 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 158096 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 158097 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 158098 | .{ .@"0:", .v_pd, .mul, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 158099 | .{ ._, .v_pd, .mul, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 158100 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 158101 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158102 | .{ ._, .v_pd, .mul, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 158103 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 158104 | .{ ._, .v_pd, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 158105 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 158106 | .{ ._, .v_sd, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 158107 | } }, |
| | 158108 | }, .{ |
| | 158109 | .required_features = .{ .avx, null, null, null }, |
| | 158110 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 158111 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 158112 | .patterns = &.{ |
| | 158113 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158114 | }, |
| | 158115 | .extra_temps = .{ |
| | 158116 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158117 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 158118 | .{ .type = .vector_4_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 158119 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 158120 | .unused, |
| | 158121 | .unused, |
| | 158122 | .unused, |
| | 158123 | .unused, |
| | 158124 | .unused, |
| | 158125 | .unused, |
| | 158126 | .unused, |
| | 158127 | }, |
| | 158128 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 158129 | .clobbers = .{ .eflags = true }, |
| | 158130 | .each = .{ .once = &.{ |
| | 158131 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 158132 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 158133 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 158134 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 158135 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 158136 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 158137 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 158138 | .{ ._, .v_pd, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 158139 | .{ .@"0:", .v_pd, .mul, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 158140 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 158141 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158142 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 158143 | .{ ._, .v_sd, .mul, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 158144 | } }, |
| | 158145 | }, .{ |
| | 158146 | .required_features = .{ .sse2, null, null, null }, |
| | 158147 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 158148 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 158149 | .patterns = &.{ |
| | 158150 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158151 | }, |
| | 158152 | .extra_temps = .{ |
| | 158153 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158154 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 158155 | .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = 1.0 } } }, |
| | 158156 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 158157 | .unused, |
| | 158158 | .unused, |
| | 158159 | .unused, |
| | 158160 | .unused, |
| | 158161 | .unused, |
| | 158162 | .unused, |
| | 158163 | .unused, |
| | 158164 | }, |
| | 158165 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 158166 | .clobbers = .{ .eflags = true }, |
| | 158167 | .each = .{ .once = &.{ |
| | 158168 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 158169 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 158170 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 158171 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 158172 | .{ ._, ._pd, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 158173 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 158174 | .{ .@"0:", ._pd, .mul, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 158175 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 158176 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158177 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 158178 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 158179 | .{ ._, ._sd, .mul, .dst0x, .tmp3x, ._, ._ }, |
| | 158180 | } }, |
| | 158181 | }, .{ |
| | 158182 | .required_features = .{ .x87, null, null, null }, |
| | 158183 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 158184 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 158185 | .patterns = &.{ |
| | 158186 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158187 | }, |
| | 158188 | .extra_temps = .{ |
| | 158189 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158190 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 158191 | .unused, |
| | 158192 | .unused, |
| | 158193 | .unused, |
| | 158194 | .unused, |
| | 158195 | .unused, |
| | 158196 | .unused, |
| | 158197 | .unused, |
| | 158198 | .unused, |
| | 158199 | .unused, |
| | 158200 | }, |
| | 158201 | .dst_temps = .{ .mem, .unused }, |
| | 158202 | .clobbers = .{ .eflags = true }, |
| | 158203 | .each = .{ .once = &.{ |
| | 158204 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 158205 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 158206 | .{ .@"0:", .f_, .mul, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 158207 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 158208 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158209 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 158210 | } }, |
| | 158211 | }, .{ |
| | 158212 | .required_features = .{ .x87, null, null, null }, |
| | 158213 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 158214 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 158215 | .patterns = &.{ |
| | 158216 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158217 | }, |
| | 158218 | .extra_temps = .{ |
| | 158219 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158220 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 158221 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 158222 | .unused, |
| | 158223 | .unused, |
| | 158224 | .unused, |
| | 158225 | .unused, |
| | 158226 | .unused, |
| | 158227 | .unused, |
| | 158228 | .unused, |
| | 158229 | .unused, |
| | 158230 | }, |
| | 158231 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 158232 | .clobbers = .{ .eflags = true }, |
| | 158233 | .each = .{ .once = &.{ |
| | 158234 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 158235 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 158236 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 158237 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, |
| | 158238 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 158239 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158240 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 158241 | } }, |
| | 158242 | }, .{ |
| | 158243 | .required_features = .{ .avx, null, null, null }, |
| | 158244 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 158245 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 158246 | .patterns = &.{ |
| | 158247 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158248 | }, |
| | 158249 | .call_frame = .{ .alignment = .@"16" }, |
| | 158250 | .extra_temps = .{ |
| | 158251 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158252 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 158253 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, |
| | 158254 | .unused, |
| | 158255 | .unused, |
| | 158256 | .unused, |
| | 158257 | .unused, |
| | 158258 | .unused, |
| | 158259 | .unused, |
| | 158260 | .unused, |
| | 158261 | .unused, |
| | 158262 | }, |
| | 158263 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 158264 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 158265 | .each = .{ .once = &.{ |
| | 158266 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 158267 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 158268 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 158269 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 158270 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 158271 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158272 | } }, |
| | 158273 | }, .{ |
| | 158274 | .required_features = .{ .sse2, null, null, null }, |
| | 158275 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 158276 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 158277 | .patterns = &.{ |
| | 158278 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158279 | }, |
| | 158280 | .call_frame = .{ .alignment = .@"16" }, |
| | 158281 | .extra_temps = .{ |
| | 158282 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158283 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 158284 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, |
| | 158285 | .unused, |
| | 158286 | .unused, |
| | 158287 | .unused, |
| | 158288 | .unused, |
| | 158289 | .unused, |
| | 158290 | .unused, |
| | 158291 | .unused, |
| | 158292 | .unused, |
| | 158293 | }, |
| | 158294 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 158295 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 158296 | .each = .{ .once = &.{ |
| | 158297 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 158298 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 158299 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 158300 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 158301 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 158302 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158303 | } }, |
| | 158304 | }, .{ |
| | 158305 | .required_features = .{ .sse, null, null, null }, |
| | 158306 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 158307 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 158308 | .patterns = &.{ |
| | 158309 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 158310 | }, |
| | 158311 | .call_frame = .{ .alignment = .@"16" }, |
| | 158312 | .extra_temps = .{ |
| | 158313 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 158314 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 158315 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__multf3" } } }, |
| | 158316 | .unused, |
| | 158317 | .unused, |
| | 158318 | .unused, |
| | 158319 | .unused, |
| | 158320 | .unused, |
| | 158321 | .unused, |
| | 158322 | .unused, |
| | 158323 | .unused, |
| | 158324 | }, |
| | 158325 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 158326 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 158327 | .each = .{ .once = &.{ |
| | 158328 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 158329 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 158330 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 158331 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 158332 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 158333 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 158334 | } }, |
| | 158335 | } }, |
| | 158336 | }) catch |err| switch (err) { |
| | 158337 | error.SelectFailed => return cg.fail("failed to select {s}.{s} {} {}", .{ |
| | 158338 | @tagName(air_tag), |
| | 158339 | @tagName(reduce.operation), |
| | 158340 | cg.typeOf(reduce.operand).fmt(pt), |
| | 158341 | ops[0].tracking(cg), |
| | 158342 | }), |
| | 158343 | else => |e| return e, |
| | 158344 | }; |
| | 158345 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); |
| | 158346 | }, |
| 116833 | .splat => |air_tag| if (use_old) try cg.airSplat(inst) else fallback: { | 158347 | .splat => |air_tag| if (use_old) try cg.airSplat(inst) else fallback: { |
| 116834 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 158348 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 116835 | if (cg.typeOf(ty_op.operand).toIntern() == .bool_type) break :fallback try cg.airSplat(inst); | 158349 | if (cg.typeOf(ty_op.operand).toIntern() == .bool_type) break :fallback try cg.airSplat(inst); |
| ... | @@ -119166,15 +160680,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119166,15 +160680,15 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119166 | }, | 160680 | }, |
| 119167 | .union_init => if (use_old) try cg.airUnionInit(inst) else { | 160681 | .union_init => if (use_old) try cg.airUnionInit(inst) else { |
| 119168 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 160682 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 119169 | const extra = cg.air.extraData(Air.UnionInit, ty_pl.payload).data; | 160683 | const union_init = cg.air.extraData(Air.UnionInit, ty_pl.payload).data; |
| 119170 | const union_ty = ty_pl.ty.toType(); | 160684 | const union_ty = ty_pl.ty.toType(); |
| 119171 | var ops = try cg.tempsFromOperands(inst, .{extra.init}); | 160685 | var ops = try cg.tempsFromOperands(inst, .{union_init.init}); |
| 119172 | var res = try cg.tempAllocMem(union_ty); | 160686 | var res = try cg.tempAllocMem(union_ty); |
| 119173 | const union_layout = union_ty.unionGetLayout(zcu); | 160687 | const union_layout = union_ty.unionGetLayout(zcu); |
| 119174 | if (union_layout.tag_size > 0) { | 160688 | if (union_layout.tag_size > 0) { |
| 119175 | var tag_temp = try cg.tempFromValue(try pt.enumValueFieldIndex( | 160689 | var tag_temp = try cg.tempFromValue(try pt.enumValueFieldIndex( |
| 119176 | union_ty.unionTagTypeSafety(zcu).?, | 160690 | union_ty.unionTagTypeSafety(zcu).?, |
| 119177 | extra.field_index, | 160691 | union_init.field_index, |
| 119178 | )); | 160692 | )); |
| 119179 | try res.write(&tag_temp, .{ | 160693 | try res.write(&tag_temp, .{ |
| 119180 | .disp = @intCast(union_layout.tagOffset()), | 160694 | .disp = @intCast(union_layout.tagOffset()), |
| ... | @@ -119184,7 +160698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -119184,7 +160698,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119184 | try res.write(&ops[0], .{ | 160698 | try res.write(&ops[0], .{ |
| 119185 | .disp = @intCast(union_layout.payloadOffset()), | 160699 | .disp = @intCast(union_layout.payloadOffset()), |
| 119186 | }, cg); | 160700 | }, cg); |
| 119187 | try res.finish(inst, &.{extra.init}, &ops, cg); | 160701 | try res.finish(inst, &.{union_init.init}, &ops, cg); |
| 119188 | }, | 160702 | }, |
| 119189 | .prefetch => { | 160703 | .prefetch => { |
| 119190 | const prefetch = air_datas[@intFromEnum(inst)].prefetch; | 160704 | const prefetch = air_datas[@intFromEnum(inst)].prefetch; |
| ... | @@ -120381,14 +161895,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120381,14 +161895,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120381 | }, | 161895 | }, |
| 120382 | .field_parent_ptr => if (use_old) try cg.airFieldParentPtr(inst) else { | 161896 | .field_parent_ptr => if (use_old) try cg.airFieldParentPtr(inst) else { |
| 120383 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 161897 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 120384 | const extra = cg.air.extraData(Air.FieldParentPtr, ty_pl.payload).data; | 161898 | const field_parent_ptr = cg.air.extraData(Air.FieldParentPtr, ty_pl.payload).data; |
| 120385 | var ops = try cg.tempsFromOperands(inst, .{extra.field_ptr}); | 161899 | var ops = try cg.tempsFromOperands(inst, .{field_parent_ptr.field_ptr}); |
| 120386 | try ops[0].toOffset(-cg.fieldOffset( | 161900 | try ops[0].toOffset(-cg.fieldOffset( |
| 120387 | ty_pl.ty.toType(), | 161901 | ty_pl.ty.toType(), |
| 120388 | cg.typeOf(extra.field_ptr), | 161902 | cg.typeOf(field_parent_ptr.field_ptr), |
| 120389 | extra.field_index, | 161903 | field_parent_ptr.field_index, |
| 120390 | ), cg); | 161904 | ), cg); |
| 120391 | try ops[0].finish(inst, &.{extra.field_ptr}, &ops, cg); | 161905 | try ops[0].finish(inst, &.{field_parent_ptr.field_ptr}, &ops, cg); |
| 120392 | }, | 161906 | }, |
| 120393 | .wasm_memory_size, .wasm_memory_grow => unreachable, | 161907 | .wasm_memory_size, .wasm_memory_grow => unreachable, |
| 120394 | .cmp_lt_errors_len => |air_tag| if (use_old) try cg.airCmpLtErrorsLen(inst) else { | 161908 | .cmp_lt_errors_len => |air_tag| if (use_old) try cg.airCmpLtErrorsLen(inst) else { |
| ... | @@ -120514,9 +162028,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120514,9 +162028,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120514 | try res.finish(inst, &.{}, &.{}, cg); | 162028 | try res.finish(inst, &.{}, &.{}, cg); |
| 120515 | }, | 162029 | }, |
| 120516 | .vector_store_elem => { | 162030 | .vector_store_elem => { |
| 120517 | const extra = air_datas[@intFromEnum(inst)].vector_store_elem; | 162031 | const vector_store_elem = air_datas[@intFromEnum(inst)].vector_store_elem; |
| 120518 | const bin_op = cg.air.extraData(Air.Bin, extra.payload).data; | 162032 | const bin_op = cg.air.extraData(Air.Bin, vector_store_elem.payload).data; |
| 120519 | var ops = try cg.tempsFromOperands(inst, .{ extra.vector_ptr, bin_op.lhs, bin_op.rhs }); | 162033 | var ops = try cg.tempsFromOperands(inst, .{ vector_store_elem.vector_ptr, bin_op.lhs, bin_op.rhs }); |
| 120520 | cg.select(&.{}, &.{}, &ops, comptime &.{ .{ | 162034 | cg.select(&.{}, &.{}, &ops, comptime &.{ .{ |
| 120521 | .src_constraints = .{ .{ .ptr_bool_vec = .byte }, .any, .bool }, | 162035 | .src_constraints = .{ .{ .ptr_bool_vec = .byte }, .any, .bool }, |
| 120522 | .patterns = &.{ | 162036 | .patterns = &.{ |
| ... | @@ -120878,7 +162392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -120878,7 +162392,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120878 | } }, | 162392 | } }, |
| 120879 | } }) catch |err| switch (err) { | 162393 | } }) catch |err| switch (err) { |
| 120880 | error.SelectFailed => { | 162394 | error.SelectFailed => { |
| 120881 | const elem_size = cg.typeOf(extra.vector_ptr).childType(zcu).childType(zcu).abiSize(zcu); | 162395 | const elem_size = cg.typeOf(bin_op.rhs).abiSize(zcu); |
| 120882 | while (try ops[0].toBase(false, cg) or | 162396 | while (try ops[0].toBase(false, cg) or |
| 120883 | try ops[1].toRegClass(true, .general_purpose, cg)) | 162397 | try ops[1].toRegClass(true, .general_purpose, cg)) |
| 120884 | {} | 162398 | {} |
| ... | @@ -125517,7 +167031,7 @@ fn genByteSwap( | ... | @@ -125517,7 +167031,7 @@ fn genByteSwap( |
| 125517 | return src_mcv; | 167031 | return src_mcv; |
| 125518 | }, | 167032 | }, |
| 125519 | 3...8 => if (src_mcv.isRegister() and self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) { | 167033 | 3...8 => if (src_mcv.isRegister() and self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) { |
| 125520 | try self.genUnOpMir(.{ ._, .bswap }, src_ty, src_mcv); | 167034 | try self.genUnOpMir(.{ .b_, .swap }, src_ty, src_mcv); |
| 125521 | return src_mcv; | 167035 | return src_mcv; |
| 125522 | }, | 167036 | }, |
| 125523 | 9...16 => { | 167037 | 9...16 => { |
| ... | @@ -125528,7 +167042,7 @@ fn genByteSwap( | ... | @@ -125528,7 +167042,7 @@ fn genByteSwap( |
| 125528 | break :mat_src_mcv .{ .load_frame = .{ .index = frame_index } }; | 167042 | break :mat_src_mcv .{ .load_frame = .{ .index = frame_index } }; |
| 125529 | }, | 167043 | }, |
| 125530 | .register_pair => |src_regs| if (self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) { | 167044 | .register_pair => |src_regs| if (self.reuseOperand(inst, ty_op.operand, 0, src_mcv)) { |
| 125531 | for (src_regs) |src_reg| try self.asmRegister(.{ ._, .bswap }, src_reg.to64()); | 167045 | for (src_regs) |src_reg| try self.asmRegister(.{ .b_, .swap }, src_reg.to64()); |
| 125532 | return .{ .register_pair = .{ src_regs[1], src_regs[0] } }; | 167046 | return .{ .register_pair = .{ src_regs[1], src_regs[0] } }; |
| 125533 | } else src_mcv, | 167047 | } else src_mcv, |
| 125534 | else => src_mcv, | 167048 | else => src_mcv, |
| ... | @@ -125542,18 +167056,18 @@ fn genByteSwap( | ... | @@ -125542,18 +167056,18 @@ fn genByteSwap( |
| 125542 | for (dst_regs, 0..) |dst_reg, limb_index| { | 167056 | for (dst_regs, 0..) |dst_reg, limb_index| { |
| 125543 | if (mat_src_mcv.isBase()) { | 167057 | if (mat_src_mcv.isBase()) { |
| 125544 | try self.asmRegisterMemory( | 167058 | try self.asmRegisterMemory( |
| 125545 | .{ ._, if (has_movbe) .movbe else .mov }, | 167059 | .{ if (has_movbe) ._be else ._, .mov }, |
| 125546 | dst_reg.to64(), | 167060 | dst_reg.to64(), |
| 125547 | try mat_src_mcv.address().offset(@intCast(limb_index * 8)).deref().mem(self, .{ .size = .qword }), | 167061 | try mat_src_mcv.address().offset(@intCast(limb_index * 8)).deref().mem(self, .{ .size = .qword }), |
| 125548 | ); | 167062 | ); |
| 125549 | if (!has_movbe) try self.asmRegister(.{ ._, .bswap }, dst_reg.to64()); | 167063 | if (!has_movbe) try self.asmRegister(.{ .b_, .swap }, dst_reg.to64()); |
| 125550 | } else { | 167064 | } else { |
| 125551 | try self.asmRegisterRegister( | 167065 | try self.asmRegisterRegister( |
| 125552 | .{ ._, .mov }, | 167066 | .{ ._, .mov }, |
| 125553 | dst_reg.to64(), | 167067 | dst_reg.to64(), |
| 125554 | mat_src_mcv.register_pair[limb_index].to64(), | 167068 | mat_src_mcv.register_pair[limb_index].to64(), |
| 125555 | ); | 167069 | ); |
| 125556 | try self.asmRegister(.{ ._, .bswap }, dst_reg.to64()); | 167070 | try self.asmRegister(.{ .b_, .swap }, dst_reg.to64()); |
| 125557 | } | 167071 | } |
| 125558 | } | 167072 | } |
| 125559 | return .{ .register_pair = .{ dst_regs[1], dst_regs[0] } }; | 167073 | return .{ .register_pair = .{ dst_regs[1], dst_regs[0] } }; |
| ... | @@ -125572,7 +167086,7 @@ fn genByteSwap( | ... | @@ -125572,7 +167086,7 @@ fn genByteSwap( |
| 125572 | | 167086 | |
| 125573 | const loop: Mir.Inst.Index = @intCast(self.mir_instructions.len); | 167087 | const loop: Mir.Inst.Index = @intCast(self.mir_instructions.len); |
| 125574 | try self.asmRegisterMemory( | 167088 | try self.asmRegisterMemory( |
| 125575 | .{ ._, if (has_movbe) .movbe else .mov }, | 167089 | .{ if (has_movbe) ._be else ._, .mov }, |
| 125576 | temp_regs[2].to64(), | 167090 | temp_regs[2].to64(), |
| 125577 | .{ | 167091 | .{ |
| 125578 | .base = .{ .frame = dst_mcv.load_frame.index }, | 167092 | .base = .{ .frame = dst_mcv.load_frame.index }, |
| ... | @@ -125585,7 +167099,7 @@ fn genByteSwap( | ... | @@ -125585,7 +167099,7 @@ fn genByteSwap( |
| 125585 | }, | 167099 | }, |
| 125586 | ); | 167100 | ); |
| 125587 | try self.asmRegisterMemory( | 167101 | try self.asmRegisterMemory( |
| 125588 | .{ ._, if (has_movbe) .movbe else .mov }, | 167102 | .{ if (has_movbe) ._be else ._, .mov }, |
| 125589 | temp_regs[3].to64(), | 167103 | temp_regs[3].to64(), |
| 125590 | .{ | 167104 | .{ |
| 125591 | .base = .{ .frame = dst_mcv.load_frame.index }, | 167105 | .base = .{ .frame = dst_mcv.load_frame.index }, |
| ... | @@ -125598,8 +167112,8 @@ fn genByteSwap( | ... | @@ -125598,8 +167112,8 @@ fn genByteSwap( |
| 125598 | }, | 167112 | }, |
| 125599 | ); | 167113 | ); |
| 125600 | if (!has_movbe) { | 167114 | if (!has_movbe) { |
| 125601 | try self.asmRegister(.{ ._, .bswap }, temp_regs[2].to64()); | 167115 | try self.asmRegister(.{ .b_, .swap }, temp_regs[2].to64()); |
| 125602 | try self.asmRegister(.{ ._, .bswap }, temp_regs[3].to64()); | 167116 | try self.asmRegister(.{ .b_, .swap }, temp_regs[3].to64()); |
| 125603 | } | 167117 | } |
| 125604 | try self.asmMemoryRegister(.{ ._, .mov }, .{ | 167118 | try self.asmMemoryRegister(.{ ._, .mov }, .{ |
| 125605 | .base = .{ .frame = dst_mcv.load_frame.index }, | 167119 | .base = .{ .frame = dst_mcv.load_frame.index }, |
| ... | @@ -125644,9 +167158,9 @@ fn genByteSwap( | ... | @@ -125644,9 +167158,9 @@ fn genByteSwap( |
| 125644 | switch (abi_size) { | 167158 | switch (abi_size) { |
| 125645 | else => unreachable, | 167159 | else => unreachable, |
| 125646 | 2 => try self.genBinOpMir(.{ ._l, .ro }, src_ty, dst_mcv, .{ .immediate = 8 }), | 167160 | 2 => try self.genBinOpMir(.{ ._l, .ro }, src_ty, dst_mcv, .{ .immediate = 8 }), |
| 125647 | 3...8 => try self.genUnOpMir(.{ ._, .bswap }, src_ty, dst_mcv), | 167161 | 3...8 => try self.genUnOpMir(.{ .b_, .swap }, src_ty, dst_mcv), |
| 125648 | } | 167162 | } |
| 125649 | } else try self.genBinOpMir(.{ ._, .movbe }, src_ty, dst_mcv, src_mcv); | 167163 | } else try self.genBinOpMir(.{ ._be, .mov }, src_ty, dst_mcv, src_mcv); |
| 125650 | return dst_mcv; | 167164 | return dst_mcv; |
| 125651 | } | 167165 | } |
| 125652 | | 167166 | |
| ... | @@ -127728,14 +169242,14 @@ fn genShiftBinOpMir( | ... | @@ -127728,14 +169242,14 @@ fn genShiftBinOpMir( |
| 127728 | info.double_tag, | 169242 | info.double_tag, |
| 127729 | lhs_regs[info.indices[1]], | 169243 | lhs_regs[info.indices[1]], |
| 127730 | lhs_regs[info.indices[0]], | 169244 | lhs_regs[info.indices[0]], |
| 127731 | registerAlias(shift_reg, 1), | 169245 | shift_reg.to8(), |
| 127732 | ); | 169246 | ); |
| 127733 | try self.asmRegisterRegister( | 169247 | try self.asmRegisterRegister( |
| 127734 | tag, | 169248 | tag, |
| 127735 | lhs_regs[info.indices[0]], | 169249 | lhs_regs[info.indices[0]], |
| 127736 | registerAlias(shift_reg, 1), | 169250 | shift_reg.to8(), |
| 127737 | ); | 169251 | ); |
| 127738 | try self.asmRegisterImmediate(.{ ._, .cmp }, registerAlias(shift_reg, 1), .u(64)); | 169252 | try self.asmRegisterImmediate(.{ ._, .cmp }, shift_reg.to8(), .u(64)); |
| 127739 | try self.asmCmovccRegisterRegister( | 169253 | try self.asmCmovccRegisterRegister( |
| 127740 | .ae, | 169254 | .ae, |
| 127741 | lhs_regs[info.indices[1]], | 169255 | lhs_regs[info.indices[1]], |
| ... | @@ -127888,12 +169402,12 @@ fn genShiftBinOpMir( | ... | @@ -127888,12 +169402,12 @@ fn genShiftBinOpMir( |
| 127888 | info.double_tag, | 169402 | info.double_tag, |
| 127889 | second_reg, | 169403 | second_reg, |
| 127890 | first_reg, | 169404 | first_reg, |
| 127891 | registerAlias(shift_reg, 1), | 169405 | shift_reg.to8(), |
| 127892 | ); | 169406 | ); |
| 127893 | try self.asmRegisterRegister(tag, first_reg, registerAlias(shift_reg, 1)); | 169407 | try self.asmRegisterRegister(tag, first_reg, shift_reg.to8()); |
| 127894 | try self.asmRegisterImmediate( | 169408 | try self.asmRegisterImmediate( |
| 127895 | .{ ._, .cmp }, | 169409 | .{ ._, .cmp }, |
| 127896 | registerAlias(shift_reg, 1), | 169410 | shift_reg.to8(), |
| 127897 | .u(64), | 169411 | .u(64), |
| 127898 | ); | 169412 | ); |
| 127899 | try self.asmCmovccRegisterRegister(.ae, second_reg, first_reg); | 169413 | try self.asmCmovccRegisterRegister(.ae, second_reg, first_reg); |
| ... | @@ -127937,7 +169451,7 @@ fn genShiftBinOpMir( | ... | @@ -127937,7 +169451,7 @@ fn genShiftBinOpMir( |
| 127937 | .register => |shift_reg| return self.asmRegisterRegister( | 169451 | .register => |shift_reg| return self.asmRegisterRegister( |
| 127938 | tag, | 169452 | tag, |
| 127939 | registerAlias(lhs_reg, abi_size), | 169453 | registerAlias(lhs_reg, abi_size), |
| 127940 | registerAlias(shift_reg, 1), | 169454 | shift_reg.to8(), |
| 127941 | ), | 169455 | ), |
| 127942 | else => {}, | 169456 | else => {}, |
| 127943 | }, | 169457 | }, |
| ... | @@ -127975,7 +169489,7 @@ fn genShiftBinOpMir( | ... | @@ -127975,7 +169489,7 @@ fn genShiftBinOpMir( |
| 127975 | .register => |shift_reg| return self.asmMemoryRegister( | 169489 | .register => |shift_reg| return self.asmMemoryRegister( |
| 127976 | tag, | 169490 | tag, |
| 127977 | lhs_mem, | 169491 | lhs_mem, |
| 127978 | registerAlias(shift_reg, 1), | 169492 | shift_reg.to8(), |
| 127979 | ), | 169493 | ), |
| 127980 | else => {}, | 169494 | else => {}, |
| 127981 | } | 169495 | } |
| ... | @@ -132477,7 +173991,7 @@ fn lowerSwitchBr( | ... | @@ -132477,7 +173991,7 @@ fn lowerSwitchBr( |
| 132477 | .base = .table, | 173991 | .base = .table, |
| 132478 | .mod = .{ .rm = .{ | 173992 | .mod = .{ .rm = .{ |
| 132479 | .size = .ptr, | 173993 | .size = .ptr, |
| 132480 | .index = registerAlias(condition_index_reg, ptr_size), | 173994 | .index = condition_index_reg.toSize(.ptr, cg.target), |
| 132481 | .scale = .fromFactor(@intCast(ptr_size)), | 173995 | .scale = .fromFactor(@intCast(ptr_size)), |
| 132482 | .disp = table_start * ptr_size, | 173996 | .disp = table_start * ptr_size, |
| 132483 | } }, | 173997 | } }, |
| ... | @@ -132832,7 +174346,7 @@ fn airSwitchDispatch(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -132832,7 +174346,7 @@ fn airSwitchDispatch(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 132832 | .base = .table, | 174346 | .base = .table, |
| 132833 | .mod = .{ .rm = .{ | 174347 | .mod = .{ .rm = .{ |
| 132834 | .size = .ptr, | 174348 | .size = .ptr, |
| 132835 | .index = registerAlias(condition_index_reg, ptr_size), | 174349 | .index = condition_index_reg.toSize(.ptr, self.target), |
| 132836 | .scale = .fromFactor(@intCast(ptr_size)), | 174350 | .scale = .fromFactor(@intCast(ptr_size)), |
| 132837 | .disp = @intCast(table.start * ptr_size), | 174351 | .disp = @intCast(table.start * ptr_size), |
| 132838 | } }, | 174352 | } }, |
| ... | @@ -132948,14 +174462,14 @@ fn airRepeat(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -132948,14 +174462,14 @@ fn airRepeat(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 132948 | } | 174462 | } |
| 132949 | | 174463 | |
| 132950 | fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { | 174464 | fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { |
| | 174465 | @setEvalBranchQuota(1_100); |
| 132951 | const pt = self.pt; | 174466 | const pt = self.pt; |
| 132952 | const zcu = pt.zcu; | 174467 | const zcu = pt.zcu; |
| 132953 | const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl; | 174468 | const ty_pl = self.air.instructions.items(.data)[@intFromEnum(inst)].ty_pl; |
| 132954 | const extra = self.air.extraData(Air.Asm, ty_pl.payload); | 174469 | const extra = self.air.extraData(Air.Asm, ty_pl.payload); |
| 132955 | const clobbers_len: u31 = @truncate(extra.data.flags); | 174470 | const clobbers_len: u31 = @truncate(extra.data.flags); |
| 132956 | var extra_i: usize = extra.end; | 174471 | var extra_i: usize = extra.end; |
| 132957 | const outputs: []const Air.Inst.Ref = | 174472 | const outputs: []const Air.Inst.Ref = @ptrCast(self.air.extra[extra_i..][0..extra.data.outputs_len]); |
| 132958 | @ptrCast(self.air.extra[extra_i..][0..extra.data.outputs_len]); | | |
| 132959 | extra_i += outputs.len; | 174473 | extra_i += outputs.len; |
| 132960 | const inputs: []const Air.Inst.Ref = @ptrCast(self.air.extra[extra_i..][0..extra.data.inputs_len]); | 174474 | const inputs: []const Air.Inst.Ref = @ptrCast(self.air.extra[extra_i..][0..extra.data.inputs_len]); |
| 132961 | extra_i += inputs.len; | 174475 | extra_i += inputs.len; |
| ... | @@ -133519,16 +175033,16 @@ fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -133519,16 +175033,16 @@ fn airAsm(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 133519 | .{ ._, .pseudo } | 175033 | .{ ._, .pseudo } |
| 133520 | else for (std.enums.values(Mir.Inst.Fixes)) |fixes| { | 175034 | else for (std.enums.values(Mir.Inst.Fixes)) |fixes| { |
| 133521 | const fixes_name = @tagName(fixes); | 175035 | const fixes_name = @tagName(fixes); |
| 133522 | const space_i = std.mem.indexOfScalar(u8, fixes_name, ' '); | 175036 | const space_index = std.mem.indexOfScalar(u8, fixes_name, ' '); |
| 133523 | const fixes_prefix = if (space_i) |i| | 175037 | const fixes_prefix = if (space_index) |index| |
| 133524 | std.meta.stringToEnum(encoder.Instruction.Prefix, fixes_name[0..i]).? | 175038 | std.meta.stringToEnum(encoder.Instruction.Prefix, fixes_name[0..index]).? |
| 133525 | else | 175039 | else |
| 133526 | .none; | 175040 | .none; |
| 133527 | if (fixes_prefix != prefix) continue; | 175041 | if (fixes_prefix != prefix) continue; |
| 133528 | const pattern = fixes_name[if (space_i) |i| i + " ".len else 0..]; | 175042 | const pattern = fixes_name[if (space_index) |index| index + " ".len else 0..]; |
| 133529 | const wildcard_i = std.mem.indexOfScalar(u8, pattern, '_').?; | 175043 | const wildcard_index = std.mem.indexOfScalar(u8, pattern, '_').?; |
| 133530 | const mnem_prefix = pattern[0..wildcard_i]; | 175044 | const mnem_prefix = pattern[0..wildcard_index]; |
| 133531 | const mnem_suffix = pattern[wildcard_i + "_".len ..]; | 175045 | const mnem_suffix = pattern[wildcard_index + "_".len ..]; |
| 133532 | if (!std.mem.startsWith(u8, mnem_name, mnem_prefix)) continue; | 175046 | if (!std.mem.startsWith(u8, mnem_name, mnem_prefix)) continue; |
| 133533 | if (!std.mem.endsWith(u8, mnem_name, mnem_suffix)) continue; | 175047 | if (!std.mem.endsWith(u8, mnem_name, mnem_suffix)) continue; |
| 133534 | break .{ fixes, std.meta.stringToEnum( | 175048 | break .{ fixes, std.meta.stringToEnum( |
| ... | @@ -133742,7 +175256,7 @@ const MoveStrategy = union(enum) { | ... | @@ -133742,7 +175256,7 @@ const MoveStrategy = union(enum) { |
| 133742 | .base = .{ .frame = tmp_frame_index }, | 175256 | .base = .{ .frame = tmp_frame_index }, |
| 133743 | .mod = .{ .rm = .{ .size = .word } }, | 175257 | .mod = .{ .rm = .{ .size = .word } }, |
| 133744 | }); | 175258 | }); |
| 133745 | try cg.asmMemoryRegister(.{ ._, .mov }, dst_mem, tmp_reg.to16()); | 175259 | try cg.asmMemoryRegister(.{ ._, .mov }, dst_mem, tmp_reg.toSize(dst_mem.mod.rm.size, cg.target)); |
| 133746 | }, | 175260 | }, |
| 133747 | .load_store => |tag| try cg.asmMemoryRegister(tag, dst_mem, src_reg), | 175261 | .load_store => |tag| try cg.asmMemoryRegister(tag, dst_mem, src_reg), |
| 133748 | .load_store_x87 => if (cg.register_manager.isKnownRegFree(.st7)) { | 175262 | .load_store_x87 => if (cg.register_manager.isKnownRegFree(.st7)) { |
| ... | @@ -134106,7 +175620,7 @@ fn genCopy(self: *CodeGen, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: C | ... | @@ -134106,7 +175620,7 @@ fn genCopy(self: *CodeGen, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: C |
| 134106 | } else if (self.hasFeature(.sse4_1)) { | 175620 | } else if (self.hasFeature(.sse4_1)) { |
| 134107 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_regs[0].to64(), src_reg.to128()); | 175621 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_regs[0].to64(), src_reg.to128()); |
| 134108 | try self.asmRegisterRegisterImmediate(.{ .p_q, .extr }, dst_regs[1].to64(), src_reg.to128(), .u(1)); | 175622 | try self.asmRegisterRegisterImmediate(.{ .p_q, .extr }, dst_regs[1].to64(), src_reg.to128(), .u(1)); |
| 134109 | } else { | 175623 | } else if (self.hasFeature(.sse2)) { |
| 134110 | const tmp_reg = try self.register_manager.allocReg(null, abi.RegisterClass.sse); | 175624 | const tmp_reg = try self.register_manager.allocReg(null, abi.RegisterClass.sse); |
| 134111 | const tmp_lock = self.register_manager.lockRegAssumeUnused(tmp_reg); | 175625 | const tmp_lock = self.register_manager.lockRegAssumeUnused(tmp_reg); |
| 134112 | defer self.register_manager.unlockReg(tmp_lock); | 175626 | defer self.register_manager.unlockReg(tmp_lock); |
| ... | @@ -134114,6 +175628,19 @@ fn genCopy(self: *CodeGen, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: C | ... | @@ -134114,6 +175628,19 @@ fn genCopy(self: *CodeGen, ty: Type, dst_mcv: MCValue, src_mcv: MCValue, opts: C |
| 134114 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_regs[0].to64(), src_reg.to128()); | 175628 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_regs[0].to64(), src_reg.to128()); |
| 134115 | try self.asmRegisterRegister(.{ ._ps, .movhl }, tmp_reg.to128(), src_reg.to128()); | 175629 | try self.asmRegisterRegister(.{ ._ps, .movhl }, tmp_reg.to128(), src_reg.to128()); |
| 134116 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_regs[1].to64(), tmp_reg.to128()); | 175630 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_regs[1].to64(), tmp_reg.to128()); |
| | 175631 | } else { |
| | 175632 | const frame_index = try self.allocFrameIndex(.init(.{ |
| | 175633 | .size = 16, |
| | 175634 | .alignment = .@"16", |
| | 175635 | })); |
| | 175636 | try self.asmMemoryRegister(.{ ._ps, .mova }, .{ |
| | 175637 | .base = .{ .frame = frame_index }, |
| | 175638 | .mod = .{ .rm = .{ .size = .xword } }, |
| | 175639 | }, src_reg.to128()); |
| | 175640 | for (dst_regs, 0..) |dst_reg, dst_index| try self.asmRegisterMemory(.{ ._, .mov }, dst_reg.to64(), .{ |
| | 175641 | .base = .{ .frame = frame_index }, |
| | 175642 | .mod = .{ .rm = .{ .size = .qword, .disp = @intCast(8 * dst_index) } }, |
| | 175643 | }); |
| 134117 | } | 175644 | } |
| 134118 | return; | 175645 | return; |
| 134119 | } else unreachable, | 175646 | } else unreachable, |
| ... | @@ -134357,7 +175884,7 @@ fn genSetReg( | ... | @@ -134357,7 +175884,7 @@ fn genSetReg( |
| 134357 | }, | 175884 | }, |
| 134358 | ), | 175885 | ), |
| 134359 | .x87 => switch (src_reg.class()) { | 175886 | .x87 => switch (src_reg.class()) { |
| 134360 | .general_purpose, .gphi, .segment => unreachable, | 175887 | .general_purpose, .gphi, .segment, .mmx, .ip, .cr, .dr => unreachable, |
| 134361 | .x87 => switch (src_reg) { | 175888 | .x87 => switch (src_reg) { |
| 134362 | .st0 => try self.asmRegister(.{ .f_, .st }, dst_reg), | 175889 | .st0 => try self.asmRegister(.{ .f_, .st }, dst_reg), |
| 134363 | .st1, .st2, .st3, .st4, .st5, .st6 => switch (dst_reg) { | 175890 | .st1, .st2, .st3, .st4, .st5, .st6 => switch (dst_reg) { |
| ... | @@ -134382,7 +175909,25 @@ fn genSetReg( | ... | @@ -134382,7 +175909,25 @@ fn genSetReg( |
| 134382 | }, | 175909 | }, |
| 134383 | else => unreachable, | 175910 | else => unreachable, |
| 134384 | }, | 175911 | }, |
| 134385 | .mmx, .sse, .ip, .cr, .dr => unreachable, | 175912 | .sse => if (abi_size <= 16) { |
| | 175913 | const frame_index = try self.allocFrameIndex(.init(.{ |
| | 175914 | .size = 16, |
| | 175915 | .alignment = .@"16", |
| | 175916 | })); |
| | 175917 | try self.asmMemoryRegister(if (self.hasFeature(.avx)) |
| | 175918 | .{ .v_dqa, .mov } |
| | 175919 | else if (self.hasFeature(.sse2)) |
| | 175920 | .{ ._dqa, .mov } |
| | 175921 | else |
| | 175922 | .{ ._ps, .mova }, .{ |
| | 175923 | .base = .{ .frame = frame_index }, |
| | 175924 | .mod = .{ .rm = .{ .size = .xword } }, |
| | 175925 | }, src_reg.to128()); |
| | 175926 | try MoveStrategy.read(.load_store_x87, self, dst_reg, .{ |
| | 175927 | .base = .{ .frame = frame_index }, |
| | 175928 | .mod = .{ .rm = .{ .size = .tbyte } }, |
| | 175929 | }); |
| | 175930 | } else unreachable, |
| 134386 | }, | 175931 | }, |
| 134387 | .mmx => unreachable, | 175932 | .mmx => unreachable, |
| 134388 | .sse => switch (src_reg.class()) { | 175933 | .sse => switch (src_reg.class()) { |
| ... | @@ -134424,7 +175969,7 @@ fn genSetReg( | ... | @@ -134424,7 +175969,7 @@ fn genSetReg( |
| 134424 | .{ .register = try self.copyToTmpRegister(ty, src_mcv) }, | 175969 | .{ .register = try self.copyToTmpRegister(ty, src_mcv) }, |
| 134425 | opts, | 175970 | opts, |
| 134426 | ), | 175971 | ), |
| 134427 | .x87 => { | 175972 | .x87 => if (abi_size <= 16) { |
| 134428 | const frame_index = try self.allocFrameIndex(.init(.{ | 175973 | const frame_index = try self.allocFrameIndex(.init(.{ |
| 134429 | .size = 16, | 175974 | .size = 16, |
| 134430 | .alignment = .@"16", | 175975 | .alignment = .@"16", |
| ... | @@ -134442,7 +175987,7 @@ fn genSetReg( | ... | @@ -134442,7 +175987,7 @@ fn genSetReg( |
| 134442 | .base = .{ .frame = frame_index }, | 175987 | .base = .{ .frame = frame_index }, |
| 134443 | .mod = .{ .rm = .{ .size = .xword } }, | 175988 | .mod = .{ .rm = .{ .size = .xword } }, |
| 134444 | }); | 175989 | }); |
| 134445 | }, | 175990 | } else unreachable, |
| 134446 | .mmx, .ip, .cr, .dr => unreachable, | 175991 | .mmx, .ip, .cr, .dr => unreachable, |
| 134447 | .sse => try self.asmRegisterRegister( | 175992 | .sse => try self.asmRegisterRegister( |
| 134448 | @as(?Mir.Inst.FixedTag, switch (ty.scalarType(zcu).zigTypeTag(zcu)) { | 175993 | @as(?Mir.Inst.FixedTag, switch (ty.scalarType(zcu).zigTypeTag(zcu)) { |
| ... | @@ -134506,7 +176051,7 @@ fn genSetReg( | ... | @@ -134506,7 +176051,7 @@ fn genSetReg( |
| 134506 | } else if (self.hasFeature(.sse4_1)) { | 176051 | } else if (self.hasFeature(.sse4_1)) { |
| 134507 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_reg.to128(), src_regs[0].to64()); | 176052 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_reg.to128(), src_regs[0].to64()); |
| 134508 | try self.asmRegisterRegisterImmediate(.{ .p_q, .insr }, dst_reg.to128(), src_regs[1].to64(), .u(1)); | 176053 | try self.asmRegisterRegisterImmediate(.{ .p_q, .insr }, dst_reg.to128(), src_regs[1].to64(), .u(1)); |
| 134509 | } else { | 176054 | } else if (self.hasFeature(.sse2)) { |
| 134510 | const tmp_reg = try self.register_manager.allocReg(null, abi.RegisterClass.sse); | 176055 | const tmp_reg = try self.register_manager.allocReg(null, abi.RegisterClass.sse); |
| 134511 | const tmp_lock = self.register_manager.lockRegAssumeUnused(tmp_reg); | 176056 | const tmp_lock = self.register_manager.lockRegAssumeUnused(tmp_reg); |
| 134512 | defer self.register_manager.unlockReg(tmp_lock); | 176057 | defer self.register_manager.unlockReg(tmp_lock); |
| ... | @@ -134514,6 +176059,19 @@ fn genSetReg( | ... | @@ -134514,6 +176059,19 @@ fn genSetReg( |
| 134514 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_reg.to128(), src_regs[0].to64()); | 176059 | try self.asmRegisterRegister(.{ ._q, .mov }, dst_reg.to128(), src_regs[0].to64()); |
| 134515 | try self.asmRegisterRegister(.{ ._q, .mov }, tmp_reg.to128(), src_regs[1].to64()); | 176060 | try self.asmRegisterRegister(.{ ._q, .mov }, tmp_reg.to128(), src_regs[1].to64()); |
| 134516 | try self.asmRegisterRegister(.{ ._ps, .movlh }, dst_reg.to128(), tmp_reg.to128()); | 176061 | try self.asmRegisterRegister(.{ ._ps, .movlh }, dst_reg.to128(), tmp_reg.to128()); |
| | 176062 | } else { |
| | 176063 | const frame_index = try self.allocFrameIndex(.init(.{ |
| | 176064 | .size = 16, |
| | 176065 | .alignment = .@"16", |
| | 176066 | })); |
| | 176067 | for (src_regs, 0..) |src_reg, src_index| try self.asmMemoryRegister(.{ ._, .mov }, .{ |
| | 176068 | .base = .{ .frame = frame_index }, |
| | 176069 | .mod = .{ .rm = .{ .size = .qword, .disp = @intCast(8 * src_index) } }, |
| | 176070 | }, src_reg.to64()); |
| | 176071 | try self.asmRegisterMemory(.{ ._ps, .mova }, dst_reg.to128(), .{ |
| | 176072 | .base = .{ .frame = frame_index }, |
| | 176073 | .mod = .{ .rm = .{ .size = .xword } }, |
| | 176074 | }); |
| 134517 | } | 176075 | } |
| 134518 | } else unreachable, | 176076 | } else unreachable, |
| 134519 | else => unreachable, | 176077 | else => unreachable, |
| ... | @@ -134821,11 +176379,18 @@ fn genSetMem( | ... | @@ -134821,11 +176379,18 @@ fn genSetMem( |
| 134821 | }, | 176379 | }, |
| 134822 | else => abi_size, | 176380 | else => abi_size, |
| 134823 | }; | 176381 | }; |
| 134824 | const src_alias = registerAlias(src_reg, abi_size); | 176382 | const src_alias = registerAlias(src_reg, @intCast(self.unalignedSize(ty))); |
| 134825 | const src_size: u32 = @intCast(switch (src_alias.class()) { | 176383 | const src_class = src_alias.class(); |
| 134826 | .general_purpose, .gphi, .segment, .x87, .ip, .cr, .dr => @divExact(src_alias.bitSize(), 8), | 176384 | const src_size: u32 = switch (src_class) { |
| | 176385 | .general_purpose, .gphi, .segment, .ip, .cr, .dr => @intCast(@divExact(src_alias.bitSize(), 8)), |
| 134827 | .mmx, .sse => abi_size, | 176386 | .mmx, .sse => abi_size, |
| 134828 | }); | 176387 | .x87 => switch (abi.classifySystemV(ty, zcu, self.target, .other)[0]) { |
| | 176388 | else => unreachable, |
| | 176389 | .float, .float_combine => 4, |
| | 176390 | .sse => 8, |
| | 176391 | .x87 => 10, |
| | 176392 | }, |
| | 176393 | }; |
| 134829 | const src_align: InternPool.Alignment = .fromNonzeroByteUnits( | 176394 | const src_align: InternPool.Alignment = .fromNonzeroByteUnits( |
| 134830 | std.math.ceilPowerOfTwoAssert(u32, src_size), | 176395 | std.math.ceilPowerOfTwoAssert(u32, src_size), |
| 134831 | ); | 176396 | ); |
| ... | @@ -134835,7 +176400,7 @@ fn genSetMem( | ... | @@ -134835,7 +176400,7 @@ fn genSetMem( |
| 134835 | .alignment = src_align, | 176400 | .alignment = src_align, |
| 134836 | })); | 176401 | })); |
| 134837 | const frame_mcv: MCValue = .{ .load_frame = .{ .index = frame_index } }; | 176402 | const frame_mcv: MCValue = .{ .load_frame = .{ .index = frame_index } }; |
| 134838 | try (try self.moveStrategy(ty, src_alias.class(), true)).write( | 176403 | try (try self.moveStrategy(ty, src_class, true)).write( |
| 134839 | self, | 176404 | self, |
| 134840 | .{ .base = .{ .frame = frame_index }, .mod = .{ .rm = .{ | 176405 | .{ .base = .{ .frame = frame_index }, .mod = .{ .rm = .{ |
| 134841 | .size = .fromSize(src_size), | 176406 | .size = .fromSize(src_size), |
| ... | @@ -134844,7 +176409,7 @@ fn genSetMem( | ... | @@ -134844,7 +176409,7 @@ fn genSetMem( |
| 134844 | ); | 176409 | ); |
| 134845 | try self.genSetMem(base, disp, ty, frame_mcv, opts); | 176410 | try self.genSetMem(base, disp, ty, frame_mcv, opts); |
| 134846 | try self.freeValue(frame_mcv); | 176411 | try self.freeValue(frame_mcv); |
| 134847 | } else try (try self.moveStrategy(ty, src_alias.class(), switch (base) { | 176412 | } else try (try self.moveStrategy(ty, src_class, switch (base) { |
| 134848 | .none => src_align.check(@as(u32, @bitCast(disp))), | 176413 | .none => src_align.check(@as(u32, @bitCast(disp))), |
| 134849 | .reg => |reg| switch (reg) { | 176414 | .reg => |reg| switch (reg) { |
| 134850 | .es, .cs, .ss, .ds => src_align.check(@as(u32, @bitCast(disp))), | 176415 | .es, .cs, .ss, .ds => src_align.check(@as(u32, @bitCast(disp))), |
| ... | @@ -136855,10 +178420,10 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -136855,10 +178420,10 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 136855 | ) else try self.asmRegisterRegister( | 178420 | ) else try self.asmRegisterRegister( |
| 136856 | .{ mir_tag[0], .andn }, | 178421 | .{ mir_tag[0], .andn }, |
| 136857 | mask_alias, | 178422 | mask_alias, |
| 136858 | if (other_mcv.isRegister()) | 178423 | registerAlias(if (other_mcv.isRegister()) |
| 136859 | other_mcv.getReg().? | 178424 | other_mcv.getReg().? |
| 136860 | else | 178425 | else |
| 136861 | try self.copyToTmpRegister(ty, other_mcv), | 178426 | try self.copyToTmpRegister(ty, other_mcv), abi_size), |
| 136862 | ); | 178427 | ); |
| 136863 | try self.asmRegisterRegister(.{ mir_tag[0], .@"or" }, dst_alias, mask_alias); | 178428 | try self.asmRegisterRegister(.{ mir_tag[0], .@"or" }, dst_alias, mask_alias); |
| 136864 | } | 178429 | } |
| ... | @@ -136964,17 +178529,18 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -136964,17 +178529,18 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 136964 | ); | 178529 | ); |
| 136965 | } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)}); | 178530 | } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)}); |
| 136966 | const elem_bits: u16 = @intCast(elem_abi_size * 8); | 178531 | const elem_bits: u16 = @intCast(elem_abi_size * 8); |
| 136967 | const mask_elem_ty = try pt.intType(.unsigned, elem_bits); | | |
| 136968 | const mask_ty = try pt.vectorType(.{ .len = vec_len, .child = mask_elem_ty.toIntern() }); | | |
| 136969 | if (!pred_fits_in_elem) if (self.hasFeature(.ssse3)) { | 178532 | if (!pred_fits_in_elem) if (self.hasFeature(.ssse3)) { |
| 136970 | var mask_elems: [32]InternPool.Index = undefined; | 178533 | const mask_len = elem_abi_size * vec_len; |
| 136971 | for (mask_elems[0..vec_len], 0..) |*elem, bit| elem.* = try pt.intern(.{ .int = .{ | 178534 | const mask_ty = try pt.vectorType(.{ |
| 136972 | .ty = mask_elem_ty.toIntern(), | 178535 | .len = mask_len, |
| 136973 | .storage = .{ .u64 = bit / elem_bits }, | 178536 | .child = .u8_type, |
| 136974 | } }); | 178537 | }); |
| | 178538 | var mask_elems_buf: [32]u8 = undefined; |
| | 178539 | const mask_elems = mask_elems_buf[0..mask_len]; |
| | 178540 | for (mask_elems, 0..) |*elem, bit| elem.* = @intCast(bit / elem_bits); |
| 136975 | const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{ | 178541 | const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| 136976 | .ty = mask_ty.toIntern(), | 178542 | .ty = mask_ty.toIntern(), |
| 136977 | .storage = .{ .elems = mask_elems[0..vec_len] }, | 178543 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, mask_elems, .maybe_embedded_nulls) }, |
| 136978 | } }))); | 178544 | } }))); |
| 136979 | const mask_mem: Memory = .{ | 178545 | const mask_mem: Memory = .{ |
| 136980 | .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) }, | 178546 | .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) }, |
| ... | @@ -136992,14 +178558,17 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -136992,14 +178558,17 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 136992 | ); | 178558 | ); |
| 136993 | } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)}); | 178559 | } else return self.fail("TODO implement airSelect for {}", .{ty.fmt(pt)}); |
| 136994 | { | 178560 | { |
| 136995 | var mask_elems: [32]InternPool.Index = undefined; | 178561 | const mask_elem_ty = try pt.intType(.unsigned, elem_bits); |
| 136996 | for (mask_elems[0..vec_len], 0..) |*elem, bit| elem.* = try pt.intern(.{ .int = .{ | 178562 | const mask_ty = try pt.vectorType(.{ .len = vec_len, .child = mask_elem_ty.toIntern() }); |
| | 178563 | var mask_elems_buf: [32]InternPool.Index = undefined; |
| | 178564 | const mask_elems = mask_elems_buf[0..vec_len]; |
| | 178565 | for (mask_elems, 0..) |*elem, bit| elem.* = try pt.intern(.{ .int = .{ |
| 136997 | .ty = mask_elem_ty.toIntern(), | 178566 | .ty = mask_elem_ty.toIntern(), |
| 136998 | .storage = .{ .u64 = @as(u32, 1) << @intCast(bit & (elem_bits - 1)) }, | 178567 | .storage = .{ .u64 = @as(u64, 1) << @intCast(bit) }, |
| 136999 | } }); | 178568 | } }); |
| 137000 | const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{ | 178569 | const mask_mcv = try self.genTypedValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| 137001 | .ty = mask_ty.toIntern(), | 178570 | .ty = mask_ty.toIntern(), |
| 137002 | .storage = .{ .elems = mask_elems[0..vec_len] }, | 178571 | .storage = .{ .elems = mask_elems }, |
| 137003 | } }))); | 178572 | } }))); |
| 137004 | const mask_mem: Memory = .{ | 178573 | const mask_mem: Memory = .{ |
| 137005 | .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) }, | 178574 | .base = .{ .reg = try self.copyToTmpRegister(.usize, mask_mcv.address()) }, |
| ... | @@ -137013,7 +178582,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -137013,7 +178582,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 137013 | mask_mem, | 178582 | mask_mem, |
| 137014 | ); | 178583 | ); |
| 137015 | try self.asmRegisterRegisterMemory( | 178584 | try self.asmRegisterRegisterMemory( |
| 137016 | .{ .vp_d, .cmpeq }, | 178585 | .{ switch (elem_abi_size) { |
| | 178586 | else => unreachable, |
| | 178587 | 1 => .vp_b, |
| | 178588 | 2 => .vp_w, |
| | 178589 | 4 => .vp_d, |
| | 178590 | 8 => .vp_q, |
| | 178591 | }, .cmpeq }, |
| 137017 | mask_alias, | 178592 | mask_alias, |
| 137018 | mask_alias, | 178593 | mask_alias, |
| 137019 | mask_mem, | 178594 | mask_mem, |
| ... | @@ -137025,7 +178600,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -137025,7 +178600,13 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 137025 | mask_mem, | 178600 | mask_mem, |
| 137026 | ); | 178601 | ); |
| 137027 | try self.asmRegisterMemory( | 178602 | try self.asmRegisterMemory( |
| 137028 | .{ .p_d, .cmpeq }, | 178603 | .{ switch (elem_abi_size) { |
| | 178604 | else => unreachable, |
| | 178605 | 1 => .p_b, |
| | 178606 | 2 => .p_w, |
| | 178607 | 4 => .p_d, |
| | 178608 | 8 => if (has_blend) .p_q else unreachable, |
| | 178609 | }, .cmpeq }, |
| 137029 | mask_alias, | 178610 | mask_alias, |
| 137030 | mask_mem, | 178611 | mask_mem, |
| 137031 | ); | 178612 | ); |
| ... | @@ -137144,10 +178725,10 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { | ... | @@ -137144,10 +178725,10 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 137144 | ) else try self.asmRegisterRegister( | 178725 | ) else try self.asmRegisterRegister( |
| 137145 | .{ mir_tag[0], .andn }, | 178726 | .{ mir_tag[0], .andn }, |
| 137146 | mask_alias, | 178727 | mask_alias, |
| 137147 | if (rhs_mcv.isRegister()) | 178728 | registerAlias(if (rhs_mcv.isRegister()) |
| 137148 | rhs_mcv.getReg().? | 178729 | rhs_mcv.getReg().? |
| 137149 | else | 178730 | else |
| 137150 | try self.copyToTmpRegister(ty, rhs_mcv), | 178731 | try self.copyToTmpRegister(ty, rhs_mcv), abi_size), |
| 137151 | ); | 178732 | ); |
| 137152 | try self.asmRegisterRegister(.{ mir_tag[0], .@"or" }, dst_alias, mask_alias); | 178733 | try self.asmRegisterRegister(.{ mir_tag[0], .@"or" }, dst_alias, mask_alias); |
| 137153 | } | 178734 | } |
| ... | @@ -138779,8 +180360,8 @@ fn genTypedValue(self: *CodeGen, val: Value) InnerError!MCValue { | ... | @@ -138779,8 +180360,8 @@ fn genTypedValue(self: *CodeGen, val: Value) InnerError!MCValue { |
| 138779 | return self.genResult(try codegen.genTypedValue(self.bin_file, self.pt, self.src_loc, val, self.target.*)); | 180360 | return self.genResult(try codegen.genTypedValue(self.bin_file, self.pt, self.src_loc, val, self.target.*)); |
| 138780 | } | 180361 | } |
| 138781 | | 180362 | |
| 138782 | fn lowerUav(self: *CodeGen, val: Value) InnerError!MCValue { | 180363 | fn lowerUav(self: *CodeGen, val: Value, alignment: InternPool.Alignment) InnerError!MCValue { |
| 138783 | return self.genResult(try self.bin_file.lowerUav(self.pt, val.toIntern(), .none, self.src_loc)); | 180364 | return self.genResult(try self.bin_file.lowerUav(self.pt, val.toIntern(), alignment, self.src_loc)); |
| 138784 | } | 180365 | } |
| 138785 | | 180366 | |
| 138786 | const CallMCValues = struct { | 180367 | const CallMCValues = struct { |
| ... | @@ -139221,7 +180802,7 @@ fn registerAlias(reg: Register, size_bytes: u32) Register { | ... | @@ -139221,7 +180802,7 @@ fn registerAlias(reg: Register, size_bytes: u32) Register { |
| 139221 | reg | 180802 | reg |
| 139222 | else | 180803 | else |
| 139223 | unreachable, | 180804 | unreachable, |
| 139224 | .x87 => if (size_bytes >= 10 and size_bytes <= 16) | 180805 | .x87 => if (size_bytes >= 4 and size_bytes <= 16) |
| 139225 | reg | 180806 | reg |
| 139226 | else | 180807 | else |
| 139227 | unreachable, | 180808 | unreachable, |
| ... | @@ -139508,11 +181089,25 @@ fn promoteVarArg(self: *CodeGen, ty: Type) Type { | ... | @@ -139508,11 +181089,25 @@ fn promoteVarArg(self: *CodeGen, ty: Type) Type { |
| 139508 | fn unalignedSize(cg: *CodeGen, ty: Type) u64 { | 181089 | fn unalignedSize(cg: *CodeGen, ty: Type) u64 { |
| 139509 | const zcu = cg.pt.zcu; | 181090 | const zcu = cg.pt.zcu; |
| 139510 | return switch (zcu.intern_pool.indexToKey(ty.toIntern())) { | 181091 | return switch (zcu.intern_pool.indexToKey(ty.toIntern())) { |
| 139511 | .vector_type => |vector_type| Type.fromInterned(vector_type.child).abiSize(zcu) * vector_type.len, | 181092 | .vector_type => |vector_type| switch (vector_type.child) { |
| | 181093 | .bool_type => ty.abiSize(zcu), |
| | 181094 | else => Type.fromInterned(vector_type.child).abiSize(zcu) * vector_type.len, |
| | 181095 | }, |
| 139512 | else => ty.abiSize(zcu), | 181096 | else => ty.abiSize(zcu), |
| 139513 | }; | 181097 | }; |
| 139514 | } | 181098 | } |
| 139515 | | 181099 | |
| | 181100 | fn nonBoolScalarBitSize(cg: *CodeGen, ty: Type) u32 { |
| | 181101 | const zcu = cg.pt.zcu; |
| | 181102 | return switch (zcu.intern_pool.indexToKey(ty.toIntern())) { |
| | 181103 | .vector_type => |vector_type| switch (vector_type.child) { |
| | 181104 | .bool_type => vector_type.len, |
| | 181105 | else => @intCast(Type.fromInterned(vector_type.child).bitSize(zcu)), |
| | 181106 | }, |
| | 181107 | else => @intCast(ty.bitSize(zcu)), |
| | 181108 | }; |
| | 181109 | } |
| | 181110 | |
| 139516 | fn intInfo(cg: *CodeGen, ty: Type) ?std.builtin.Type.Int { | 181111 | fn intInfo(cg: *CodeGen, ty: Type) ?std.builtin.Type.Int { |
| 139517 | const zcu = cg.pt.zcu; | 181112 | const zcu = cg.pt.zcu; |
| 139518 | const ip = &zcu.intern_pool; | 181113 | const ip = &zcu.intern_pool; |
| ... | @@ -140286,7 +181881,7 @@ const Temp = struct { | ... | @@ -140286,7 +181881,7 @@ const Temp = struct { |
| 140286 | else => |mcv| std.debug.panic("{s}: {}\n", .{ @src().fn_name, mcv }), | 181881 | else => |mcv| std.debug.panic("{s}: {}\n", .{ @src().fn_name, mcv }), |
| 140287 | .register => |val_reg| try src.readReg(opts.disp, val_ty, registerAlias( | 181882 | .register => |val_reg| try src.readReg(opts.disp, val_ty, registerAlias( |
| 140288 | val_reg, | 181883 | val_reg, |
| 140289 | @intCast(val_ty.abiSize(cg.pt.zcu)), | 181884 | @intCast(cg.unalignedSize(val_ty)), |
| 140290 | ), cg), | 181885 | ), cg), |
| 140291 | inline .register_pair, .register_triple, .register_quadruple => |val_regs| { | 181886 | inline .register_pair, .register_triple, .register_quadruple => |val_regs| { |
| 140292 | var disp = opts.disp; | 181887 | var disp = opts.disp; |
| ... | @@ -140732,7 +182327,7 @@ const Temp = struct { | ... | @@ -140732,7 +182327,7 @@ const Temp = struct { |
| 140732 | }, .{ | 182327 | }, .{ |
| 140733 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, | 182328 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| 140734 | .patterns = &.{ | 182329 | .patterns = &.{ |
| 140735 | .{ .src = .{ .mut_mem, .none, .none } }, | 182330 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 140736 | }, | 182331 | }, |
| 140737 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 182332 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 140738 | .each = .{ .once = &.{} }, | 182333 | .each = .{ .once = &.{} }, |
| ... | @@ -140740,7 +182335,7 @@ const Temp = struct { | ... | @@ -140740,7 +182335,7 @@ const Temp = struct { |
| 140740 | .required_features = .{ .@"64bit", null, null, null }, | 182335 | .required_features = .{ .@"64bit", null, null, null }, |
| 140741 | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any }, | 182336 | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 140742 | .patterns = &.{ | 182337 | .patterns = &.{ |
| 140743 | .{ .src = .{ .mut_mem, .none, .none } }, | 182338 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 140744 | }, | 182339 | }, |
| 140745 | .extra_temps = .{ | 182340 | .extra_temps = .{ |
| 140746 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 182341 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -140766,7 +182361,7 @@ const Temp = struct { | ... | @@ -140766,7 +182361,7 @@ const Temp = struct { |
| 140766 | .required_features = .{ .@"64bit", null, null, null }, | 182361 | .required_features = .{ .@"64bit", null, null, null }, |
| 140767 | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any }, | 182362 | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 140768 | .patterns = &.{ | 182363 | .patterns = &.{ |
| 140769 | .{ .src = .{ .mut_mem, .none, .none } }, | 182364 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 140770 | }, | 182365 | }, |
| 140771 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, | 182366 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 140772 | .each = .{ .once = &.{ | 182367 | .each = .{ .once = &.{ |
| ... | @@ -140776,7 +182371,7 @@ const Temp = struct { | ... | @@ -140776,7 +182371,7 @@ const Temp = struct { |
| 140776 | .required_features = .{ .@"64bit", null, null, null }, | 182371 | .required_features = .{ .@"64bit", null, null, null }, |
| 140777 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, | 182372 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 140778 | .patterns = &.{ | 182373 | .patterns = &.{ |
| 140779 | .{ .src = .{ .mut_mem, .none, .none } }, | 182374 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 140780 | }, | 182375 | }, |
| 140781 | .extra_temps = .{ | 182376 | .extra_temps = .{ |
| 140782 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 182377 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -140805,7 +182400,7 @@ const Temp = struct { | ... | @@ -140805,7 +182400,7 @@ const Temp = struct { |
| 140805 | .required_features = .{ .@"64bit", null, null, null }, | 182400 | .required_features = .{ .@"64bit", null, null, null }, |
| 140806 | .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, | 182401 | .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 140807 | .patterns = &.{ | 182402 | .patterns = &.{ |
| 140808 | .{ .src = .{ .mut_mem, .none, .none } }, | 182403 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 140809 | }, | 182404 | }, |
| 140810 | .extra_temps = .{ | 182405 | .extra_temps = .{ |
| 140811 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 182406 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -140831,7 +182426,7 @@ const Temp = struct { | ... | @@ -140831,7 +182426,7 @@ const Temp = struct { |
| 140831 | .required_features = .{ .@"64bit", null, null, null }, | 182426 | .required_features = .{ .@"64bit", null, null, null }, |
| 140832 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 182427 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 140833 | .patterns = &.{ | 182428 | .patterns = &.{ |
| 140834 | .{ .src = .{ .mut_mem, .none, .none } }, | 182429 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 140835 | }, | 182430 | }, |
| 140836 | .extra_temps = .{ | 182431 | .extra_temps = .{ |
| 140837 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 182432 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -140858,7 +182453,7 @@ const Temp = struct { | ... | @@ -140858,7 +182453,7 @@ const Temp = struct { |
| 140858 | .required_features = .{ .@"64bit", null, null, null }, | 182453 | .required_features = .{ .@"64bit", null, null, null }, |
| 140859 | .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 182454 | .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 140860 | .patterns = &.{ | 182455 | .patterns = &.{ |
| 140861 | .{ .src = .{ .mut_mem, .none, .none } }, | 182456 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 140862 | }, | 182457 | }, |
| 140863 | .extra_temps = .{ | 182458 | .extra_temps = .{ |
| 140864 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, | 182459 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -142870,7 +184465,7 @@ const Temp = struct { | ... | @@ -142870,7 +184465,7 @@ const Temp = struct { |
| 142870 | .required_features = .{ .@"64bit", null, null, null }, | 184465 | .required_features = .{ .@"64bit", null, null, null }, |
| 142871 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, | 184466 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 142872 | .patterns = &.{ | 184467 | .patterns = &.{ |
| 142873 | .{ .src = .{ .mut_mem, .none, .none } }, | 184468 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 142874 | }, | 184469 | }, |
| 142875 | .extra_temps = .{ | 184470 | .extra_temps = .{ |
| 142876 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 184471 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -142902,7 +184497,7 @@ const Temp = struct { | ... | @@ -142902,7 +184497,7 @@ const Temp = struct { |
| 142902 | .required_features = .{ .@"64bit", null, null, null }, | 184497 | .required_features = .{ .@"64bit", null, null, null }, |
| 142903 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, | 184498 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 142904 | .patterns = &.{ | 184499 | .patterns = &.{ |
| 142905 | .{ .src = .{ .mut_mem, .none, .none } }, | 184500 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 142906 | }, | 184501 | }, |
| 142907 | .extra_temps = .{ | 184502 | .extra_temps = .{ |
| 142908 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 184503 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -142931,7 +184526,7 @@ const Temp = struct { | ... | @@ -142931,7 +184526,7 @@ const Temp = struct { |
| 142931 | .required_features = .{ .@"64bit", null, null, null }, | 184526 | .required_features = .{ .@"64bit", null, null, null }, |
| 142932 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 184527 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 142933 | .patterns = &.{ | 184528 | .patterns = &.{ |
| 142934 | .{ .src = .{ .mut_mem, .none, .none } }, | 184529 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 142935 | }, | 184530 | }, |
| 142936 | .extra_temps = .{ | 184531 | .extra_temps = .{ |
| 142937 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 184532 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -142961,7 +184556,7 @@ const Temp = struct { | ... | @@ -142961,7 +184556,7 @@ const Temp = struct { |
| 142961 | .required_features = .{ .@"64bit", null, null, null }, | 184556 | .required_features = .{ .@"64bit", null, null, null }, |
| 142962 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, | 184557 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 142963 | .patterns = &.{ | 184558 | .patterns = &.{ |
| 142964 | .{ .src = .{ .mut_mem, .none, .none } }, | 184559 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 142965 | }, | 184560 | }, |
| 142966 | .extra_temps = .{ | 184561 | .extra_temps = .{ |
| 142967 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 184562 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| ... | @@ -144973,7 +186568,11 @@ fn tempFromValue(cg: *CodeGen, value: Value) InnerError!Temp { | ... | @@ -144973,7 +186568,11 @@ fn tempFromValue(cg: *CodeGen, value: Value) InnerError!Temp { |
| 144973 | } | 186568 | } |
| 144974 | | 186569 | |
| 144975 | fn tempMemFromValue(cg: *CodeGen, value: Value) InnerError!Temp { | 186570 | fn tempMemFromValue(cg: *CodeGen, value: Value) InnerError!Temp { |
| 144976 | return cg.tempInit(value.typeOf(cg.pt.zcu), try cg.lowerUav(value)); | 186571 | return cg.tempMemFromAlignedValue(.none, value); |
| | 186572 | } |
| | 186573 | |
| | 186574 | fn tempMemFromAlignedValue(cg: *CodeGen, alignment: InternPool.Alignment, value: Value) InnerError!Temp { |
| | 186575 | return cg.tempInit(value.typeOf(cg.pt.zcu), try cg.lowerUav(value, alignment)); |
| 144977 | } | 186576 | } |
| 144978 | | 186577 | |
| 144979 | fn tempFromOperand(cg: *CodeGen, op_ref: Air.Inst.Ref, op_dies: bool) InnerError!Temp { | 186578 | fn tempFromOperand(cg: *CodeGen, op_ref: Air.Inst.Ref, op_dies: bool) InnerError!Temp { |
| ... | @@ -145229,8 +186828,11 @@ const Select = struct { | ... | @@ -145229,8 +186828,11 @@ const Select = struct { |
| 145229 | po2_any, | 186828 | po2_any, |
| 145230 | bool, | 186829 | bool, |
| 145231 | bool_vec: Memory.Size, | 186830 | bool_vec: Memory.Size, |
| 145232 | ptr_bool_vec: Memory.Size, | 186831 | exact_bool_vec: u16, |
| 145233 | ptr_any_bool_vec, | 186832 | ptr_any_bool_vec, |
| | 186833 | ptr_bool_vec: Memory.Size, |
| | 186834 | remainder_bool_vec: OfIsSizes, |
| | 186835 | exact_remainder_bool_vec: struct { of: Memory.Size, is: u16 }, |
| 145234 | signed_int_vec: Memory.Size, | 186836 | signed_int_vec: Memory.Size, |
| 145235 | signed_int_or_full_vec: Memory.Size, | 186837 | signed_int_or_full_vec: Memory.Size, |
| 145236 | unsigned_int_vec: Memory.Size, | 186838 | unsigned_int_vec: Memory.Size, |
| ... | @@ -145245,12 +186847,21 @@ const Select = struct { | ... | @@ -145245,12 +186847,21 @@ const Select = struct { |
| 145245 | scalar_int: OfIsSizes, | 186847 | scalar_int: OfIsSizes, |
| 145246 | scalar_signed_int: OfIsSizes, | 186848 | scalar_signed_int: OfIsSizes, |
| 145247 | scalar_unsigned_int: OfIsSizes, | 186849 | scalar_unsigned_int: OfIsSizes, |
| | 186850 | exclusive_scalar_int: OfIsSizes, |
| | 186851 | exclusive_scalar_signed_int: OfIsSizes, |
| | 186852 | exclusive_scalar_unsigned_int: OfIsSizes, |
| | 186853 | exact_scalar_int: OfIsSizes, |
| | 186854 | exact_scalar_signed_int: OfIsSizes, |
| | 186855 | exact_scalar_unsigned_int: OfIsSizes, |
| 145248 | scalar_signed_or_exclusive_int: OfIsSizes, | 186856 | scalar_signed_or_exclusive_int: OfIsSizes, |
| 145249 | scalar_exact_int: struct { of: Memory.Size, is: u16 }, | 186857 | scalar_exact_int: struct { of: Memory.Size, is: u16 }, |
| 145250 | scalar_exact_signed_int: struct { of: Memory.Size, is: u16 }, | 186858 | scalar_exact_signed_int: struct { of: Memory.Size, is: u16 }, |
| 145251 | scalar_exact_unsigned_int: struct { of: Memory.Size, is: u16 }, | 186859 | scalar_exact_unsigned_int: struct { of: Memory.Size, is: u16 }, |
| 145252 | multiple_scalar: OfIsSizes, | 186860 | multiple_scalar: OfIsSizes, |
| 145253 | multiple_scalar_int: OfIsSizes, | 186861 | multiple_scalar_int: OfIsSizes, |
| | 186862 | unaligned_multiple_scalar_int: OfIsSizes, |
| | 186863 | unaligned_multiple_scalar_signed_int: OfIsSizes, |
| | 186864 | unaligned_multiple_scalar_unsigned_int: OfIsSizes, |
| 145254 | multiple_scalar_signed_int: OfIsSizes, | 186865 | multiple_scalar_signed_int: OfIsSizes, |
| 145255 | multiple_scalar_unsigned_int: OfIsSizes, | 186866 | multiple_scalar_unsigned_int: OfIsSizes, |
| 145256 | multiple_scalar_signed_or_exclusive_int: OfIsSizes, | 186867 | multiple_scalar_signed_or_exclusive_int: OfIsSizes, |
| ... | @@ -145266,8 +186877,11 @@ const Select = struct { | ... | @@ -145266,8 +186877,11 @@ const Select = struct { |
| 145266 | float: Memory.Size, | 186877 | float: Memory.Size, |
| 145267 | scalar_any_float: Memory.Size, | 186878 | scalar_any_float: Memory.Size, |
| 145268 | scalar_float: OfIsSizes, | 186879 | scalar_float: OfIsSizes, |
| | 186880 | exclusive_scalar_float: OfIsSizes, |
| | 186881 | exact_scalar_float: OfIsSizes, |
| 145269 | multiple_scalar_any_float: Memory.Size, | 186882 | multiple_scalar_any_float: Memory.Size, |
| 145270 | multiple_scalar_float: OfIsSizes, | 186883 | multiple_scalar_float: OfIsSizes, |
| | 186884 | unaligned_multiple_scalar_float: OfIsSizes, |
| 145271 | exact_int: u16, | 186885 | exact_int: u16, |
| 145272 | exact_signed_int: u16, | 186886 | exact_signed_int: u16, |
| 145273 | exact_unsigned_int: u16, | 186887 | exact_unsigned_int: u16, |
| ... | @@ -145309,6 +186923,8 @@ const Select = struct { | ... | @@ -145309,6 +186923,8 @@ const Select = struct { |
| 145309 | .bool => ty.toIntern() == .bool_type, | 186923 | .bool => ty.toIntern() == .bool_type, |
| 145310 | .bool_vec => |size| ty.isVector(zcu) and ty.scalarType(zcu).toIntern() == .bool_type and | 186924 | .bool_vec => |size| ty.isVector(zcu) and ty.scalarType(zcu).toIntern() == .bool_type and |
| 145311 | size.bitSize(cg.target) >= ty.vectorLen(zcu), | 186925 | size.bitSize(cg.target) >= ty.vectorLen(zcu), |
| | 186926 | .exact_bool_vec => |size| ty.isVector(zcu) and ty.scalarType(zcu).toIntern() == .bool_type and |
| | 186927 | size == ty.vectorLen(zcu), |
| 145312 | .ptr_any_bool_vec => switch (zcu.intern_pool.indexToKey(ty.childType(zcu).toIntern())) { | 186928 | .ptr_any_bool_vec => switch (zcu.intern_pool.indexToKey(ty.childType(zcu).toIntern())) { |
| 145313 | .vector_type => |vector_type| vector_type.child == .bool_type, | 186929 | .vector_type => |vector_type| vector_type.child == .bool_type, |
| 145314 | else => false, | 186930 | else => false, |
| ... | @@ -145317,6 +186933,10 @@ const Select = struct { | ... | @@ -145317,6 +186933,10 @@ const Select = struct { |
| 145317 | .vector_type => |vector_type| vector_type.child == .bool_type and size.bitSize(cg.target) >= vector_type.len, | 186933 | .vector_type => |vector_type| vector_type.child == .bool_type and size.bitSize(cg.target) >= vector_type.len, |
| 145318 | else => false, | 186934 | else => false, |
| 145319 | }, | 186935 | }, |
| | 186936 | .remainder_bool_vec => |of_is| ty.isVector(zcu) and ty.scalarType(zcu).toIntern() == .bool_type and |
| | 186937 | of_is.is.bitSize(cg.target) >= (ty.vectorLen(zcu) - 1) % of_is.of.bitSize(cg.target) + 1, |
| | 186938 | .exact_remainder_bool_vec => |of_is| ty.isVector(zcu) and ty.scalarType(zcu).toIntern() == .bool_type and |
| | 186939 | of_is.is == (ty.vectorLen(zcu) - 1) % of_is.of.bitSize(cg.target) + 1, |
| 145320 | .signed_int_vec => |size| ty.isVector(zcu) and @divExact(size.bitSize(cg.target), 8) >= ty.abiSize(zcu) and | 186940 | .signed_int_vec => |size| ty.isVector(zcu) and @divExact(size.bitSize(cg.target), 8) >= ty.abiSize(zcu) and |
| 145321 | if (cg.intInfo(ty.childType(zcu))) |int_info| int_info.signedness == .signed else false, | 186941 | if (cg.intInfo(ty.childType(zcu))) |int_info| int_info.signedness == .signed else false, |
| 145322 | .signed_int_or_full_vec => |size| ty.isVector(zcu) and @divExact(size.bitSize(cg.target), 8) >= ty.abiSize(zcu) and | 186942 | .signed_int_or_full_vec => |size| ty.isVector(zcu) and @divExact(size.bitSize(cg.target), 8) >= ty.abiSize(zcu) and |
| ... | @@ -145362,6 +186982,22 @@ const Select = struct { | ... | @@ -145362,6 +186982,22 @@ const Select = struct { |
| 145362 | .scalar_unsigned_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and | 186982 | .scalar_unsigned_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and |
| 145363 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and | 186983 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and |
| 145364 | of_is.is.bitSize(cg.target) >= int_info.bits else false, | 186984 | of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| | 186985 | .exclusive_scalar_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) > cg.unalignedSize(ty) and |
| | 186986 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| | 186987 | .exclusive_scalar_signed_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) > cg.unalignedSize(ty) and |
| | 186988 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and |
| | 186989 | of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| | 186990 | .exclusive_scalar_unsigned_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) > cg.unalignedSize(ty) and |
| | 186991 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and |
| | 186992 | of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| | 186993 | .exact_scalar_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) == cg.unalignedSize(ty) and |
| | 186994 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| | 186995 | .exact_scalar_signed_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) == cg.unalignedSize(ty) and |
| | 186996 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and |
| | 186997 | of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| | 186998 | .exact_scalar_unsigned_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) == cg.unalignedSize(ty) and |
| | 186999 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and |
| | 187000 | of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| 145365 | .scalar_signed_or_exclusive_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and | 187001 | .scalar_signed_or_exclusive_int => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and |
| 145366 | if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) { | 187002 | if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) { |
| 145367 | .signed => of_is.is.bitSize(cg.target) >= int_info.bits, | 187003 | .signed => of_is.is.bitSize(cg.target) >= int_info.bits, |
| ... | @@ -145384,6 +187020,14 @@ const Select = struct { | ... | @@ -145384,6 +187020,14 @@ const Select = struct { |
| 145384 | false, | 187020 | false, |
| 145385 | .multiple_scalar_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and | 187021 | .multiple_scalar_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and |
| 145386 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false, | 187022 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| | 187023 | .unaligned_multiple_scalar_int => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and |
| | 187024 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| | 187025 | .unaligned_multiple_scalar_signed_int => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and |
| | 187026 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and |
| | 187027 | of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| | 187028 | .unaligned_multiple_scalar_unsigned_int => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and |
| | 187029 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .unsigned and |
| | 187030 | of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| 145387 | .multiple_scalar_signed_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and | 187031 | .multiple_scalar_signed_int => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and |
| 145388 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and | 187032 | if (cg.intInfo(ty.scalarType(zcu))) |int_info| int_info.signedness == .signed and |
| 145389 | of_is.is.bitSize(cg.target) >= int_info.bits else false, | 187033 | of_is.is.bitSize(cg.target) >= int_info.bits else false, |
| ... | @@ -145424,10 +187068,16 @@ const Select = struct { | ... | @@ -145424,10 +187068,16 @@ const Select = struct { |
| 145424 | cg.floatBits(ty.scalarType(zcu)) != null, | 187068 | cg.floatBits(ty.scalarType(zcu)) != null, |
| 145425 | .scalar_float => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and | 187069 | .scalar_float => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) >= cg.unalignedSize(ty) and |
| 145426 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, | 187070 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| | 187071 | .exclusive_scalar_float => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) > cg.unalignedSize(ty) and |
| | 187072 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| | 187073 | .exact_scalar_float => |of_is| @divExact(of_is.of.bitSize(cg.target), 8) == cg.unalignedSize(ty) and |
| | 187074 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| 145427 | .multiple_scalar_any_float => |size| ty.abiSize(zcu) % @divExact(size.bitSize(cg.target), 8) == 0 and | 187075 | .multiple_scalar_any_float => |size| ty.abiSize(zcu) % @divExact(size.bitSize(cg.target), 8) == 0 and |
| 145428 | cg.floatBits(ty.scalarType(zcu)) != null, | 187076 | cg.floatBits(ty.scalarType(zcu)) != null, |
| 145429 | .multiple_scalar_float => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and | 187077 | .multiple_scalar_float => |of_is| ty.abiSize(zcu) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and |
| 145430 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, | 187078 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| | 187079 | .unaligned_multiple_scalar_float => |of_is| cg.unalignedSize(ty) % @divExact(of_is.of.bitSize(cg.target), 8) == 0 and |
| | 187080 | if (cg.floatBits(ty.scalarType(zcu))) |float_bits| of_is.is.bitSize(cg.target) == float_bits else false, |
| 145431 | .exact_int => |bit_size| if (cg.intInfo(ty)) |int_info| bit_size == int_info.bits else false, | 187081 | .exact_int => |bit_size| if (cg.intInfo(ty)) |int_info| bit_size == int_info.bits else false, |
| 145432 | .exact_signed_int => |bit_size| if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) { | 187082 | .exact_signed_int => |bit_size| if (cg.intInfo(ty)) |int_info| switch (int_info.signedness) { |
| 145433 | .signed => bit_size == int_info.bits, | 187083 | .signed => bit_size == int_info.bits, |
| ... | @@ -145554,6 +187204,25 @@ const Select = struct { | ... | @@ -145554,6 +187204,25 @@ const Select = struct { |
| 145554 | to_ymm, | 187204 | to_ymm, |
| 145555 | mut_ymm, | 187205 | mut_ymm, |
| 145556 | to_mut_ymm, | 187206 | to_mut_ymm, |
| | 187207 | reg_mask: RegMaskSpec, |
| | 187208 | all_reg_mask: RegMaskSpec, |
| | 187209 | |
| | 187210 | const RegMaskSpec = struct { |
| | 187211 | size: Memory.Size, |
| | 187212 | is: enum { |
| | 187213 | any, |
| | 187214 | uninverted, |
| | 187215 | inverted, |
| | 187216 | |
| | 187217 | fn matches(is: @This(), inverted: bool) bool { |
| | 187218 | return switch (is) { |
| | 187219 | .any => true, |
| | 187220 | .uninverted => !inverted, |
| | 187221 | .inverted => inverted, |
| | 187222 | }; |
| | 187223 | } |
| | 187224 | } = .any, |
| | 187225 | }; |
| 145557 | | 187226 | |
| 145558 | fn matches(src: Src, temp: Temp, cg: *CodeGen) bool { | 187227 | fn matches(src: Src, temp: Temp, cg: *CodeGen) bool { |
| 145559 | return switch (src) { | 187228 | return switch (src) { |
| ... | @@ -145668,12 +187337,24 @@ const Select = struct { | ... | @@ -145668,12 +187337,24 @@ const Select = struct { |
| 145668 | else => false, | 187337 | else => false, |
| 145669 | }, | 187338 | }, |
| 145670 | .to_ymm, .to_mut_ymm => temp.typeOf(cg).abiSize(cg.pt.zcu) == 32, | 187339 | .to_ymm, .to_mut_ymm => temp.typeOf(cg).abiSize(cg.pt.zcu) == 32, |
| | 187340 | .reg_mask => |mask_spec| switch (temp.tracking(cg).short) { |
| | 187341 | .register_mask => |reg_mask| mask_spec.size.bitSize(cg.target) >= |
| | 187342 | reg_mask.info.scalar.bitSize(cg.target) * temp.typeOf(cg).vectorLen(cg.pt.zcu) and |
| | 187343 | mask_spec.is.matches(reg_mask.info.inverted), |
| | 187344 | else => false, |
| | 187345 | }, |
| | 187346 | .all_reg_mask => |mask_spec| switch (temp.tracking(cg).short) { |
| | 187347 | .register_mask => |reg_mask| mask_spec.size.bitSize(cg.target) == |
| | 187348 | reg_mask.info.scalar.bitSize(cg.target) * temp.typeOf(cg).vectorLen(cg.pt.zcu) and |
| | 187349 | reg_mask.info.kind == .all and mask_spec.is.matches(reg_mask.info.inverted), |
| | 187350 | else => false, |
| | 187351 | }, |
| 145671 | }; | 187352 | }; |
| 145672 | } | 187353 | } |
| 145673 | | 187354 | |
| 145674 | fn convert(src: Src, temp: *Temp, cg: *CodeGen) InnerError!bool { | 187355 | fn convert(src: Src, temp: *Temp, cg: *CodeGen) InnerError!bool { |
| 145675 | return switch (src) { | 187356 | return switch (src) { |
| 145676 | .none, .any, .imm, .imm8, .imm16, .imm32, .simm32 => false, | 187357 | .none, .any, .imm, .imm8, .imm16, .imm32, .simm32, .reg_mask, .all_reg_mask => false, |
| 145677 | .mem, .to_mem => try temp.toBase(false, cg), | 187358 | .mem, .to_mem => try temp.toBase(false, cg), |
| 145678 | .mut_mem, .to_mut_mem => try temp.toBase(true, cg), | 187359 | .mut_mem, .to_mut_mem => try temp.toBase(true, cg), |
| 145679 | .to_reg => |reg| try temp.toReg(reg, cg), | 187360 | .to_reg => |reg| try temp.toReg(reg, cg), |
| ... | @@ -145707,6 +187388,7 @@ const Select = struct { | ... | @@ -145707,6 +187388,7 @@ const Select = struct { |
| 145707 | none, | 187388 | none, |
| 145708 | undef, | 187389 | undef, |
| 145709 | cc: Condition, | 187390 | cc: Condition, |
| | 187391 | ptest_cc: struct { ref: Select.Operand.Ref, not: bool = false, all: u1 }, |
| 145710 | imm: i32, | 187392 | imm: i32, |
| 145711 | ref: Select.Operand.Ref, | 187393 | ref: Select.Operand.Ref, |
| 145712 | reg: Register, | 187394 | reg: Register, |
| ... | @@ -145736,9 +187418,12 @@ const Select = struct { | ... | @@ -145736,9 +187418,12 @@ const Select = struct { |
| 145736 | pshufb_splat_mem: struct { of: Memory.Size = .none, size: Memory.Size }, | 187418 | pshufb_splat_mem: struct { of: Memory.Size = .none, size: Memory.Size }, |
| 145737 | pshufb_trunc_mem: struct { of: Memory.Size = .none, from: Memory.Size, to: Memory.Size }, | 187419 | pshufb_trunc_mem: struct { of: Memory.Size = .none, from: Memory.Size, to: Memory.Size }, |
| 145738 | pand_trunc_mem: struct { from: Memory.Size, to: Memory.Size }, | 187420 | pand_trunc_mem: struct { from: Memory.Size, to: Memory.Size }, |
| | 187421 | pand_mask_mem: struct { ref: Select.Operand.Ref, invert: bool = false }, |
| | 187422 | ptest_mask_mem: Select.Operand.Ref, |
| 145739 | pshufb_bswap_mem: struct { repeat: u4 = 1, size: Memory.Size, smear: u4 = 1 }, | 187423 | pshufb_bswap_mem: struct { repeat: u4 = 1, size: Memory.Size, smear: u4 = 1 }, |
| 145740 | forward_bits_mem, | 187424 | bits_mem: enum { forward, reverse }, |
| 145741 | reverse_bits_mem, | 187425 | splat_int_mem: struct { ref: Select.Operand.Ref, inside: enum { umin, smin, smax } = .umin, outside: enum { smin, smax } }, |
| | 187426 | splat_float_mem: struct { ref: Select.Operand.Ref, inside: enum { zero } = .zero, outside: f16 }, |
| 145742 | frame: FrameIndex, | 187427 | frame: FrameIndex, |
| 145743 | lazy_symbol: struct { kind: link.File.LazySymbol.Kind, ref: Select.Operand.Ref = .none }, | 187428 | lazy_symbol: struct { kind: link.File.LazySymbol.Kind, ref: Select.Operand.Ref = .none }, |
| 145744 | symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 }, | 187429 | symbol: *const struct { lib: ?[]const u8 = null, name: []const u8 }, |
| ... | @@ -145800,6 +187485,14 @@ const Select = struct { | ... | @@ -145800,6 +187485,14 @@ const Select = struct { |
| 145800 | .undef => .{ try cg.tempInit(spec.type, .undef), true }, | 187485 | .undef => .{ try cg.tempInit(spec.type, .undef), true }, |
| 145801 | .imm => |imm| .{ try cg.tempInit(spec.type, .{ .immediate = @bitCast(@as(i64, imm)) }), true }, | 187486 | .imm => |imm| .{ try cg.tempInit(spec.type, .{ .immediate = @bitCast(@as(i64, imm)) }), true }, |
| 145802 | .cc => |cc| .{ try cg.tempInit(spec.type, .{ .eflags = cc }), true }, | 187487 | .cc => |cc| .{ try cg.tempInit(spec.type, .{ .eflags = cc }), true }, |
| | 187488 | .ptest_cc => |cc_spec| { |
| | 187489 | const ccs: [2]Condition = .{ .z, .c }; |
| | 187490 | const cc = ccs[cc_spec.all ^ @intFromBool(cc_spec.ref.valueOf(s).register_mask.info.inverted)]; |
| | 187491 | return .{ try cg.tempInit(spec.type, .{ .eflags = switch (cc_spec.not) { |
| | 187492 | false => cc, |
| | 187493 | true => cc.negate(), |
| | 187494 | } }), true }; |
| | 187495 | }, |
| 145803 | .ref => |ref| .{ ref.tempOf(s), false }, | 187496 | .ref => |ref| .{ ref.tempOf(s), false }, |
| 145804 | .reg => |reg| .{ try cg.tempInit(spec.type, .{ .register = reg }), true }, | 187497 | .reg => |reg| .{ try cg.tempInit(spec.type, .{ .register = reg }), true }, |
| 145805 | .reg_pair => |regs| .{ try cg.tempInit(spec.type, .{ .register_pair = regs }), true }, | 187498 | .reg_pair => |regs| .{ try cg.tempInit(spec.type, .{ .register_pair = regs }), true }, |
| ... | @@ -145988,16 +187681,15 @@ const Select = struct { | ... | @@ -145988,16 +187681,15 @@ const Select = struct { |
| 145988 | } }))), true }, | 187681 | } }))), true }, |
| 145989 | .pshufb_splat_mem => |splat_spec| { | 187682 | .pshufb_splat_mem => |splat_spec| { |
| 145990 | const zcu = pt.zcu; | 187683 | const zcu = pt.zcu; |
| 145991 | assert(spec.type.isVector(zcu)); | 187684 | assert(spec.type.isVector(zcu) and spec.type.childType(zcu).toIntern() == .u8_type); |
| 145992 | assert(spec.type.childType(zcu).toIntern() == .u8_type); | | |
| 145993 | var elem_buf: [32]u8 = @splat(1 << 7); | 187685 | var elem_buf: [32]u8 = @splat(1 << 7); |
| 145994 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; | 187686 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; |
| 145995 | const of_bytes: u32 = @intCast(switch (splat_spec.of) { | 187687 | const of_bytes: u6 = @intCast(switch (splat_spec.of) { |
| 145996 | .none => elems.len, | 187688 | .none => elems.len, |
| 145997 | else => |of| @divExact(of.bitSize(cg.target), 8), | 187689 | else => |of| @divExact(of.bitSize(cg.target), 8), |
| 145998 | }); | 187690 | }); |
| 145999 | const size_bytes: u32 = @intCast(@divExact(splat_spec.size.bitSize(cg.target), 8)); | 187691 | const size_bytes: u6 = @intCast(@divExact(splat_spec.size.bitSize(cg.target), 8)); |
| 146000 | var index: u32 = 0; | 187692 | var index: u6 = 0; |
| 146001 | while (index < of_bytes) : (index += size_bytes) for (0..size_bytes) |byte_off| { | 187693 | while (index < of_bytes) : (index += size_bytes) for (0..size_bytes) |byte_off| { |
| 146002 | elems[index + byte_off] = @as(u4, @truncate(byte_off)); | 187694 | elems[index + byte_off] = @as(u4, @truncate(byte_off)); |
| 146003 | }; | 187695 | }; |
| ... | @@ -146008,18 +187700,17 @@ const Select = struct { | ... | @@ -146008,18 +187700,17 @@ const Select = struct { |
| 146008 | }, | 187700 | }, |
| 146009 | .pshufb_trunc_mem => |trunc_spec| { | 187701 | .pshufb_trunc_mem => |trunc_spec| { |
| 146010 | const zcu = pt.zcu; | 187702 | const zcu = pt.zcu; |
| 146011 | assert(spec.type.isVector(zcu)); | 187703 | assert(spec.type.isVector(zcu) and spec.type.childType(zcu).toIntern() == .u8_type); |
| 146012 | assert(spec.type.childType(zcu).toIntern() == .u8_type); | | |
| 146013 | var elem_buf: [32]u8 = @splat(1 << 7); | 187704 | var elem_buf: [32]u8 = @splat(1 << 7); |
| 146014 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; | 187705 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; |
| 146015 | const of_bytes: u32 = @intCast(switch (trunc_spec.of) { | 187706 | const of_bytes: u6 = @intCast(switch (trunc_spec.of) { |
| 146016 | .none => elems.len, | 187707 | .none => elems.len, |
| 146017 | else => |of| @divExact(of.bitSize(cg.target), 8), | 187708 | else => |of| @divExact(of.bitSize(cg.target), 8), |
| 146018 | }); | 187709 | }); |
| 146019 | const from_bytes: u32 = @intCast(@divExact(trunc_spec.from.bitSize(cg.target), 8)); | 187710 | const from_bytes: u5 = @intCast(@divExact(trunc_spec.from.bitSize(cg.target), 8)); |
| 146020 | const to_bytes: u32 = @intCast(@divExact(trunc_spec.to.bitSize(cg.target), 8)); | 187711 | const to_bytes: u5 = @intCast(@divExact(trunc_spec.to.bitSize(cg.target), 8)); |
| 146021 | var from_index: u32 = 0; | 187712 | var from_index: u6 = 0; |
| 146022 | var to_index: u32 = 0; | 187713 | var to_index: u6 = 0; |
| 146023 | while (from_index < of_bytes) : ({ | 187714 | while (from_index < of_bytes) : ({ |
| 146024 | from_index += from_bytes; | 187715 | from_index += from_bytes; |
| 146025 | switch (from_index % 16) { | 187716 | switch (from_index % 16) { |
| ... | @@ -146036,27 +187727,69 @@ const Select = struct { | ... | @@ -146036,27 +187727,69 @@ const Select = struct { |
| 146036 | }, | 187727 | }, |
| 146037 | .pand_trunc_mem => |trunc_spec| { | 187728 | .pand_trunc_mem => |trunc_spec| { |
| 146038 | const zcu = pt.zcu; | 187729 | const zcu = pt.zcu; |
| 146039 | assert(spec.type.isVector(zcu)); | 187730 | assert(spec.type.isVector(zcu) and spec.type.childType(zcu).toIntern() == .u8_type); |
| 146040 | assert(spec.type.childType(zcu).toIntern() == .u8_type); | | |
| 146041 | var elem_buf: [32]u8 = @splat(0); | 187731 | var elem_buf: [32]u8 = @splat(0); |
| 146042 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; | 187732 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; |
| 146043 | const from_bytes: u32 = @intCast(@divExact(trunc_spec.from.bitSize(cg.target), 8)); | 187733 | const from_bytes: u6 = @intCast(@divExact(trunc_spec.from.bitSize(cg.target), 8)); |
| 146044 | const to_bytes: u32 = @intCast(@divExact(trunc_spec.to.bitSize(cg.target), 8)); | 187734 | const to_bytes: u6 = @intCast(@divExact(trunc_spec.to.bitSize(cg.target), 8)); |
| 146045 | var index: u32 = 0; | 187735 | var index: u6 = 0; |
| 146046 | while (index < elems.len) : (index += from_bytes) @memset(elems[index..][0..to_bytes], std.math.maxInt(u8)); | 187736 | while (index < elems.len) : (index += from_bytes) @memset(elems[index..][0..to_bytes], std.math.maxInt(u8)); |
| 146047 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ | 187737 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| 146048 | .ty = spec.type.toIntern(), | 187738 | .ty = spec.type.toIntern(), |
| 146049 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, | 187739 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, |
| 146050 | } }))), true }; | 187740 | } }))), true }; |
| 146051 | }, | 187741 | }, |
| | 187742 | .pand_mask_mem => |mask_spec| { |
| | 187743 | const zcu = pt.zcu; |
| | 187744 | assert(spec.type.isVector(zcu) and spec.type.childType(zcu).toIntern() == .u8_type); |
| | 187745 | const ref_ty = mask_spec.ref.typeOf(s); |
| | 187746 | assert(ref_ty.isVector(zcu)); |
| | 187747 | var elem_buf: [64]u8 = undefined; |
| | 187748 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; |
| | 187749 | const mask_len: usize = @intCast((cg.unalignedSize(ref_ty) - 1) % elems.len + 1); |
| | 187750 | const invert_mask: u8 = switch (mask_spec.invert) { |
| | 187751 | false => std.math.minInt(u8), |
| | 187752 | true => std.math.maxInt(u8), |
| | 187753 | }; |
| | 187754 | @memset(elems[0..mask_len], ~invert_mask); |
| | 187755 | @memset(elems[mask_len..], invert_mask); |
| | 187756 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| | 187757 | .ty = spec.type.toIntern(), |
| | 187758 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, |
| | 187759 | } }))), true }; |
| | 187760 | }, |
| | 187761 | .ptest_mask_mem => |mask_ref| { |
| | 187762 | const zcu = pt.zcu; |
| | 187763 | assert(spec.type.isVector(zcu) and spec.type.childType(zcu).toIntern() == .u8_type); |
| | 187764 | const ref_ty = mask_ref.typeOf(s); |
| | 187765 | assert(ref_ty.isVector(zcu) and ref_ty.childType(zcu).toIntern() == .bool_type); |
| | 187766 | const mask_info = mask_ref.valueOf(s).register_mask.info; |
| | 187767 | var elem_buf: [64]u8 = @splat(0); |
| | 187768 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; |
| | 187769 | const elem_bytes: u6 = @intCast(@divExact(mask_info.scalar.bitSize(cg.target), 8)); |
| | 187770 | var index: u7 = 0; |
| | 187771 | for (0..@intCast(ref_ty.vectorLen(zcu))) |_| { |
| | 187772 | switch (mask_info.kind) { |
| | 187773 | .sign => { |
| | 187774 | @memset(elems[index..][0 .. elem_bytes - 1], std.math.minInt(u8)); |
| | 187775 | elems[index + elem_bytes - 1] = @bitCast(@as(i8, std.math.minInt(i8))); |
| | 187776 | }, |
| | 187777 | .all => @memset(elems[index..][0..elem_bytes], std.math.maxInt(u8)), |
| | 187778 | } |
| | 187779 | index += elem_bytes; |
| | 187780 | } |
| | 187781 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| | 187782 | .ty = spec.type.toIntern(), |
| | 187783 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, |
| | 187784 | } }))), true }; |
| | 187785 | }, |
| 146052 | .pshufb_bswap_mem => |bswap_spec| { | 187786 | .pshufb_bswap_mem => |bswap_spec| { |
| 146053 | const zcu = pt.zcu; | 187787 | const zcu = pt.zcu; |
| 146054 | assert(spec.type.isVector(zcu)); | 187788 | assert(spec.type.isVector(zcu) and spec.type.childType(zcu).toIntern() == .u8_type); |
| 146055 | assert(spec.type.childType(zcu).toIntern() == .u8_type); | | |
| 146056 | var elem_buf: [32]u8 = @splat(1 << 7); | 187789 | var elem_buf: [32]u8 = @splat(1 << 7); |
| 146057 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; | 187790 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; |
| 146058 | const len: usize = @intCast(@divExact(bswap_spec.size.bitSize(cg.target), 8)); | 187791 | const len: usize = @intCast(@divExact(bswap_spec.size.bitSize(cg.target), 8)); |
| 146059 | var to_index: u32 = 0; | 187792 | var to_index: u6 = 0; |
| 146060 | for (0..bswap_spec.repeat) |_| for (0..len) |from_index| { | 187793 | for (0..bswap_spec.repeat) |_| for (0..len) |from_index| { |
| 146061 | @memset(elems[to_index..][0..bswap_spec.smear], @intCast(len - 1 - from_index)); | 187794 | @memset(elems[to_index..][0..bswap_spec.smear], @intCast(len - 1 - from_index)); |
| 146062 | to_index += bswap_spec.smear; | 187795 | to_index += bswap_spec.smear; |
| ... | @@ -146066,22 +187799,70 @@ const Select = struct { | ... | @@ -146066,22 +187799,70 @@ const Select = struct { |
| 146066 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, | 187799 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, |
| 146067 | } }))), true }; | 187800 | } }))), true }; |
| 146068 | }, | 187801 | }, |
| 146069 | .forward_bits_mem, .reverse_bits_mem => { | 187802 | .bits_mem => |direction| { |
| 146070 | const zcu = pt.zcu; | 187803 | const zcu = pt.zcu; |
| 146071 | assert(spec.type.isVector(zcu)); | 187804 | assert(spec.type.isVector(zcu) and spec.type.childType(zcu).toIntern() == .u8_type); |
| 146072 | assert(spec.type.childType(zcu).toIntern() == .u8_type); | | |
| 146073 | var bytes: [32]u8 = undefined; | 187805 | var bytes: [32]u8 = undefined; |
| 146074 | const elems = bytes[0..spec.type.vectorLen(zcu)]; | 187806 | const elems = bytes[0..spec.type.vectorLen(zcu)]; |
| 146075 | for (elems, 0..) |*elem, index| elem.* = switch (spec.kind) { | 187807 | for (elems, 0..) |*elem, index| elem.* = switch (direction) { |
| 146076 | else => unreachable, | 187808 | .forward => @as(u8, 1 << 0) << @truncate(index), |
| 146077 | .forward_bits_mem => @as(u8, 1 << 0) << @truncate(index), | 187809 | .reverse => @as(u8, 1 << 7) >> @truncate(index), |
| 146078 | .reverse_bits_mem => @as(u8, 1 << 7) >> @truncate(index), | | |
| 146079 | }; | 187810 | }; |
| 146080 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ | 187811 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| 146081 | .ty = spec.type.toIntern(), | 187812 | .ty = spec.type.toIntern(), |
| 146082 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, | 187813 | .storage = .{ .bytes = try zcu.intern_pool.getOrPutString(zcu.gpa, pt.tid, elems, .maybe_embedded_nulls) }, |
| 146083 | } }))), true }; | 187814 | } }))), true }; |
| 146084 | }, | 187815 | }, |
| | 187816 | .splat_int_mem => |splat_spec| { |
| | 187817 | const zcu = pt.zcu; |
| | 187818 | const elem_ty = spec.type.scalarType(zcu); |
| | 187819 | const elem_bits = cg.intInfo(elem_ty).?.bits; |
| | 187820 | const ref_ty = splat_spec.ref.typeOf(s); |
| | 187821 | assert(ref_ty.isVector(zcu) and cg.intInfo(ref_ty.childType(zcu)).?.bits <= elem_bits); |
| | 187822 | var elem_buf: [64]InternPool.Index = undefined; |
| | 187823 | const elems = elem_buf[0..if (elem_ty.toIntern() == spec.type.toIntern()) 1 else spec.type.vectorLen(zcu)]; |
| | 187824 | const inside_len = (ref_ty.vectorLen(zcu) - 1) % elems.len + 1; |
| | 187825 | @memset(elems[0..inside_len], (try pt.intValue(elem_ty, @as(i64, switch (splat_spec.inside) { |
| | 187826 | .umin => 0, |
| | 187827 | .smin => std.math.minInt(i64), |
| | 187828 | .smax => std.math.maxInt(i64), |
| | 187829 | }) >> @intCast(64 - elem_bits))).toIntern()); |
| | 187830 | @memset(elems[inside_len..], (try pt.intValue(elem_ty, @as(i64, switch (splat_spec.outside) { |
| | 187831 | .smin => std.math.minInt(i64), |
| | 187832 | .smax => std.math.maxInt(i64), |
| | 187833 | }) >> @intCast(64 - elem_bits))).toIntern()); |
| | 187834 | if (elems.len == 1) return .{ try cg.tempMemFromValue(.fromInterned(elems[0])), true }; |
| | 187835 | const mem_size = cg.unalignedSize(spec.type); |
| | 187836 | return .{ try cg.tempMemFromAlignedValue( |
| | 187837 | if (mem_size < 16) .fromByteUnits(mem_size) else .none, |
| | 187838 | .fromInterned(try pt.intern(.{ .aggregate = .{ |
| | 187839 | .ty = if (mem_size < 16) |
| | 187840 | (try pt.arrayType(.{ .len = elems.len, .child = elem_ty.toIntern() })).toIntern() |
| | 187841 | else |
| | 187842 | spec.type.toIntern(), |
| | 187843 | .storage = .{ .elems = elems }, |
| | 187844 | } })), |
| | 187845 | ), true }; |
| | 187846 | }, |
| | 187847 | .splat_float_mem => |splat_spec| { |
| | 187848 | const zcu = pt.zcu; |
| | 187849 | assert(spec.type.isVector(zcu)); |
| | 187850 | const elem_ty = spec.type.childType(zcu); |
| | 187851 | assert(cg.floatBits(elem_ty) != null); |
| | 187852 | const ref_ty = splat_spec.ref.typeOf(s); |
| | 187853 | assert(ref_ty.isVector(zcu) and ref_ty.childType(zcu).toIntern() == elem_ty.toIntern()); |
| | 187854 | var elem_buf: [@divExact(64, 2)]InternPool.Index = undefined; |
| | 187855 | const elems = elem_buf[0..spec.type.vectorLen(zcu)]; |
| | 187856 | const inside_len = (ref_ty.vectorLen(zcu) - 1) % elems.len + 1; |
| | 187857 | @memset(elems[0..inside_len], (try pt.floatValue(elem_ty, @as(f16, switch (splat_spec.inside) { |
| | 187858 | .zero => 0.0, |
| | 187859 | }))).toIntern()); |
| | 187860 | @memset(elems[inside_len..], (try pt.floatValue(elem_ty, splat_spec.outside)).toIntern()); |
| | 187861 | return .{ try cg.tempMemFromValue(.fromInterned(try pt.intern(.{ .aggregate = .{ |
| | 187862 | .ty = spec.type.toIntern(), |
| | 187863 | .storage = .{ .elems = elems }, |
| | 187864 | } }))), true }; |
| | 187865 | }, |
| 146085 | .frame => |frame_index| .{ try cg.tempInit(spec.type, .{ .load_frame = .{ .index = frame_index } }), true }, | 187866 | .frame => |frame_index| .{ try cg.tempInit(spec.type, .{ .load_frame = .{ .index = frame_index } }), true }, |
| 146086 | .lazy_symbol => |lazy_symbol_spec| { | 187867 | .lazy_symbol => |lazy_symbol_spec| { |
| 146087 | const ip = &pt.zcu.intern_pool; | 187868 | const ip = &pt.zcu.intern_pool; |
| ... | @@ -146170,6 +187951,7 @@ const Select = struct { | ... | @@ -146170,6 +187951,7 @@ const Select = struct { |
| 146170 | unaligned_size, | 187951 | unaligned_size, |
| 146171 | unaligned_size_add_elem_size, | 187952 | unaligned_size_add_elem_size, |
| 146172 | unaligned_size_sub_elem_size, | 187953 | unaligned_size_sub_elem_size, |
| | 187954 | unaligned_size_sub_2_elem_size, |
| 146173 | bit_size, | 187955 | bit_size, |
| 146174 | src0_bit_size, | 187956 | src0_bit_size, |
| 146175 | @"8_size_sub_bit_size", | 187957 | @"8_size_sub_bit_size", |
| ... | @@ -146182,6 +187964,7 @@ const Select = struct { | ... | @@ -146182,6 +187964,7 @@ const Select = struct { |
| 146182 | src1, | 187964 | src1, |
| 146183 | src1_sub_bit_size, | 187965 | src1_sub_bit_size, |
| 146184 | log2_src0_elem_size, | 187966 | log2_src0_elem_size, |
| | 187967 | elem_mask, |
| 146185 | smin, | 187968 | smin, |
| 146186 | smax, | 187969 | smax, |
| 146187 | umax, | 187970 | umax, |
| ... | @@ -146213,9 +187996,15 @@ const Select = struct { | ... | @@ -146213,9 +187996,15 @@ const Select = struct { |
| 146213 | const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" }; | 187996 | const sub_unaligned_size: Adjust = .{ .sign = .neg, .lhs = .unaligned_size, .op = .mul, .rhs = .@"1" }; |
| 146214 | const add_unaligned_size_add_elem_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size_add_elem_size, .op = .mul, .rhs = .@"1" }; | 187997 | const add_unaligned_size_add_elem_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size_add_elem_size, .op = .mul, .rhs = .@"1" }; |
| 146215 | const add_unaligned_size_sub_elem_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size_sub_elem_size, .op = .mul, .rhs = .@"1" }; | 187998 | const add_unaligned_size_sub_elem_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size_sub_elem_size, .op = .mul, .rhs = .@"1" }; |
| | 187999 | const add_unaligned_size_sub_2_elem_size: Adjust = .{ .sign = .pos, .lhs = .unaligned_size_sub_2_elem_size, .op = .mul, .rhs = .@"1" }; |
| 146216 | const add_2_bit_size: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .mul, .rhs = .@"2" }; | 188000 | const add_2_bit_size: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .mul, .rhs = .@"2" }; |
| 146217 | const add_bit_size: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .mul, .rhs = .@"1" }; | 188001 | const add_bit_size: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .mul, .rhs = .@"1" }; |
| | 188002 | const add_bit_size_rem_8: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .rem_8_mul, .rhs = .@"1" }; |
| 146218 | const add_bit_size_rem_64: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .rem_8_mul, .rhs = .@"8" }; | 188003 | const add_bit_size_rem_64: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .rem_8_mul, .rhs = .@"8" }; |
| | 188004 | const add_bit_size_div_8: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .div, .rhs = .@"8" }; |
| | 188005 | const add_bit_size_div_8_down_1: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .div_8_down, .rhs = .@"1" }; |
| | 188006 | const add_bit_size_div_8_down_2: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .div_8_down, .rhs = .@"2" }; |
| | 188007 | const add_bit_size_div_8_down_8: Adjust = .{ .sign = .pos, .lhs = .bit_size, .op = .div_8_down, .rhs = .@"8" }; |
| 146219 | const sub_bit_size_rem_64: Adjust = .{ .sign = .neg, .lhs = .bit_size, .op = .rem_8_mul, .rhs = .@"8" }; | 188008 | const sub_bit_size_rem_64: Adjust = .{ .sign = .neg, .lhs = .bit_size, .op = .rem_8_mul, .rhs = .@"8" }; |
| 146220 | const sub_bit_size: Adjust = .{ .sign = .neg, .lhs = .bit_size, .op = .mul, .rhs = .@"1" }; | 188009 | const sub_bit_size: Adjust = .{ .sign = .neg, .lhs = .bit_size, .op = .mul, .rhs = .@"1" }; |
| 146221 | const add_src0_bit_size: Adjust = .{ .sign = .pos, .lhs = .src0_bit_size, .op = .mul, .rhs = .@"1" }; | 188010 | const add_src0_bit_size: Adjust = .{ .sign = .pos, .lhs = .src0_bit_size, .op = .mul, .rhs = .@"1" }; |
| ... | @@ -146227,6 +188016,7 @@ const Select = struct { | ... | @@ -146227,6 +188016,7 @@ const Select = struct { |
| 146227 | const add_2_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"2" }; | 188016 | const add_2_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"2" }; |
| 146228 | const add_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"1" }; | 188017 | const add_len: Adjust = .{ .sign = .pos, .lhs = .len, .op = .mul, .rhs = .@"1" }; |
| 146229 | const sub_len: Adjust = .{ .sign = .neg, .lhs = .len, .op = .mul, .rhs = .@"1" }; | 188018 | const sub_len: Adjust = .{ .sign = .neg, .lhs = .len, .op = .mul, .rhs = .@"1" }; |
| | 188019 | const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" }; |
| 146230 | const add_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"1" }; | 188020 | const add_elem_size: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .mul, .rhs = .@"1" }; |
| 146231 | const add_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .div, .rhs = .@"8" }; | 188021 | const add_elem_size_div_8: Adjust = .{ .sign = .pos, .lhs = .elem_size, .op = .div, .rhs = .@"8" }; |
| 146232 | const sub_elem_size_div_8: Adjust = .{ .sign = .neg, .lhs = .elem_size, .op = .div, .rhs = .@"8" }; | 188022 | const sub_elem_size_div_8: Adjust = .{ .sign = .neg, .lhs = .elem_size, .op = .div, .rhs = .@"8" }; |
| ... | @@ -146240,13 +188030,13 @@ const Select = struct { | ... | @@ -146240,13 +188030,13 @@ const Select = struct { |
| 146240 | const sub_src0_elem_size: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"1" }; | 188030 | const sub_src0_elem_size: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 146241 | const add_src0_elem_size_mul_src1: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; | 188031 | const add_src0_elem_size_mul_src1: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; |
| 146242 | const sub_src0_elem_size_mul_src1: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; | 188032 | const sub_src0_elem_size_mul_src1: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; |
| | 188033 | const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 146243 | const add_src1_div_8_down_4: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .div_8_down, .rhs = .@"4" }; | 188034 | const add_src1_div_8_down_4: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .div_8_down, .rhs = .@"4" }; |
| 146244 | const add_src1_rem_32: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"4" }; | 188035 | const add_src1_rem_32: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"4" }; |
| 146245 | const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" }; | 188036 | const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" }; |
| 146246 | const add_src1_sub_bit_size: Adjust = .{ .sign = .pos, .lhs = .src1_sub_bit_size, .op = .mul, .rhs = .@"1" }; | 188037 | const add_src1_sub_bit_size: Adjust = .{ .sign = .pos, .lhs = .src1_sub_bit_size, .op = .mul, .rhs = .@"1" }; |
| 146247 | const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" }; | 188038 | const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 146248 | const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" }; | 188039 | const elem_mask: Adjust = .{ .sign = .pos, .lhs = .elem_mask, .op = .mul, .rhs = .@"1" }; |
| 146249 | const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" }; | | |
| 146250 | const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" }; | 188040 | const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" }; |
| 146251 | const add_2_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"2" }; | 188041 | const add_2_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"2" }; |
| 146252 | const sub_smin: Adjust = .{ .sign = .neg, .lhs = .smin, .op = .mul, .rhs = .@"1" }; | 188042 | const sub_smin: Adjust = .{ .sign = .neg, .lhs = .smin, .op = .mul, .rhs = .@"1" }; |
| ... | @@ -146736,6 +188526,9 @@ const Select = struct { | ... | @@ -146736,6 +188526,9 @@ const Select = struct { |
| 146736 | fn uia(imm: u32, base: Ref.Sized, adjust: Adjust) Select.Operand { | 188526 | fn uia(imm: u32, base: Ref.Sized, adjust: Adjust) Select.Operand { |
| 146737 | return .{ .flags = .{ .tag = .uimm, .adjust = adjust, .base = base }, .imm = @bitCast(imm) }; | 188527 | return .{ .flags = .{ .tag = .uimm, .adjust = adjust, .base = base }, .imm = @bitCast(imm) }; |
| 146738 | } | 188528 | } |
| | 188529 | fn uas(base: Ref.Sized, scale: Memory.Scale, adjust: Adjust) Select.Operand { |
| | 188530 | return .{ .flags = .{ .tag = .uimm, .adjust = adjust, .base = base, .index = .{ .scale = scale } } }; |
| | 188531 | } |
| 146739 | | 188532 | |
| 146740 | fn rm(mode: bits.RoundMode) Select.Operand { | 188533 | fn rm(mode: bits.RoundMode) Select.Operand { |
| 146741 | return .{ .flags = .{ .tag = .uimm }, .imm = @intCast(mode.imm().unsigned) }; | 188534 | return .{ .flags = .{ .tag = .uimm }, .imm = @intCast(mode.imm().unsigned) }; |
| ... | @@ -147004,8 +188797,12 @@ const Select = struct { | ... | @@ -147004,8 +188797,12 @@ const Select = struct { |
| 147004 | const ty = op.flags.base.ref.typeOf(s); | 188797 | const ty = op.flags.base.ref.typeOf(s); |
| 147005 | break :lhs @intCast(s.cg.unalignedSize(ty) - ty.elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)); | 188798 | break :lhs @intCast(s.cg.unalignedSize(ty) - ty.elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu)); |
| 147006 | }, | 188799 | }, |
| 147007 | .bit_size => @intCast(op.flags.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu)), | 188800 | .unaligned_size_sub_2_elem_size => { |
| 147008 | .src0_bit_size => @intCast(Select.Operand.Ref.src0.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu)), | 188801 | const ty = op.flags.base.ref.typeOf(s); |
| | 188802 | break :lhs @intCast(s.cg.unalignedSize(ty) - ty.elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu) * 2); |
| | 188803 | }, |
| | 188804 | .bit_size => @intCast(s.cg.nonBoolScalarBitSize(op.flags.base.ref.typeOf(s))), |
| | 188805 | .src0_bit_size => @intCast(s.cg.nonBoolScalarBitSize(Select.Operand.Ref.src0.typeOf(s))), |
| 147009 | .@"8_size_sub_bit_size" => { | 188806 | .@"8_size_sub_bit_size" => { |
| 147010 | const ty = op.flags.base.ref.typeOf(s); | 188807 | const ty = op.flags.base.ref.typeOf(s); |
| 147011 | break :lhs @intCast(8 * ty.abiSize(s.cg.pt.zcu) - ty.bitSize(s.cg.pt.zcu)); | 188808 | break :lhs @intCast(8 * ty.abiSize(s.cg.pt.zcu) - ty.bitSize(s.cg.pt.zcu)); |
| ... | @@ -147022,26 +188819,40 @@ const Select = struct { | ... | @@ -147022,26 +188819,40 @@ const Select = struct { |
| 147022 | Select.Operand.Ref.src1.valueOf(s).immediate), | 188819 | Select.Operand.Ref.src1.valueOf(s).immediate), |
| 147023 | .src1 => @intCast(Select.Operand.Ref.src1.valueOf(s).immediate), | 188820 | .src1 => @intCast(Select.Operand.Ref.src1.valueOf(s).immediate), |
| 147024 | .src1_sub_bit_size => @as(SignedImm, @intCast(Select.Operand.Ref.src1.valueOf(s).immediate)) - | 188821 | .src1_sub_bit_size => @as(SignedImm, @intCast(Select.Operand.Ref.src1.valueOf(s).immediate)) - |
| 147025 | @as(SignedImm, @intCast(op.flags.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu))), | 188822 | @as(SignedImm, @intCast(s.cg.nonBoolScalarBitSize(op.flags.base.ref.typeOf(s)))), |
| 147026 | .log2_src0_elem_size => @intCast(std.math.log2(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))), | 188823 | .log2_src0_elem_size => @intCast(std.math.log2(Select.Operand.Ref.src0.typeOf(s).elemType2(s.cg.pt.zcu).abiSize(s.cg.pt.zcu))), |
| 147027 | .smin => @as(SignedImm, std.math.minInt(SignedImm)) >> @truncate( | 188824 | .elem_mask => @as(u8, std.math.maxInt(u8)) >> @intCast( |
| 147028 | -%op.flags.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu), | 188825 | 8 - ((s.cg.unalignedSize(op.flags.base.ref.typeOf(s)) - 1) % |
| 147029 | ), | 188826 | @divExact(op.flags.base.size.bitSize(s.cg.target), 8) + 1 >> |
| 147030 | .smax => @as(SignedImm, std.math.maxInt(SignedImm)) >> @truncate( | 188827 | op.flags.index.scale.toLog2()), |
| 147031 | -%op.flags.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu), | | |
| 147032 | ), | | |
| 147033 | .umax => @bitCast(@as(UnsignedImm, std.math.maxInt(UnsignedImm)) >> @truncate( | | |
| 147034 | -%op.flags.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu), | | |
| 147035 | )), | | |
| 147036 | .smax_shr_src1 => @as(SignedImm, std.math.maxInt(SignedImm)) >> @truncate( | | |
| 147037 | Select.Operand.Ref.src1.valueOf(s).immediate -% op.flags.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu), | | |
| 147038 | ), | 188828 | ), |
| 147039 | .smin_shr_src1 => @as(SignedImm, std.math.minInt(SignedImm)) >> @truncate( | 188829 | inline .smin, .smax, .umax, .smin_shr_src1, .smax_shr_src1, .umax_shr_src1 => |adjust| switch (op.flags.base.size) { |
| 147040 | Select.Operand.Ref.src1.valueOf(s).immediate -% op.flags.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu), | 188830 | else => unreachable, |
| 147041 | ), | 188831 | inline .none, .byte, .word, .dword, .qword => |size| { |
| 147042 | .umax_shr_src1 => @bitCast(@as(UnsignedImm, std.math.maxInt(UnsignedImm)) >> @truncate( | 188832 | const Imm = switch (adjust) { |
| 147043 | Select.Operand.Ref.src1.valueOf(s).immediate -% op.flags.base.ref.typeOf(s).scalarType(s.cg.pt.zcu).bitSize(s.cg.pt.zcu), | 188833 | else => comptime unreachable, |
| 147044 | )), | 188834 | .smin, .smax, .smin_shr_src1, .smax_shr_src1 => SignedImm, |
| | 188835 | .umax, .umax_shr_src1 => UnsignedImm, |
| | 188836 | }; |
| | 188837 | const RefImm = switch (size) { |
| | 188838 | else => comptime unreachable, |
| | 188839 | .none => Imm, |
| | 188840 | .byte, .word, .dword, .qword => @Type(comptime .{ .int = .{ |
| | 188841 | .signedness = @typeInfo(Imm).int.signedness, |
| | 188842 | .bits = size.bitSize(undefined), |
| | 188843 | } }), |
| | 188844 | }; |
| | 188845 | break :lhs @bitCast(@as(Imm, @intCast(@as(RefImm, switch (adjust) { |
| | 188846 | else => comptime unreachable, |
| | 188847 | .smin, .smin_shr_src1 => std.math.minInt, |
| | 188848 | .smax, .umax, .smax_shr_src1, .umax_shr_src1 => std.math.maxInt, |
| | 188849 | }(RefImm)) >> @truncate(switch (adjust) { |
| | 188850 | else => comptime unreachable, |
| | 188851 | .smin, .smax, .umax => 0, |
| | 188852 | .smin_shr_src1, .smax_shr_src1, .umax_shr_src1 => Select.Operand.Ref.src1.valueOf(s).immediate, |
| | 188853 | } -% s.cg.nonBoolScalarBitSize(op.flags.base.ref.typeOf(s)))))); |
| | 188854 | }, |
| | 188855 | }, |
| 147045 | .repeat => switch (SignedImm) { | 188856 | .repeat => switch (SignedImm) { |
| 147046 | else => unreachable, | 188857 | else => unreachable, |
| 147047 | i64 => return @as(i64, op.imm) << 32 | @as(u32, @bitCast(op.imm)), | 188858 | i64 => return @as(i64, op.imm) << 32 | @as(u32, @bitCast(op.imm)), |
| ... | @@ -147084,6 +188895,7 @@ const Select = struct { | ... | @@ -147084,6 +188895,7 @@ const Select = struct { |
| 147084 | } }, | 188895 | } }, |
| 147085 | else => |mcv| .{ .mem = try mcv.mem(s.cg, .{ .size = op.flags.base.size }) }, | 188896 | else => |mcv| .{ .mem = try mcv.mem(s.cg, .{ .size = op.flags.base.size }) }, |
| 147086 | .register => |reg| .{ .reg = s.lowerReg(reg.toSize(op.flags.base.size, s.cg.target)) }, | 188897 | .register => |reg| .{ .reg = s.lowerReg(reg.toSize(op.flags.base.size, s.cg.target)) }, |
| | 188898 | .register_mask => |reg_mask| .{ .reg = s.lowerReg(reg_mask.reg.toSize(op.flags.base.size, s.cg.target)) }, |
| 147087 | .lea_symbol => |sym_off| .{ .imm = .rel(sym_off) }, | 188899 | .lea_symbol => |sym_off| .{ .imm = .rel(sym_off) }, |
| 147088 | }, | 188900 | }, |
| 147089 | .simm => .{ .imm = .s(op.adjustedImm(i32, s)) }, | 188901 | .simm => .{ .imm = .s(op.adjustedImm(i32, s)) }, |
| ... | @@ -147252,7 +189064,10 @@ fn select( | ... | @@ -147252,7 +189064,10 @@ fn select( |
| 147252 | }, | 189064 | }, |
| 147253 | } | 189065 | } |
| 147254 | } | 189066 | } |
| 147255 | for (dst_temps, case.dst_temps[0..dst_temps.len]) |dst_temp, tmp_kind| tmp_kind.finish(dst_temp, cg); | 189067 | for (case.dst_temps[0..dst_temps.len], dst_temps, dst_tys) |tmp_kind, dst_temp, dst_ty| { |
| | 189068 | tmp_kind.finish(dst_temp, cg); |
| | 189069 | cg.temp_type[@intFromEnum(dst_temp.unwrap(cg).temp)] = dst_ty; |
| | 189070 | } |
| 147256 | for (tmp_owned, s_tmp_temps) |owned, temp| if (owned) try temp.die(cg); | 189071 | for (tmp_owned, s_tmp_temps) |owned, temp| if (owned) try temp.die(cg); |
| 147257 | return; | 189072 | return; |
| 147258 | } | 189073 | } |