| ... | ... | @@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2389 | 2389 | } |
| 2390 | 2390 | |
| 2391 | 2391 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2392 | | @setEvalBranchQuota(22_000); |
| 2392 | @setEvalBranchQuota(22_500); |
| 2393 | 2393 | const pt = cg.pt; |
| 2394 | 2394 | const zcu = pt.zcu; |
| 2395 | 2395 | const ip = &zcu.intern_pool; |
| ... | ... | @@ -4328,10 +4328,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 4328 | 4328 | else => unreachable, |
| 4329 | 4329 | .add, .add_optimized => {}, |
| 4330 | 4330 | .add_wrap => res[0].wrapInt(cg) catch |err| switch (err) { |
| 4331 | | error.SelectFailed => return cg.fail("failed to select wrap {} {} {}", .{ |
| 4331 | error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{ |
| 4332 | @tagName(air_tag), |
| 4332 | 4333 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 4333 | | ops[0].tracking(cg), |
| 4334 | | ops[1].tracking(cg), |
| 4334 | res[0].tracking(cg), |
| 4335 | 4335 | }), |
| 4336 | 4336 | else => |e| return e, |
| 4337 | 4337 | }, |
| ... | ... | @@ -14777,10 +14777,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 14777 | 14777 | else => unreachable, |
| 14778 | 14778 | .sub, .sub_optimized => {}, |
| 14779 | 14779 | .sub_wrap => res[0].wrapInt(cg) catch |err| switch (err) { |
| 14780 | | error.SelectFailed => return cg.fail("failed to select wrap {} {} {}", .{ |
| 14780 | error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{ |
| 14781 | @tagName(air_tag), |
| 14781 | 14782 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 14782 | | ops[0].tracking(cg), |
| 14783 | | ops[1].tracking(cg), |
| 14783 | res[0].tracking(cg), |
| 14784 | 14784 | }), |
| 14785 | 14785 | else => |e| return e, |
| 14786 | 14786 | }, |
| ... | ... | @@ -26979,10 +26979,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 26979 | 26979 | else => |e| return e, |
| 26980 | 26980 | }; |
| 26981 | 26981 | res[0].wrapInt(cg) catch |err| switch (err) { |
| 26982 | | error.SelectFailed => return cg.fail("failed to select wrap {} {} {}", .{ |
| 26982 | error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{ |
| 26983 | @tagName(air_tag), |
| 26983 | 26984 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 26984 | | ops[0].tracking(cg), |
| 26985 | | ops[1].tracking(cg), |
| 26985 | res[0].tracking(cg), |
| 26986 | 26986 | }), |
| 26987 | 26987 | else => |e| return e, |
| 26988 | 26988 | }; |
| ... | ... | @@ -58664,11 +58664,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 58664 | 58664 | switch (air_tag) { |
| 58665 | 58665 | else => unreachable, |
| 58666 | 58666 | .shl => res[0].wrapInt(cg) catch |err| switch (err) { |
| 58667 | | error.SelectFailed => return cg.fail("failed to select wrap {} {} {} {}", .{ |
| 58667 | error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{ |
| 58668 | @tagName(air_tag), |
| 58668 | 58669 | cg.typeOf(bin_op.lhs).fmt(pt), |
| 58669 | | cg.typeOf(bin_op.rhs).fmt(pt), |
| 58670 | | ops[0].tracking(cg), |
| 58671 | | ops[1].tracking(cg), |
| 58670 | res[0].tracking(cg), |
| 58672 | 58671 | }), |
| 58673 | 58672 | else => |e| return e, |
| 58674 | 58673 | }, |
| ... | ... | @@ -58841,10 +58840,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 58841 | 58840 | else => |e| return e, |
| 58842 | 58841 | }, |
| 58843 | 58842 | } |
| 58844 | | if (ops[1].index != res[0].index) { |
| 58845 | | try ops[1].die(cg); |
| 58846 | | ops[1] = res[0]; |
| 58847 | | } else cg.temp_type[@intFromEnum(res[0].unwrap(cg).temp)] = .i32; |
| 58843 | if (ops[1].index != res[0].index) try ops[1].die(cg); |
| 58844 | ops[1] = res[0]; |
| 58848 | 58845 | cg.select(&res, &.{lhs_ty}, &ops, comptime &.{ .{ |
| 58849 | 58846 | .required_features = .{ .cmov, null, null, null }, |
| 58850 | 58847 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .exact_signed_int = 32 }, .any }, |
| ... | ... | @@ -116833,14 +116830,16 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 116833 | 116830 | }, |
| 116834 | 116831 | .reduce => |air_tag| if (use_old) try cg.airReduce(inst) else fallback: { |
| 116835 | 116832 | const reduce = air_datas[@intFromEnum(inst)].reduce; |
| 116836 | | const ty = cg.typeOfIndex(inst); |
| 116833 | const res_ty = cg.typeOfIndex(inst); |
| 116837 | 116834 | switch (reduce.operation) { |
| 116838 | 116835 | .And, .Or, .Xor => {}, |
| 116839 | | .Min, .Max, .Add, .Mul => break :fallback try cg.airReduce(inst), |
| 116836 | .Min, .Max => break :fallback try cg.airReduce(inst), |
| 116837 | .Add => if (cg.floatBits(res_ty)) |_| break :fallback try cg.airReduce(inst), |
| 116838 | .Mul => break :fallback try cg.airReduce(inst), |
| 116840 | 116839 | } |
| 116841 | 116840 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); |
| 116842 | 116841 | var res: [1]Temp = undefined; |
| 116843 | | cg.select(&res, &.{ty}, &ops, switch (reduce.operation) { |
| 116842 | cg.select(&res, &.{res_ty}, &ops, switch (reduce.operation) { |
| 116844 | 116843 | .And, .Or, .Xor => switch (@as(Mir.Inst.Tag, switch (reduce.operation) { |
| 116845 | 116844 | else => unreachable, |
| 116846 | 116845 | .And => .@"and", |
| ... | ... | @@ -119123,7 +119122,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119123 | 119122 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 119124 | 119123 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 119125 | 119124 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| 119126 | | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 119125 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| 119127 | 119126 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| 119128 | 119127 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| 119129 | 119128 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| ... | ... | @@ -119322,7 +119321,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 119322 | 119321 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 119323 | 119322 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 119324 | 119323 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| 119325 | | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 119324 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| 119326 | 119325 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| 119327 | 119326 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| 119328 | 119327 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| ... | ... | @@ -120063,7 +120062,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120063 | 120062 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 120064 | 120063 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 120065 | 120064 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| 120066 | | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 120065 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| 120067 | 120066 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| 120068 | 120067 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| 120069 | 120068 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| ... | ... | @@ -120253,7 +120252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120253 | 120252 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 120254 | 120253 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 120255 | 120254 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| 120256 | | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 120255 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| 120257 | 120256 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| 120258 | 120257 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| 120259 | 120258 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| ... | ... | @@ -120800,7 +120799,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120800 | 120799 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 120801 | 120800 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 120802 | 120801 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| 120803 | | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 120802 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| 120804 | 120803 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| 120805 | 120804 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| 120806 | 120805 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| ... | ... | @@ -120981,7 +120980,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 120981 | 120980 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 120982 | 120981 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 120983 | 120982 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| 120984 | | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 120983 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| 120985 | 120984 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| 120986 | 120985 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| 120987 | 120986 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| ... | ... | @@ -121376,7 +121375,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121376 | 121375 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 121377 | 121376 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 121378 | 121377 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| 121379 | | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 121378 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| 121380 | 121379 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp1x, ._ }, |
| 121381 | 121380 | } }, |
| 121382 | 121381 | }, .{ |
| ... | ... | @@ -121549,7 +121548,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 121549 | 121548 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 121550 | 121549 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 121551 | 121550 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| 121552 | | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 121551 | .{ ._, .v_ps, .movhl, .tmp2x, .dst0x, .dst0x, ._ }, |
| 121553 | 121552 | .{ ._, .v_ps, mir_tag, .dst0x, .dst0x, .tmp2x, ._ }, |
| 121554 | 121553 | } }, |
| 121555 | 121554 | }, .{ |
| ... | ... | @@ -122278,7 +122277,2998 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122278 | 122277 | } }, |
| 122279 | 122278 | } }, |
| 122280 | 122279 | }, |
| 122281 | | .Min, .Max, .Add, .Mul => unreachable, |
| 122280 | .Min, .Max => unreachable, |
| 122281 | .Add => comptime &.{ .{ |
| 122282 | .required_features = .{ .sse, null, null, null }, |
| 122283 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122284 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 122285 | .patterns = &.{ |
| 122286 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 122287 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 122288 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 122289 | }, |
| 122290 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 122291 | .each = .{ .once = &.{} }, |
| 122292 | }, .{ |
| 122293 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122294 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 122295 | .patterns = &.{ |
| 122296 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 122297 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 122298 | }, |
| 122299 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 122300 | .each = .{ .once = &.{} }, |
| 122301 | }, .{ |
| 122302 | .required_features = .{ .avx, null, null, null }, |
| 122303 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122304 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| 122305 | .patterns = &.{ |
| 122306 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122307 | }, |
| 122308 | .extra_temps = .{ |
| 122309 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122310 | .unused, |
| 122311 | .unused, |
| 122312 | .unused, |
| 122313 | .unused, |
| 122314 | .unused, |
| 122315 | .unused, |
| 122316 | .unused, |
| 122317 | .unused, |
| 122318 | .unused, |
| 122319 | .unused, |
| 122320 | }, |
| 122321 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122322 | .each = .{ .once = &.{ |
| 122323 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| 122324 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 122325 | } }, |
| 122326 | }, .{ |
| 122327 | .required_features = .{ .sse2, null, null, null }, |
| 122328 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122329 | .src_constraints = .{ .{ .scalar_int = .{ .of = .word, .is = .byte } }, .any, .any }, |
| 122330 | .patterns = &.{ |
| 122331 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 122332 | }, |
| 122333 | .extra_temps = .{ |
| 122334 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122335 | .unused, |
| 122336 | .unused, |
| 122337 | .unused, |
| 122338 | .unused, |
| 122339 | .unused, |
| 122340 | .unused, |
| 122341 | .unused, |
| 122342 | .unused, |
| 122343 | .unused, |
| 122344 | .unused, |
| 122345 | }, |
| 122346 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 122347 | .each = .{ .once = &.{ |
| 122348 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 122349 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| 122350 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122351 | } }, |
| 122352 | }, .{ |
| 122353 | .required_features = .{ .avx, null, null, null }, |
| 122354 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122355 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| 122356 | .patterns = &.{ |
| 122357 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122358 | }, |
| 122359 | .extra_temps = .{ |
| 122360 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122361 | .unused, |
| 122362 | .unused, |
| 122363 | .unused, |
| 122364 | .unused, |
| 122365 | .unused, |
| 122366 | .unused, |
| 122367 | .unused, |
| 122368 | .unused, |
| 122369 | .unused, |
| 122370 | .unused, |
| 122371 | }, |
| 122372 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122373 | .each = .{ .once = &.{ |
| 122374 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 122375 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 122376 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| 122377 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122378 | } }, |
| 122379 | }, .{ |
| 122380 | .required_features = .{ .sse2, null, null, null }, |
| 122381 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122382 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| 122383 | .patterns = &.{ |
| 122384 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 122385 | }, |
| 122386 | .extra_temps = .{ |
| 122387 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122388 | .unused, |
| 122389 | .unused, |
| 122390 | .unused, |
| 122391 | .unused, |
| 122392 | .unused, |
| 122393 | .unused, |
| 122394 | .unused, |
| 122395 | .unused, |
| 122396 | .unused, |
| 122397 | .unused, |
| 122398 | }, |
| 122399 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 122400 | .each = .{ .once = &.{ |
| 122401 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 122402 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 122403 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122404 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 122405 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| 122406 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122407 | } }, |
| 122408 | }, .{ |
| 122409 | .required_features = .{ .avx, null, null, null }, |
| 122410 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122411 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| 122412 | .patterns = &.{ |
| 122413 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122414 | }, |
| 122415 | .extra_temps = .{ |
| 122416 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122417 | .unused, |
| 122418 | .unused, |
| 122419 | .unused, |
| 122420 | .unused, |
| 122421 | .unused, |
| 122422 | .unused, |
| 122423 | .unused, |
| 122424 | .unused, |
| 122425 | .unused, |
| 122426 | .unused, |
| 122427 | }, |
| 122428 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 122429 | .each = .{ .once = &.{ |
| 122430 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 122431 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 122432 | .{ ._, .vp_w, .srl, .tmp0x, .src0x, .ui(8), ._ }, |
| 122433 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122434 | } }, |
| 122435 | }, .{ |
| 122436 | .required_features = .{ .sse2, null, null, null }, |
| 122437 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122438 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .byte } }, .any, .any }, |
| 122439 | .patterns = &.{ |
| 122440 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 122441 | }, |
| 122442 | .extra_temps = .{ |
| 122443 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122444 | .unused, |
| 122445 | .unused, |
| 122446 | .unused, |
| 122447 | .unused, |
| 122448 | .unused, |
| 122449 | .unused, |
| 122450 | .unused, |
| 122451 | .unused, |
| 122452 | .unused, |
| 122453 | .unused, |
| 122454 | }, |
| 122455 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 122456 | .each = .{ .once = &.{ |
| 122457 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 122458 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 122459 | .{ ._, .p_b, .add, .tmp0x, .src0x, ._, ._ }, |
| 122460 | .{ ._, .p_w, .srl, .dst0x, .ui(8), ._, ._ }, |
| 122461 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122462 | } }, |
| 122463 | }, .{ |
| 122464 | .required_features = .{ .avx, null, null, null }, |
| 122465 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122466 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| 122467 | .patterns = &.{ |
| 122468 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122469 | }, |
| 122470 | .extra_temps = .{ |
| 122471 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122472 | .unused, |
| 122473 | .unused, |
| 122474 | .unused, |
| 122475 | .unused, |
| 122476 | .unused, |
| 122477 | .unused, |
| 122478 | .unused, |
| 122479 | .unused, |
| 122480 | .unused, |
| 122481 | .unused, |
| 122482 | }, |
| 122483 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122484 | .each = .{ .once = &.{ |
| 122485 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 122486 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 122487 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 122488 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122489 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| 122490 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122491 | } }, |
| 122492 | }, .{ |
| 122493 | .required_features = .{ .sse2, null, null, null }, |
| 122494 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122495 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| 122496 | .patterns = &.{ |
| 122497 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 122498 | }, |
| 122499 | .extra_temps = .{ |
| 122500 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122501 | .unused, |
| 122502 | .unused, |
| 122503 | .unused, |
| 122504 | .unused, |
| 122505 | .unused, |
| 122506 | .unused, |
| 122507 | .unused, |
| 122508 | .unused, |
| 122509 | .unused, |
| 122510 | .unused, |
| 122511 | }, |
| 122512 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 122513 | .each = .{ .once = &.{ |
| 122514 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 122515 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122516 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 122517 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 122518 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122519 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 122520 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| 122521 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122522 | } }, |
| 122523 | }, .{ |
| 122524 | .required_features = .{ .avx, null, null, null }, |
| 122525 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122526 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| 122527 | .patterns = &.{ |
| 122528 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122529 | }, |
| 122530 | .extra_temps = .{ |
| 122531 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 122532 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 122533 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122534 | .unused, |
| 122535 | .unused, |
| 122536 | .unused, |
| 122537 | .unused, |
| 122538 | .unused, |
| 122539 | .unused, |
| 122540 | .unused, |
| 122541 | .unused, |
| 122542 | }, |
| 122543 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122544 | .each = .{ .once = &.{ |
| 122545 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122546 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| 122547 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122548 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122549 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 122550 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122551 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 122552 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122553 | } }, |
| 122554 | }, .{ |
| 122555 | .required_features = .{ .sse2, null, null, null }, |
| 122556 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122557 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .byte } }, .any, .any }, |
| 122558 | .patterns = &.{ |
| 122559 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 122560 | }, |
| 122561 | .extra_temps = .{ |
| 122562 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 122563 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 122564 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122565 | .unused, |
| 122566 | .unused, |
| 122567 | .unused, |
| 122568 | .unused, |
| 122569 | .unused, |
| 122570 | .unused, |
| 122571 | .unused, |
| 122572 | .unused, |
| 122573 | }, |
| 122574 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 122575 | .each = .{ .once = &.{ |
| 122576 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122577 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| 122578 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122579 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 122580 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 122581 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 122582 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 122583 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 122584 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| 122585 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 122586 | } }, |
| 122587 | }, .{ |
| 122588 | .required_features = .{ .avx, null, null, null }, |
| 122589 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122590 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 122591 | .patterns = &.{ |
| 122592 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122593 | }, |
| 122594 | .extra_temps = .{ |
| 122595 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122596 | .unused, |
| 122597 | .unused, |
| 122598 | .unused, |
| 122599 | .unused, |
| 122600 | .unused, |
| 122601 | .unused, |
| 122602 | .unused, |
| 122603 | .unused, |
| 122604 | .unused, |
| 122605 | .unused, |
| 122606 | }, |
| 122607 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122608 | .each = .{ .once = &.{ |
| 122609 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 122610 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 122611 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122612 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122613 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 122614 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122615 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| 122616 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122617 | } }, |
| 122618 | }, .{ |
| 122619 | .required_features = .{ .sse2, null, null, null }, |
| 122620 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122621 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 122622 | .patterns = &.{ |
| 122623 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 122624 | }, |
| 122625 | .extra_temps = .{ |
| 122626 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122627 | .unused, |
| 122628 | .unused, |
| 122629 | .unused, |
| 122630 | .unused, |
| 122631 | .unused, |
| 122632 | .unused, |
| 122633 | .unused, |
| 122634 | .unused, |
| 122635 | .unused, |
| 122636 | .unused, |
| 122637 | }, |
| 122638 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 122639 | .each = .{ .once = &.{ |
| 122640 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 122641 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122642 | .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122643 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122644 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 122645 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 122646 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122647 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 122648 | .{ ._, .p_w, .srl, .tmp0x, .ui(8), ._, ._ }, |
| 122649 | .{ ._, .p_b, .add, .dst0x, .tmp0x, ._, ._ }, |
| 122650 | } }, |
| 122651 | }, .{ |
| 122652 | .required_features = .{ .avx, null, null, null }, |
| 122653 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122654 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 122655 | .patterns = &.{ |
| 122656 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122657 | }, |
| 122658 | .extra_temps = .{ |
| 122659 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 122660 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 122661 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122662 | .unused, |
| 122663 | .unused, |
| 122664 | .unused, |
| 122665 | .unused, |
| 122666 | .unused, |
| 122667 | .unused, |
| 122668 | .unused, |
| 122669 | .unused, |
| 122670 | }, |
| 122671 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122672 | .each = .{ .once = &.{ |
| 122673 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122674 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| 122675 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122676 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122677 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122678 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122679 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 122680 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122681 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 122682 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122683 | } }, |
| 122684 | }, .{ |
| 122685 | .required_features = .{ .sse2, null, null, null }, |
| 122686 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122687 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 122688 | .patterns = &.{ |
| 122689 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 122690 | }, |
| 122691 | .extra_temps = .{ |
| 122692 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 122693 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 122694 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122695 | .unused, |
| 122696 | .unused, |
| 122697 | .unused, |
| 122698 | .unused, |
| 122699 | .unused, |
| 122700 | .unused, |
| 122701 | .unused, |
| 122702 | .unused, |
| 122703 | }, |
| 122704 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 122705 | .each = .{ .once = &.{ |
| 122706 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122707 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| 122708 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122709 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 122710 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122711 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 122712 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 122713 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 122714 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 122715 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 122716 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| 122717 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 122718 | } }, |
| 122719 | }, .{ |
| 122720 | .required_features = .{ .avx2, null, null, null }, |
| 122721 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122722 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 122723 | .patterns = &.{ |
| 122724 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122725 | }, |
| 122726 | .extra_temps = .{ |
| 122727 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122728 | .unused, |
| 122729 | .unused, |
| 122730 | .unused, |
| 122731 | .unused, |
| 122732 | .unused, |
| 122733 | .unused, |
| 122734 | .unused, |
| 122735 | .unused, |
| 122736 | .unused, |
| 122737 | .unused, |
| 122738 | }, |
| 122739 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122740 | .each = .{ .once = &.{ |
| 122741 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 122742 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 122743 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122744 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122745 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122746 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122747 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 122748 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122749 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| 122750 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122751 | } }, |
| 122752 | }, .{ |
| 122753 | .required_features = .{ .avx, null, null, null }, |
| 122754 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122755 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 122756 | .patterns = &.{ |
| 122757 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122758 | }, |
| 122759 | .extra_temps = .{ |
| 122760 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122761 | .unused, |
| 122762 | .unused, |
| 122763 | .unused, |
| 122764 | .unused, |
| 122765 | .unused, |
| 122766 | .unused, |
| 122767 | .unused, |
| 122768 | .unused, |
| 122769 | .unused, |
| 122770 | .unused, |
| 122771 | }, |
| 122772 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122773 | .each = .{ .once = &.{ |
| 122774 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 122775 | .{ ._, .vp_b, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 122776 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122777 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122778 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122779 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122780 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 122781 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122782 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| 122783 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122784 | } }, |
| 122785 | }, .{ |
| 122786 | .required_features = .{ .avx2, null, null, null }, |
| 122787 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122788 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 122789 | .patterns = &.{ |
| 122790 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122791 | }, |
| 122792 | .extra_temps = .{ |
| 122793 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 122794 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 122795 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122796 | .unused, |
| 122797 | .unused, |
| 122798 | .unused, |
| 122799 | .unused, |
| 122800 | .unused, |
| 122801 | .unused, |
| 122802 | .unused, |
| 122803 | .unused, |
| 122804 | }, |
| 122805 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122806 | .each = .{ .once = &.{ |
| 122807 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122808 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| 122809 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 122810 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122811 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122812 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122813 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122814 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122815 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 122816 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122817 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 122818 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122819 | } }, |
| 122820 | }, .{ |
| 122821 | .required_features = .{ .avx, null, null, null }, |
| 122822 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122823 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 122824 | .patterns = &.{ |
| 122825 | .{ .src = .{ .to_sse, .none, .none } }, |
| 122826 | }, |
| 122827 | .extra_temps = .{ |
| 122828 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 122829 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 122830 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122831 | .unused, |
| 122832 | .unused, |
| 122833 | .unused, |
| 122834 | .unused, |
| 122835 | .unused, |
| 122836 | .unused, |
| 122837 | .unused, |
| 122838 | .unused, |
| 122839 | }, |
| 122840 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122841 | .each = .{ .once = &.{ |
| 122842 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122843 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| 122844 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 122845 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122846 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122847 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122848 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122849 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122850 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 122851 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122852 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 122853 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122854 | } }, |
| 122855 | }, .{ |
| 122856 | .required_features = .{ .avx512f, null, null, null }, |
| 122857 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122858 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| 122859 | .patterns = &.{ |
| 122860 | .{ .src = .{ .to_mem, .none, .none } }, |
| 122861 | }, |
| 122862 | .extra_temps = .{ |
| 122863 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122864 | .unused, |
| 122865 | .unused, |
| 122866 | .unused, |
| 122867 | .unused, |
| 122868 | .unused, |
| 122869 | .unused, |
| 122870 | .unused, |
| 122871 | .unused, |
| 122872 | .unused, |
| 122873 | .unused, |
| 122874 | }, |
| 122875 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122876 | .each = .{ .once = &.{ |
| 122877 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 122878 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| 122879 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 122880 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122881 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122882 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122883 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122884 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122885 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 122886 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122887 | .{ ._, .vp_w, .srl, .tmp0x, .dst0x, .ui(8), ._ }, |
| 122888 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 122889 | } }, |
| 122890 | }, .{ |
| 122891 | .required_features = .{ .avx512f, null, null, null }, |
| 122892 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122893 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| 122894 | .patterns = &.{ |
| 122895 | .{ .src = .{ .to_mem, .none, .none } }, |
| 122896 | }, |
| 122897 | .extra_temps = .{ |
| 122898 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 122899 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 122900 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 122901 | .unused, |
| 122902 | .unused, |
| 122903 | .unused, |
| 122904 | .unused, |
| 122905 | .unused, |
| 122906 | .unused, |
| 122907 | .unused, |
| 122908 | .unused, |
| 122909 | }, |
| 122910 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 122911 | .each = .{ .once = &.{ |
| 122912 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 122913 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 122914 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| 122915 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 122916 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| 122917 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| 122918 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 122919 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122920 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122921 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122922 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122923 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122924 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 122925 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122926 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 122927 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 122928 | } }, |
| 122929 | }, .{ |
| 122930 | .required_features = .{ .avx2, null, null, null }, |
| 122931 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122932 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 122933 | .patterns = &.{ |
| 122934 | .{ .src = .{ .to_mem, .none, .none } }, |
| 122935 | }, |
| 122936 | .extra_temps = .{ |
| 122937 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 122938 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122939 | .unused, |
| 122940 | .unused, |
| 122941 | .unused, |
| 122942 | .unused, |
| 122943 | .unused, |
| 122944 | .unused, |
| 122945 | .unused, |
| 122946 | .unused, |
| 122947 | .unused, |
| 122948 | }, |
| 122949 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 122950 | .each = .{ .once = &.{ |
| 122951 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 122952 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| 122953 | .{ .@"0:", .vp_b, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 122954 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 122955 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 122956 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 122957 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 122958 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122959 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 122960 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122961 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 122962 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 122963 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 122964 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| 122965 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 122966 | } }, |
| 122967 | }, .{ |
| 122968 | .required_features = .{ .avx, null, null, null }, |
| 122969 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 122970 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 122971 | .patterns = &.{ |
| 122972 | .{ .src = .{ .to_mem, .none, .none } }, |
| 122973 | }, |
| 122974 | .extra_temps = .{ |
| 122975 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 122976 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 122977 | .unused, |
| 122978 | .unused, |
| 122979 | .unused, |
| 122980 | .unused, |
| 122981 | .unused, |
| 122982 | .unused, |
| 122983 | .unused, |
| 122984 | .unused, |
| 122985 | .unused, |
| 122986 | }, |
| 122987 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 122988 | .each = .{ .once = &.{ |
| 122989 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 122990 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 122991 | .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 122992 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 122993 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 122994 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 122995 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 122996 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 122997 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 122998 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 122999 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 123000 | .{ ._, .vp_w, .srl, .tmp1x, .dst0x, .ui(8), ._ }, |
| 123001 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 123002 | } }, |
| 123003 | }, .{ |
| 123004 | .required_features = .{ .sse2, null, null, null }, |
| 123005 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123006 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 123007 | .patterns = &.{ |
| 123008 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123009 | }, |
| 123010 | .extra_temps = .{ |
| 123011 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123012 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 123013 | .unused, |
| 123014 | .unused, |
| 123015 | .unused, |
| 123016 | .unused, |
| 123017 | .unused, |
| 123018 | .unused, |
| 123019 | .unused, |
| 123020 | .unused, |
| 123021 | .unused, |
| 123022 | }, |
| 123023 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123024 | .each = .{ .once = &.{ |
| 123025 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 123026 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 123027 | .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 123028 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 123029 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123030 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123031 | .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ }, |
| 123032 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123033 | .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ }, |
| 123034 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| 123035 | .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ }, |
| 123036 | .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ }, |
| 123037 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| 123038 | .{ ._, .p_w, .srl, .tmp1x, .ui(8), ._, ._ }, |
| 123039 | .{ ._, .p_b, .add, .dst0x, .tmp1x, ._, ._ }, |
| 123040 | } }, |
| 123041 | }, .{ |
| 123042 | .required_features = .{ .avx512f, null, null, null }, |
| 123043 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123044 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .byte } }, .any, .any }, |
| 123045 | .patterns = &.{ |
| 123046 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123047 | }, |
| 123048 | .extra_temps = .{ |
| 123049 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123050 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123051 | .{ .type = .vector_32_u8, .kind = .{ .rc = .sse } }, |
| 123052 | .unused, |
| 123053 | .unused, |
| 123054 | .unused, |
| 123055 | .unused, |
| 123056 | .unused, |
| 123057 | .unused, |
| 123058 | .unused, |
| 123059 | .unused, |
| 123060 | }, |
| 123061 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123062 | .each = .{ .once = &.{ |
| 123063 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123064 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 123065 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 123066 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| 123067 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 123068 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| 123069 | .{ .@"0:", .vp_b, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| 123070 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 123071 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| 123072 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123073 | .{ ._, .vp_b, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| 123074 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 123075 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123076 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123077 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123078 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123079 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123080 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123081 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123082 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 123083 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123084 | } }, |
| 123085 | }, .{ |
| 123086 | .required_features = .{ .avx2, null, null, null }, |
| 123087 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123088 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .byte } }, .any, .any }, |
| 123089 | .patterns = &.{ |
| 123090 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123091 | }, |
| 123092 | .extra_temps = .{ |
| 123093 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123094 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123095 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 123096 | .unused, |
| 123097 | .unused, |
| 123098 | .unused, |
| 123099 | .unused, |
| 123100 | .unused, |
| 123101 | .unused, |
| 123102 | .unused, |
| 123103 | .unused, |
| 123104 | }, |
| 123105 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123106 | .each = .{ .once = &.{ |
| 123107 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123108 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 123109 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| 123110 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| 123111 | .{ .@"0:", .vp_b, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 123112 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 123113 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123114 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 123115 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123116 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123117 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123118 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123119 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123120 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123121 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123122 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 123123 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123124 | } }, |
| 123125 | }, .{ |
| 123126 | .required_features = .{ .avx, null, null, null }, |
| 123127 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123128 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 123129 | .patterns = &.{ |
| 123130 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123131 | }, |
| 123132 | .extra_temps = .{ |
| 123133 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123134 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123135 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 123136 | .unused, |
| 123137 | .unused, |
| 123138 | .unused, |
| 123139 | .unused, |
| 123140 | .unused, |
| 123141 | .unused, |
| 123142 | .unused, |
| 123143 | .unused, |
| 123144 | }, |
| 123145 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123146 | .each = .{ .once = &.{ |
| 123147 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123148 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 123149 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| 123150 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| 123151 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 123152 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123153 | .{ .@"0:", .vp_b, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 123154 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 123155 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123156 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123157 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123158 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123159 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123160 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123161 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123162 | .{ ._, .vp_w, .srl, .tmp2x, .dst0x, .ui(8), ._ }, |
| 123163 | .{ ._, .vp_b, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123164 | } }, |
| 123165 | }, .{ |
| 123166 | .required_features = .{ .sse2, null, null, null }, |
| 123167 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123168 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .byte } }, .any, .any }, |
| 123169 | .patterns = &.{ |
| 123170 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123171 | }, |
| 123172 | .extra_temps = .{ |
| 123173 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123174 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123175 | .{ .type = .vector_16_u8, .kind = .{ .rc = .sse } }, |
| 123176 | .unused, |
| 123177 | .unused, |
| 123178 | .unused, |
| 123179 | .unused, |
| 123180 | .unused, |
| 123181 | .unused, |
| 123182 | .unused, |
| 123183 | .unused, |
| 123184 | }, |
| 123185 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123186 | .each = .{ .once = &.{ |
| 123187 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123188 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 123189 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 123190 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| 123191 | .{ .@"0:", .p_b, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 123192 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 123193 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123194 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123195 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 123196 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123197 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 123198 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 123199 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 123200 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 123201 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 123202 | .{ ._, .p_w, .srl, .tmp2x, .ui(8), ._, ._ }, |
| 123203 | .{ ._, .p_b, .add, .dst0x, .tmp2x, ._, ._ }, |
| 123204 | } }, |
| 123205 | }, .{ |
| 123206 | .required_features = .{ .slow_incdec, null, null, null }, |
| 123207 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123208 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 123209 | .patterns = &.{ |
| 123210 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123211 | }, |
| 123212 | .extra_temps = .{ |
| 123213 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123214 | .unused, |
| 123215 | .unused, |
| 123216 | .unused, |
| 123217 | .unused, |
| 123218 | .unused, |
| 123219 | .unused, |
| 123220 | .unused, |
| 123221 | .unused, |
| 123222 | .unused, |
| 123223 | .unused, |
| 123224 | }, |
| 123225 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 123226 | .clobbers = .{ .eflags = true }, |
| 123227 | .each = .{ .once = &.{ |
| 123228 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 123229 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| 123230 | .{ .@"0:", ._, .add, .dst0b, .memi(.src0b, .tmp0), ._, ._ }, |
| 123231 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| 123232 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123233 | } }, |
| 123234 | }, .{ |
| 123235 | .dst_constraints = .{ .{ .int = .byte }, .any }, |
| 123236 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .byte, .is = .byte } }, .any, .any }, |
| 123237 | .patterns = &.{ |
| 123238 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123239 | }, |
| 123240 | .extra_temps = .{ |
| 123241 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123242 | .unused, |
| 123243 | .unused, |
| 123244 | .unused, |
| 123245 | .unused, |
| 123246 | .unused, |
| 123247 | .unused, |
| 123248 | .unused, |
| 123249 | .unused, |
| 123250 | .unused, |
| 123251 | .unused, |
| 123252 | }, |
| 123253 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 123254 | .clobbers = .{ .eflags = true }, |
| 123255 | .each = .{ .once = &.{ |
| 123256 | .{ ._, ._, .mov, .tmp0d, .sia(-2, .src0, .add_unaligned_size), ._, ._ }, |
| 123257 | .{ ._, ._, .movzx, .dst0d, .memad(.src0b, .add_unaligned_size, -1), ._, ._ }, |
| 123258 | .{ .@"0:", ._, .add, .dst0b, .memi(.src0b, .tmp0), ._, ._ }, |
| 123259 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| 123260 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| 123261 | } }, |
| 123262 | }, .{ |
| 123263 | .required_features = .{ .sse, null, null, null }, |
| 123264 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123265 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 123266 | .patterns = &.{ |
| 123267 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 123268 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 123269 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 123270 | }, |
| 123271 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 123272 | .each = .{ .once = &.{} }, |
| 123273 | }, .{ |
| 123274 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123275 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 123276 | .patterns = &.{ |
| 123277 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 123278 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 123279 | }, |
| 123280 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 123281 | .each = .{ .once = &.{} }, |
| 123282 | }, .{ |
| 123283 | .required_features = .{ .avx, null, null, null }, |
| 123284 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123285 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| 123286 | .patterns = &.{ |
| 123287 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123288 | }, |
| 123289 | .extra_temps = .{ |
| 123290 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123291 | .unused, |
| 123292 | .unused, |
| 123293 | .unused, |
| 123294 | .unused, |
| 123295 | .unused, |
| 123296 | .unused, |
| 123297 | .unused, |
| 123298 | .unused, |
| 123299 | .unused, |
| 123300 | .unused, |
| 123301 | }, |
| 123302 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123303 | .each = .{ .once = &.{ |
| 123304 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 123305 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 123306 | } }, |
| 123307 | }, .{ |
| 123308 | .required_features = .{ .sse2, null, null, null }, |
| 123309 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123310 | .src_constraints = .{ .{ .scalar_int = .{ .of = .dword, .is = .word } }, .any, .any }, |
| 123311 | .patterns = &.{ |
| 123312 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 123313 | }, |
| 123314 | .extra_temps = .{ |
| 123315 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123316 | .unused, |
| 123317 | .unused, |
| 123318 | .unused, |
| 123319 | .unused, |
| 123320 | .unused, |
| 123321 | .unused, |
| 123322 | .unused, |
| 123323 | .unused, |
| 123324 | .unused, |
| 123325 | .unused, |
| 123326 | }, |
| 123327 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 123328 | .each = .{ .once = &.{ |
| 123329 | .{ ._, ._dqa, .mov, .tmp0x, .src0x, ._, ._ }, |
| 123330 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 123331 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 123332 | } }, |
| 123333 | }, .{ |
| 123334 | .required_features = .{ .avx, null, null, null }, |
| 123335 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123336 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 123337 | .patterns = &.{ |
| 123338 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123339 | }, |
| 123340 | .extra_temps = .{ |
| 123341 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123342 | .unused, |
| 123343 | .unused, |
| 123344 | .unused, |
| 123345 | .unused, |
| 123346 | .unused, |
| 123347 | .unused, |
| 123348 | .unused, |
| 123349 | .unused, |
| 123350 | .unused, |
| 123351 | .unused, |
| 123352 | }, |
| 123353 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123354 | .each = .{ .once = &.{ |
| 123355 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 123356 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 123357 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 123358 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123359 | } }, |
| 123360 | }, .{ |
| 123361 | .required_features = .{ .sse2, null, null, null }, |
| 123362 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123363 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 123364 | .patterns = &.{ |
| 123365 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 123366 | }, |
| 123367 | .extra_temps = .{ |
| 123368 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123369 | .unused, |
| 123370 | .unused, |
| 123371 | .unused, |
| 123372 | .unused, |
| 123373 | .unused, |
| 123374 | .unused, |
| 123375 | .unused, |
| 123376 | .unused, |
| 123377 | .unused, |
| 123378 | .unused, |
| 123379 | }, |
| 123380 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 123381 | .each = .{ .once = &.{ |
| 123382 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 123383 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 123384 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 123385 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 123386 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 123387 | } }, |
| 123388 | }, .{ |
| 123389 | .required_features = .{ .avx, null, null, null }, |
| 123390 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123391 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 123392 | .patterns = &.{ |
| 123393 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123394 | }, |
| 123395 | .extra_temps = .{ |
| 123396 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123397 | .unused, |
| 123398 | .unused, |
| 123399 | .unused, |
| 123400 | .unused, |
| 123401 | .unused, |
| 123402 | .unused, |
| 123403 | .unused, |
| 123404 | .unused, |
| 123405 | .unused, |
| 123406 | .unused, |
| 123407 | }, |
| 123408 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123409 | .each = .{ .once = &.{ |
| 123410 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 123411 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 123412 | .{ ._, .vp_d, .srl, .tmp0x, .src0x, .ui(16), ._ }, |
| 123413 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123414 | } }, |
| 123415 | }, .{ |
| 123416 | .required_features = .{ .sse2, null, null, null }, |
| 123417 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123418 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 123419 | .patterns = &.{ |
| 123420 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 123421 | }, |
| 123422 | .extra_temps = .{ |
| 123423 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123424 | .unused, |
| 123425 | .unused, |
| 123426 | .unused, |
| 123427 | .unused, |
| 123428 | .unused, |
| 123429 | .unused, |
| 123430 | .unused, |
| 123431 | .unused, |
| 123432 | .unused, |
| 123433 | .unused, |
| 123434 | }, |
| 123435 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 123436 | .each = .{ .once = &.{ |
| 123437 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 123438 | .{ ._, .p_w, .add, .tmp0x, .src0x, ._, ._ }, |
| 123439 | .{ ._, .p_d, .srl, .dst0x, .ui(16), ._, ._ }, |
| 123440 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 123441 | } }, |
| 123442 | }, .{ |
| 123443 | .required_features = .{ .avx, null, null, null }, |
| 123444 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123445 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 123446 | .patterns = &.{ |
| 123447 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123448 | }, |
| 123449 | .extra_temps = .{ |
| 123450 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123451 | .unused, |
| 123452 | .unused, |
| 123453 | .unused, |
| 123454 | .unused, |
| 123455 | .unused, |
| 123456 | .unused, |
| 123457 | .unused, |
| 123458 | .unused, |
| 123459 | .unused, |
| 123460 | .unused, |
| 123461 | }, |
| 123462 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123463 | .each = .{ .once = &.{ |
| 123464 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 123465 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 123466 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123467 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123468 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 123469 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123470 | } }, |
| 123471 | }, .{ |
| 123472 | .required_features = .{ .sse2, null, null, null }, |
| 123473 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123474 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 123475 | .patterns = &.{ |
| 123476 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 123477 | }, |
| 123478 | .extra_temps = .{ |
| 123479 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123480 | .unused, |
| 123481 | .unused, |
| 123482 | .unused, |
| 123483 | .unused, |
| 123484 | .unused, |
| 123485 | .unused, |
| 123486 | .unused, |
| 123487 | .unused, |
| 123488 | .unused, |
| 123489 | .unused, |
| 123490 | }, |
| 123491 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 123492 | .each = .{ .once = &.{ |
| 123493 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 123494 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 123495 | .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123496 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 123497 | .{ ._, ._dqa, .mov, .tmp0x, .dst0x, ._, ._ }, |
| 123498 | .{ ._, .p_d, .srl, .tmp0x, .ui(16), ._, ._ }, |
| 123499 | .{ ._, .p_w, .add, .dst0x, .tmp0x, ._, ._ }, |
| 123500 | } }, |
| 123501 | }, .{ |
| 123502 | .required_features = .{ .avx, null, null, null }, |
| 123503 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123504 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 123505 | .patterns = &.{ |
| 123506 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123507 | }, |
| 123508 | .extra_temps = .{ |
| 123509 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 123510 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123511 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123512 | .unused, |
| 123513 | .unused, |
| 123514 | .unused, |
| 123515 | .unused, |
| 123516 | .unused, |
| 123517 | .unused, |
| 123518 | .unused, |
| 123519 | .unused, |
| 123520 | }, |
| 123521 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123522 | .each = .{ .once = &.{ |
| 123523 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123524 | .{ ._, .vp_, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| 123525 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123526 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123527 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123528 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123529 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123530 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123531 | } }, |
| 123532 | }, .{ |
| 123533 | .required_features = .{ .sse2, null, null, null }, |
| 123534 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123535 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 123536 | .patterns = &.{ |
| 123537 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 123538 | }, |
| 123539 | .extra_temps = .{ |
| 123540 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 123541 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123542 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123543 | .unused, |
| 123544 | .unused, |
| 123545 | .unused, |
| 123546 | .unused, |
| 123547 | .unused, |
| 123548 | .unused, |
| 123549 | .unused, |
| 123550 | .unused, |
| 123551 | }, |
| 123552 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 123553 | .each = .{ .once = &.{ |
| 123554 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123555 | .{ ._, .p_, .@"and", .dst0x, .lea(.tmp0x), ._, ._ }, |
| 123556 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123557 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| 123558 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123559 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| 123560 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 123561 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 123562 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| 123563 | } }, |
| 123564 | }, .{ |
| 123565 | .required_features = .{ .avx2, null, null, null }, |
| 123566 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123567 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 123568 | .patterns = &.{ |
| 123569 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123570 | }, |
| 123571 | .extra_temps = .{ |
| 123572 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123573 | .unused, |
| 123574 | .unused, |
| 123575 | .unused, |
| 123576 | .unused, |
| 123577 | .unused, |
| 123578 | .unused, |
| 123579 | .unused, |
| 123580 | .unused, |
| 123581 | .unused, |
| 123582 | .unused, |
| 123583 | }, |
| 123584 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123585 | .each = .{ .once = &.{ |
| 123586 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 123587 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 123588 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123589 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123590 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123591 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123592 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 123593 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123594 | } }, |
| 123595 | }, .{ |
| 123596 | .required_features = .{ .avx, null, null, null }, |
| 123597 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123598 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 123599 | .patterns = &.{ |
| 123600 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123601 | }, |
| 123602 | .extra_temps = .{ |
| 123603 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123604 | .unused, |
| 123605 | .unused, |
| 123606 | .unused, |
| 123607 | .unused, |
| 123608 | .unused, |
| 123609 | .unused, |
| 123610 | .unused, |
| 123611 | .unused, |
| 123612 | .unused, |
| 123613 | .unused, |
| 123614 | }, |
| 123615 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123616 | .each = .{ .once = &.{ |
| 123617 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 123618 | .{ ._, .vp_w, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 123619 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123620 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123621 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123622 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123623 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 123624 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123625 | } }, |
| 123626 | }, .{ |
| 123627 | .required_features = .{ .avx2, null, null, null }, |
| 123628 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123629 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 123630 | .patterns = &.{ |
| 123631 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123632 | }, |
| 123633 | .extra_temps = .{ |
| 123634 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 123635 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123636 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123637 | .unused, |
| 123638 | .unused, |
| 123639 | .unused, |
| 123640 | .unused, |
| 123641 | .unused, |
| 123642 | .unused, |
| 123643 | .unused, |
| 123644 | .unused, |
| 123645 | }, |
| 123646 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123647 | .each = .{ .once = &.{ |
| 123648 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123649 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| 123650 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 123651 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123652 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123653 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123654 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123655 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123656 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123657 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123658 | } }, |
| 123659 | }, .{ |
| 123660 | .required_features = .{ .avx, null, null, null }, |
| 123661 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123662 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 123663 | .patterns = &.{ |
| 123664 | .{ .src = .{ .to_sse, .none, .none } }, |
| 123665 | }, |
| 123666 | .extra_temps = .{ |
| 123667 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 123668 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123669 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123670 | .unused, |
| 123671 | .unused, |
| 123672 | .unused, |
| 123673 | .unused, |
| 123674 | .unused, |
| 123675 | .unused, |
| 123676 | .unused, |
| 123677 | .unused, |
| 123678 | }, |
| 123679 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123680 | .each = .{ .once = &.{ |
| 123681 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123682 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| 123683 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 123684 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123685 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123686 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123687 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123688 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123689 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123690 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123691 | } }, |
| 123692 | }, .{ |
| 123693 | .required_features = .{ .avx512f, null, null, null }, |
| 123694 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123695 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| 123696 | .patterns = &.{ |
| 123697 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123698 | }, |
| 123699 | .extra_temps = .{ |
| 123700 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123701 | .unused, |
| 123702 | .unused, |
| 123703 | .unused, |
| 123704 | .unused, |
| 123705 | .unused, |
| 123706 | .unused, |
| 123707 | .unused, |
| 123708 | .unused, |
| 123709 | .unused, |
| 123710 | .unused, |
| 123711 | }, |
| 123712 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123713 | .each = .{ .once = &.{ |
| 123714 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 123715 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| 123716 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 123717 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123718 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123719 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123720 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123721 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123722 | .{ ._, .vp_d, .srl, .tmp0x, .dst0x, .ui(16), ._ }, |
| 123723 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 123724 | } }, |
| 123725 | }, .{ |
| 123726 | .required_features = .{ .avx512f, null, null, null }, |
| 123727 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123728 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| 123729 | .patterns = &.{ |
| 123730 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123731 | }, |
| 123732 | .extra_temps = .{ |
| 123733 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 123734 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123735 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 123736 | .unused, |
| 123737 | .unused, |
| 123738 | .unused, |
| 123739 | .unused, |
| 123740 | .unused, |
| 123741 | .unused, |
| 123742 | .unused, |
| 123743 | .unused, |
| 123744 | }, |
| 123745 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 123746 | .each = .{ .once = &.{ |
| 123747 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123748 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 123749 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| 123750 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 123751 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| 123752 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| 123753 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 123754 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123755 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123756 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123757 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123758 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123759 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123760 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123761 | } }, |
| 123762 | }, .{ |
| 123763 | .required_features = .{ .avx2, null, null, null }, |
| 123764 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123765 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 123766 | .patterns = &.{ |
| 123767 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123768 | }, |
| 123769 | .extra_temps = .{ |
| 123770 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123771 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123772 | .unused, |
| 123773 | .unused, |
| 123774 | .unused, |
| 123775 | .unused, |
| 123776 | .unused, |
| 123777 | .unused, |
| 123778 | .unused, |
| 123779 | .unused, |
| 123780 | .unused, |
| 123781 | }, |
| 123782 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123783 | .each = .{ .once = &.{ |
| 123784 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 123785 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| 123786 | .{ .@"0:", .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 123787 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 123788 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123789 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 123790 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 123791 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123792 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 123793 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123794 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 123795 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 123796 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 123797 | } }, |
| 123798 | }, .{ |
| 123799 | .required_features = .{ .avx, null, null, null }, |
| 123800 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123801 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 123802 | .patterns = &.{ |
| 123803 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123804 | }, |
| 123805 | .extra_temps = .{ |
| 123806 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123807 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123808 | .unused, |
| 123809 | .unused, |
| 123810 | .unused, |
| 123811 | .unused, |
| 123812 | .unused, |
| 123813 | .unused, |
| 123814 | .unused, |
| 123815 | .unused, |
| 123816 | .unused, |
| 123817 | }, |
| 123818 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123819 | .each = .{ .once = &.{ |
| 123820 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 123821 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 123822 | .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 123823 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 123824 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123825 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123826 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 123827 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123828 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 123829 | .{ ._, .vp_d, .srl, .tmp1x, .dst0x, .ui(16), ._ }, |
| 123830 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 123831 | } }, |
| 123832 | }, .{ |
| 123833 | .required_features = .{ .sse2, null, null, null }, |
| 123834 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123835 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 123836 | .patterns = &.{ |
| 123837 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123838 | }, |
| 123839 | .extra_temps = .{ |
| 123840 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123841 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123842 | .unused, |
| 123843 | .unused, |
| 123844 | .unused, |
| 123845 | .unused, |
| 123846 | .unused, |
| 123847 | .unused, |
| 123848 | .unused, |
| 123849 | .unused, |
| 123850 | .unused, |
| 123851 | }, |
| 123852 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123853 | .each = .{ .once = &.{ |
| 123854 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 123855 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 123856 | .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 123857 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 123858 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123859 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123860 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| 123861 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123862 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| 123863 | .{ ._, ._dqa, .mov, .tmp1x, .dst0x, ._, ._ }, |
| 123864 | .{ ._, .p_d, .srl, .tmp1x, .ui(16), ._, ._ }, |
| 123865 | .{ ._, .p_w, .add, .dst0x, .tmp1x, ._, ._ }, |
| 123866 | } }, |
| 123867 | }, .{ |
| 123868 | .required_features = .{ .avx512f, null, null, null }, |
| 123869 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123870 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .word } }, .any, .any }, |
| 123871 | .patterns = &.{ |
| 123872 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123873 | }, |
| 123874 | .extra_temps = .{ |
| 123875 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123876 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123877 | .{ .type = .vector_16_u16, .kind = .{ .rc = .sse } }, |
| 123878 | .unused, |
| 123879 | .unused, |
| 123880 | .unused, |
| 123881 | .unused, |
| 123882 | .unused, |
| 123883 | .unused, |
| 123884 | .unused, |
| 123885 | .unused, |
| 123886 | }, |
| 123887 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123888 | .each = .{ .once = &.{ |
| 123889 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123890 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 123891 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 123892 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| 123893 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 123894 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| 123895 | .{ .@"0:", .vp_w, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| 123896 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 123897 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| 123898 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123899 | .{ ._, .vp_w, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| 123900 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 123901 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123902 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123903 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123904 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123905 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123906 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123907 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123908 | } }, |
| 123909 | }, .{ |
| 123910 | .required_features = .{ .avx2, null, null, null }, |
| 123911 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123912 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .word } }, .any, .any }, |
| 123913 | .patterns = &.{ |
| 123914 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123915 | }, |
| 123916 | .extra_temps = .{ |
| 123917 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123918 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123919 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123920 | .unused, |
| 123921 | .unused, |
| 123922 | .unused, |
| 123923 | .unused, |
| 123924 | .unused, |
| 123925 | .unused, |
| 123926 | .unused, |
| 123927 | .unused, |
| 123928 | }, |
| 123929 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123930 | .each = .{ .once = &.{ |
| 123931 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123932 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 123933 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| 123934 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| 123935 | .{ .@"0:", .vp_w, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 123936 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 123937 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123938 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 123939 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123940 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123941 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123942 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123943 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123944 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123945 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123946 | } }, |
| 123947 | }, .{ |
| 123948 | .required_features = .{ .avx, null, null, null }, |
| 123949 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123950 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 123951 | .patterns = &.{ |
| 123952 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123953 | }, |
| 123954 | .extra_temps = .{ |
| 123955 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123956 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123957 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123958 | .unused, |
| 123959 | .unused, |
| 123960 | .unused, |
| 123961 | .unused, |
| 123962 | .unused, |
| 123963 | .unused, |
| 123964 | .unused, |
| 123965 | .unused, |
| 123966 | }, |
| 123967 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 123968 | .each = .{ .once = &.{ |
| 123969 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 123970 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 123971 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| 123972 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| 123973 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 123974 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123975 | .{ .@"0:", .vp_w, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 123976 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 123977 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 123978 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 123979 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123980 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 123981 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123982 | .{ ._, .vp_d, .srl, .tmp2x, .dst0x, .ui(16), ._ }, |
| 123983 | .{ ._, .vp_w, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 123984 | } }, |
| 123985 | }, .{ |
| 123986 | .required_features = .{ .sse2, null, null, null }, |
| 123987 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 123988 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .word } }, .any, .any }, |
| 123989 | .patterns = &.{ |
| 123990 | .{ .src = .{ .to_mem, .none, .none } }, |
| 123991 | }, |
| 123992 | .extra_temps = .{ |
| 123993 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 123994 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 123995 | .{ .type = .vector_8_u16, .kind = .{ .rc = .sse } }, |
| 123996 | .unused, |
| 123997 | .unused, |
| 123998 | .unused, |
| 123999 | .unused, |
| 124000 | .unused, |
| 124001 | .unused, |
| 124002 | .unused, |
| 124003 | .unused, |
| 124004 | }, |
| 124005 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124006 | .each = .{ .once = &.{ |
| 124007 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124008 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 124009 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 124010 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| 124011 | .{ .@"0:", .p_w, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 124012 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 124013 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124014 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124015 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| 124016 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124017 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| 124018 | .{ ._, ._dqa, .mov, .tmp2x, .dst0x, ._, ._ }, |
| 124019 | .{ ._, .p_d, .srl, .tmp2x, .ui(16), ._, ._ }, |
| 124020 | .{ ._, .p_w, .add, .dst0x, .tmp2x, ._, ._ }, |
| 124021 | } }, |
| 124022 | }, .{ |
| 124023 | .dst_constraints = .{ .{ .int = .word }, .any }, |
| 124024 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .word, .is = .word } }, .any, .any }, |
| 124025 | .patterns = &.{ |
| 124026 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124027 | }, |
| 124028 | .extra_temps = .{ |
| 124029 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124030 | .unused, |
| 124031 | .unused, |
| 124032 | .unused, |
| 124033 | .unused, |
| 124034 | .unused, |
| 124035 | .unused, |
| 124036 | .unused, |
| 124037 | .unused, |
| 124038 | .unused, |
| 124039 | .unused, |
| 124040 | }, |
| 124041 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 124042 | .clobbers = .{ .eflags = true }, |
| 124043 | .each = .{ .once = &.{ |
| 124044 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| 124045 | .{ ._, ._, .movzx, .dst0d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| 124046 | .{ .@"0:", ._, .add, .dst0w, .memi(.src0w, .tmp0), ._, ._ }, |
| 124047 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| 124048 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124049 | } }, |
| 124050 | }, .{ |
| 124051 | .required_features = .{ .sse, null, null, null }, |
| 124052 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124053 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 124054 | .patterns = &.{ |
| 124055 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 124056 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 124057 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 124058 | }, |
| 124059 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 124060 | .each = .{ .once = &.{} }, |
| 124061 | }, .{ |
| 124062 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124063 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 124064 | .patterns = &.{ |
| 124065 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 124066 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 124067 | }, |
| 124068 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 124069 | .each = .{ .once = &.{} }, |
| 124070 | }, .{ |
| 124071 | .required_features = .{ .avx, null, null, null }, |
| 124072 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124073 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| 124074 | .patterns = &.{ |
| 124075 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124076 | }, |
| 124077 | .extra_temps = .{ |
| 124078 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124079 | .unused, |
| 124080 | .unused, |
| 124081 | .unused, |
| 124082 | .unused, |
| 124083 | .unused, |
| 124084 | .unused, |
| 124085 | .unused, |
| 124086 | .unused, |
| 124087 | .unused, |
| 124088 | .unused, |
| 124089 | }, |
| 124090 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124091 | .each = .{ .once = &.{ |
| 124092 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124093 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124094 | } }, |
| 124095 | }, .{ |
| 124096 | .required_features = .{ .sse2, null, null, null }, |
| 124097 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124098 | .src_constraints = .{ .{ .scalar_int = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| 124099 | .patterns = &.{ |
| 124100 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 124101 | }, |
| 124102 | .extra_temps = .{ |
| 124103 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124104 | .unused, |
| 124105 | .unused, |
| 124106 | .unused, |
| 124107 | .unused, |
| 124108 | .unused, |
| 124109 | .unused, |
| 124110 | .unused, |
| 124111 | .unused, |
| 124112 | .unused, |
| 124113 | .unused, |
| 124114 | }, |
| 124115 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 124116 | .each = .{ .once = &.{ |
| 124117 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124118 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124119 | } }, |
| 124120 | }, .{ |
| 124121 | .required_features = .{ .avx, null, null, null }, |
| 124122 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124123 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 124124 | .patterns = &.{ |
| 124125 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124126 | }, |
| 124127 | .extra_temps = .{ |
| 124128 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124129 | .unused, |
| 124130 | .unused, |
| 124131 | .unused, |
| 124132 | .unused, |
| 124133 | .unused, |
| 124134 | .unused, |
| 124135 | .unused, |
| 124136 | .unused, |
| 124137 | .unused, |
| 124138 | .unused, |
| 124139 | }, |
| 124140 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124141 | .each = .{ .once = &.{ |
| 124142 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124143 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124144 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124145 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124146 | } }, |
| 124147 | }, .{ |
| 124148 | .required_features = .{ .sse2, null, null, null }, |
| 124149 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124150 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 124151 | .patterns = &.{ |
| 124152 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 124153 | }, |
| 124154 | .extra_temps = .{ |
| 124155 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124156 | .unused, |
| 124157 | .unused, |
| 124158 | .unused, |
| 124159 | .unused, |
| 124160 | .unused, |
| 124161 | .unused, |
| 124162 | .unused, |
| 124163 | .unused, |
| 124164 | .unused, |
| 124165 | .unused, |
| 124166 | }, |
| 124167 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 124168 | .each = .{ .once = &.{ |
| 124169 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124170 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124171 | .{ ._, .p_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124172 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124173 | } }, |
| 124174 | }, .{ |
| 124175 | .required_features = .{ .avx, null, null, null }, |
| 124176 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124177 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 124178 | .patterns = &.{ |
| 124179 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124180 | }, |
| 124181 | .extra_temps = .{ |
| 124182 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124183 | .unused, |
| 124184 | .unused, |
| 124185 | .unused, |
| 124186 | .unused, |
| 124187 | .unused, |
| 124188 | .unused, |
| 124189 | .unused, |
| 124190 | .unused, |
| 124191 | .unused, |
| 124192 | .unused, |
| 124193 | }, |
| 124194 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124195 | .each = .{ .once = &.{ |
| 124196 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124197 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124198 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124199 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124200 | } }, |
| 124201 | }, .{ |
| 124202 | .required_features = .{ .sse2, null, null, null }, |
| 124203 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124204 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 124205 | .patterns = &.{ |
| 124206 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 124207 | }, |
| 124208 | .extra_temps = .{ |
| 124209 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124210 | .unused, |
| 124211 | .unused, |
| 124212 | .unused, |
| 124213 | .unused, |
| 124214 | .unused, |
| 124215 | .unused, |
| 124216 | .unused, |
| 124217 | .unused, |
| 124218 | .unused, |
| 124219 | .unused, |
| 124220 | }, |
| 124221 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 124222 | .each = .{ .once = &.{ |
| 124223 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124224 | .{ ._, .p_d, .add, .tmp0x, .src0x, ._, ._ }, |
| 124225 | .{ ._, .p_d, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 124226 | .{ ._, .p_d, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124227 | } }, |
| 124228 | }, .{ |
| 124229 | .required_features = .{ .avx2, null, null, null }, |
| 124230 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124231 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 124232 | .patterns = &.{ |
| 124233 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124234 | }, |
| 124235 | .extra_temps = .{ |
| 124236 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124237 | .unused, |
| 124238 | .unused, |
| 124239 | .unused, |
| 124240 | .unused, |
| 124241 | .unused, |
| 124242 | .unused, |
| 124243 | .unused, |
| 124244 | .unused, |
| 124245 | .unused, |
| 124246 | .unused, |
| 124247 | }, |
| 124248 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124249 | .each = .{ .once = &.{ |
| 124250 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 124251 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124252 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124253 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124254 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124255 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124256 | } }, |
| 124257 | }, .{ |
| 124258 | .required_features = .{ .avx, null, null, null }, |
| 124259 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124260 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 124261 | .patterns = &.{ |
| 124262 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124263 | }, |
| 124264 | .extra_temps = .{ |
| 124265 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124266 | .unused, |
| 124267 | .unused, |
| 124268 | .unused, |
| 124269 | .unused, |
| 124270 | .unused, |
| 124271 | .unused, |
| 124272 | .unused, |
| 124273 | .unused, |
| 124274 | .unused, |
| 124275 | .unused, |
| 124276 | }, |
| 124277 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124278 | .each = .{ .once = &.{ |
| 124279 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 124280 | .{ ._, .vp_d, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124281 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124282 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124283 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124284 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124285 | } }, |
| 124286 | }, .{ |
| 124287 | .required_features = .{ .avx2, null, null, null }, |
| 124288 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124289 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 124290 | .patterns = &.{ |
| 124291 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124292 | }, |
| 124293 | .extra_temps = .{ |
| 124294 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 124295 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 124296 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124297 | .unused, |
| 124298 | .unused, |
| 124299 | .unused, |
| 124300 | .unused, |
| 124301 | .unused, |
| 124302 | .unused, |
| 124303 | .unused, |
| 124304 | .unused, |
| 124305 | }, |
| 124306 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124307 | .each = .{ .once = &.{ |
| 124308 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124309 | .{ ._, .vp_, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| 124310 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 124311 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124312 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124313 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124314 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124315 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124316 | } }, |
| 124317 | }, .{ |
| 124318 | .required_features = .{ .avx, null, null, null }, |
| 124319 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124320 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 124321 | .patterns = &.{ |
| 124322 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124323 | }, |
| 124324 | .extra_temps = .{ |
| 124325 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 124326 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 124327 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124328 | .unused, |
| 124329 | .unused, |
| 124330 | .unused, |
| 124331 | .unused, |
| 124332 | .unused, |
| 124333 | .unused, |
| 124334 | .unused, |
| 124335 | .unused, |
| 124336 | }, |
| 124337 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124338 | .each = .{ .once = &.{ |
| 124339 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124340 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| 124341 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 124342 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124343 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124344 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124345 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124346 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124347 | } }, |
| 124348 | }, .{ |
| 124349 | .required_features = .{ .avx512f, null, null, null }, |
| 124350 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124351 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| 124352 | .patterns = &.{ |
| 124353 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124354 | }, |
| 124355 | .extra_temps = .{ |
| 124356 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124357 | .unused, |
| 124358 | .unused, |
| 124359 | .unused, |
| 124360 | .unused, |
| 124361 | .unused, |
| 124362 | .unused, |
| 124363 | .unused, |
| 124364 | .unused, |
| 124365 | .unused, |
| 124366 | .unused, |
| 124367 | }, |
| 124368 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124369 | .each = .{ .once = &.{ |
| 124370 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 124371 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| 124372 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 124373 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124374 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124375 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124376 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124377 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124378 | } }, |
| 124379 | }, .{ |
| 124380 | .required_features = .{ .avx512f, null, null, null }, |
| 124381 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124382 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| 124383 | .patterns = &.{ |
| 124384 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124385 | }, |
| 124386 | .extra_temps = .{ |
| 124387 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 124388 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 124389 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 124390 | .unused, |
| 124391 | .unused, |
| 124392 | .unused, |
| 124393 | .unused, |
| 124394 | .unused, |
| 124395 | .unused, |
| 124396 | .unused, |
| 124397 | .unused, |
| 124398 | }, |
| 124399 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124400 | .each = .{ .once = &.{ |
| 124401 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124402 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 124403 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| 124404 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 124405 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| 124406 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| 124407 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 124408 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124409 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124410 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124411 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124412 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124413 | } }, |
| 124414 | }, .{ |
| 124415 | .required_features = .{ .avx2, null, null, null }, |
| 124416 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124417 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 124418 | .patterns = &.{ |
| 124419 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124420 | }, |
| 124421 | .extra_temps = .{ |
| 124422 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124423 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124424 | .unused, |
| 124425 | .unused, |
| 124426 | .unused, |
| 124427 | .unused, |
| 124428 | .unused, |
| 124429 | .unused, |
| 124430 | .unused, |
| 124431 | .unused, |
| 124432 | .unused, |
| 124433 | }, |
| 124434 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124435 | .each = .{ .once = &.{ |
| 124436 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 124437 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| 124438 | .{ .@"0:", .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 124439 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 124440 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124441 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 124442 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124443 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124444 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124445 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124446 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124447 | } }, |
| 124448 | }, .{ |
| 124449 | .required_features = .{ .avx, null, null, null }, |
| 124450 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124451 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 124452 | .patterns = &.{ |
| 124453 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124454 | }, |
| 124455 | .extra_temps = .{ |
| 124456 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124457 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124458 | .unused, |
| 124459 | .unused, |
| 124460 | .unused, |
| 124461 | .unused, |
| 124462 | .unused, |
| 124463 | .unused, |
| 124464 | .unused, |
| 124465 | .unused, |
| 124466 | .unused, |
| 124467 | }, |
| 124468 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124469 | .each = .{ .once = &.{ |
| 124470 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 124471 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 124472 | .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 124473 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 124474 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124475 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124476 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124477 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124478 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124479 | } }, |
| 124480 | }, .{ |
| 124481 | .required_features = .{ .sse2, null, null, null }, |
| 124482 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124483 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 124484 | .patterns = &.{ |
| 124485 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124486 | }, |
| 124487 | .extra_temps = .{ |
| 124488 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124489 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124490 | .unused, |
| 124491 | .unused, |
| 124492 | .unused, |
| 124493 | .unused, |
| 124494 | .unused, |
| 124495 | .unused, |
| 124496 | .unused, |
| 124497 | .unused, |
| 124498 | .unused, |
| 124499 | }, |
| 124500 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124501 | .each = .{ .once = &.{ |
| 124502 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 124503 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 124504 | .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 124505 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 124506 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124507 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124508 | .{ ._, .p_d, .add, .dst0x, .tmp1x, ._, ._ }, |
| 124509 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124510 | .{ ._, .p_d, .add, .dst0x, .tmp1x, ._, ._ }, |
| 124511 | } }, |
| 124512 | }, .{ |
| 124513 | .required_features = .{ .avx512f, null, null, null }, |
| 124514 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124515 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| 124516 | .patterns = &.{ |
| 124517 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124518 | }, |
| 124519 | .extra_temps = .{ |
| 124520 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124521 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 124522 | .{ .type = .vector_8_u32, .kind = .{ .rc = .sse } }, |
| 124523 | .unused, |
| 124524 | .unused, |
| 124525 | .unused, |
| 124526 | .unused, |
| 124527 | .unused, |
| 124528 | .unused, |
| 124529 | .unused, |
| 124530 | .unused, |
| 124531 | }, |
| 124532 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124533 | .each = .{ .once = &.{ |
| 124534 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124535 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 124536 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 124537 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| 124538 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 124539 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| 124540 | .{ .@"0:", .vp_d, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| 124541 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 124542 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| 124543 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124544 | .{ ._, .vp_d, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| 124545 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 124546 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124547 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124548 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124549 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124550 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124551 | } }, |
| 124552 | }, .{ |
| 124553 | .required_features = .{ .avx2, null, null, null }, |
| 124554 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124555 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| 124556 | .patterns = &.{ |
| 124557 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124558 | }, |
| 124559 | .extra_temps = .{ |
| 124560 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124561 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 124562 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124563 | .unused, |
| 124564 | .unused, |
| 124565 | .unused, |
| 124566 | .unused, |
| 124567 | .unused, |
| 124568 | .unused, |
| 124569 | .unused, |
| 124570 | .unused, |
| 124571 | }, |
| 124572 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124573 | .each = .{ .once = &.{ |
| 124574 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124575 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 124576 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| 124577 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| 124578 | .{ .@"0:", .vp_d, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 124579 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 124580 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124581 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 124582 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124583 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124584 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124585 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124586 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124587 | } }, |
| 124588 | }, .{ |
| 124589 | .required_features = .{ .avx, null, null, null }, |
| 124590 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124591 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 124592 | .patterns = &.{ |
| 124593 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124594 | }, |
| 124595 | .extra_temps = .{ |
| 124596 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124597 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 124598 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124599 | .unused, |
| 124600 | .unused, |
| 124601 | .unused, |
| 124602 | .unused, |
| 124603 | .unused, |
| 124604 | .unused, |
| 124605 | .unused, |
| 124606 | .unused, |
| 124607 | }, |
| 124608 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124609 | .each = .{ .once = &.{ |
| 124610 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124611 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 124612 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| 124613 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| 124614 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 124615 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124616 | .{ .@"0:", .vp_d, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 124617 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 124618 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124619 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124620 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124621 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124622 | .{ ._, .vp_d, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124623 | } }, |
| 124624 | }, .{ |
| 124625 | .required_features = .{ .sse2, null, null, null }, |
| 124626 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124627 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 124628 | .patterns = &.{ |
| 124629 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124630 | }, |
| 124631 | .extra_temps = .{ |
| 124632 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124633 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 124634 | .{ .type = .vector_4_u32, .kind = .{ .rc = .sse } }, |
| 124635 | .unused, |
| 124636 | .unused, |
| 124637 | .unused, |
| 124638 | .unused, |
| 124639 | .unused, |
| 124640 | .unused, |
| 124641 | .unused, |
| 124642 | .unused, |
| 124643 | }, |
| 124644 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124645 | .each = .{ .once = &.{ |
| 124646 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124647 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 124648 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 124649 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| 124650 | .{ .@"0:", .p_d, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 124651 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 124652 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124653 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124654 | .{ ._, .p_d, .add, .dst0x, .tmp2x, ._, ._ }, |
| 124655 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b01_01_01_01), ._ }, |
| 124656 | .{ ._, .p_d, .add, .dst0x, .tmp2x, ._, ._ }, |
| 124657 | } }, |
| 124658 | }, .{ |
| 124659 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 124660 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 124661 | .patterns = &.{ |
| 124662 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124663 | }, |
| 124664 | .extra_temps = .{ |
| 124665 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124666 | .unused, |
| 124667 | .unused, |
| 124668 | .unused, |
| 124669 | .unused, |
| 124670 | .unused, |
| 124671 | .unused, |
| 124672 | .unused, |
| 124673 | .unused, |
| 124674 | .unused, |
| 124675 | .unused, |
| 124676 | }, |
| 124677 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 124678 | .clobbers = .{ .eflags = true }, |
| 124679 | .each = .{ .once = &.{ |
| 124680 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_unaligned_size), ._, ._ }, |
| 124681 | .{ ._, ._, .mov, .dst0d, .memad(.src0d, .add_unaligned_size, -4), ._, ._ }, |
| 124682 | .{ .@"0:", ._, .add, .dst0d, .memi(.src0d, .tmp0), ._, ._ }, |
| 124683 | .{ ._, ._, .sub, .tmp0d, .si(4), ._, ._ }, |
| 124684 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124685 | } }, |
| 124686 | }, .{ |
| 124687 | .required_features = .{ .sse, null, null, null }, |
| 124688 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124689 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 124690 | .patterns = &.{ |
| 124691 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 124692 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 124693 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 124694 | }, |
| 124695 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 124696 | .each = .{ .once = &.{} }, |
| 124697 | }, .{ |
| 124698 | .required_features = .{ .@"64bit", null, null, null }, |
| 124699 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124700 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 124701 | .patterns = &.{ |
| 124702 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 124703 | .{ .src = .{ .to_mut_gpr, .none, .none } }, |
| 124704 | }, |
| 124705 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 124706 | .each = .{ .once = &.{} }, |
| 124707 | }, .{ |
| 124708 | .required_features = .{ .avx, null, null, null }, |
| 124709 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124710 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 124711 | .patterns = &.{ |
| 124712 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124713 | }, |
| 124714 | .extra_temps = .{ |
| 124715 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124716 | .unused, |
| 124717 | .unused, |
| 124718 | .unused, |
| 124719 | .unused, |
| 124720 | .unused, |
| 124721 | .unused, |
| 124722 | .unused, |
| 124723 | .unused, |
| 124724 | .unused, |
| 124725 | .unused, |
| 124726 | }, |
| 124727 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124728 | .each = .{ .once = &.{ |
| 124729 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124730 | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124731 | } }, |
| 124732 | }, .{ |
| 124733 | .required_features = .{ .sse2, null, null, null }, |
| 124734 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124735 | .src_constraints = .{ .{ .scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 124736 | .patterns = &.{ |
| 124737 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 124738 | }, |
| 124739 | .extra_temps = .{ |
| 124740 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124741 | .unused, |
| 124742 | .unused, |
| 124743 | .unused, |
| 124744 | .unused, |
| 124745 | .unused, |
| 124746 | .unused, |
| 124747 | .unused, |
| 124748 | .unused, |
| 124749 | .unused, |
| 124750 | .unused, |
| 124751 | }, |
| 124752 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 124753 | .each = .{ .once = &.{ |
| 124754 | .{ ._, .p_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124755 | .{ ._, .p_q, .add, .dst0x, .tmp0x, ._, ._ }, |
| 124756 | } }, |
| 124757 | }, .{ |
| 124758 | .required_features = .{ .avx2, null, null, null }, |
| 124759 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124760 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| 124761 | .patterns = &.{ |
| 124762 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124763 | }, |
| 124764 | .extra_temps = .{ |
| 124765 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124766 | .unused, |
| 124767 | .unused, |
| 124768 | .unused, |
| 124769 | .unused, |
| 124770 | .unused, |
| 124771 | .unused, |
| 124772 | .unused, |
| 124773 | .unused, |
| 124774 | .unused, |
| 124775 | .unused, |
| 124776 | }, |
| 124777 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124778 | .each = .{ .once = &.{ |
| 124779 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 124780 | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124781 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124782 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124783 | } }, |
| 124784 | }, .{ |
| 124785 | .required_features = .{ .avx, null, null, null }, |
| 124786 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124787 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| 124788 | .patterns = &.{ |
| 124789 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124790 | }, |
| 124791 | .extra_temps = .{ |
| 124792 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124793 | .unused, |
| 124794 | .unused, |
| 124795 | .unused, |
| 124796 | .unused, |
| 124797 | .unused, |
| 124798 | .unused, |
| 124799 | .unused, |
| 124800 | .unused, |
| 124801 | .unused, |
| 124802 | .unused, |
| 124803 | }, |
| 124804 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124805 | .each = .{ .once = &.{ |
| 124806 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 124807 | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124808 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124809 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124810 | } }, |
| 124811 | }, .{ |
| 124812 | .required_features = .{ .avx2, null, null, null }, |
| 124813 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124814 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| 124815 | .patterns = &.{ |
| 124816 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124817 | }, |
| 124818 | .extra_temps = .{ |
| 124819 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124820 | .unused, |
| 124821 | .unused, |
| 124822 | .unused, |
| 124823 | .unused, |
| 124824 | .unused, |
| 124825 | .unused, |
| 124826 | .unused, |
| 124827 | .unused, |
| 124828 | .unused, |
| 124829 | .unused, |
| 124830 | }, |
| 124831 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124832 | .each = .{ .once = &.{ |
| 124833 | .{ ._, .v_i128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 124834 | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124835 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124836 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124837 | } }, |
| 124838 | }, .{ |
| 124839 | .required_features = .{ .avx, null, null, null }, |
| 124840 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124841 | .src_constraints = .{ .{ .scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| 124842 | .patterns = &.{ |
| 124843 | .{ .src = .{ .to_sse, .none, .none } }, |
| 124844 | }, |
| 124845 | .extra_temps = .{ |
| 124846 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124847 | .unused, |
| 124848 | .unused, |
| 124849 | .unused, |
| 124850 | .unused, |
| 124851 | .unused, |
| 124852 | .unused, |
| 124853 | .unused, |
| 124854 | .unused, |
| 124855 | .unused, |
| 124856 | .unused, |
| 124857 | }, |
| 124858 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124859 | .each = .{ .once = &.{ |
| 124860 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 124861 | .{ ._, .vp_q, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 124862 | .{ ._, .vp_d, .shuf, .tmp0x, .src0x, .ui(0b11_10_11_10), ._ }, |
| 124863 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124864 | } }, |
| 124865 | }, .{ |
| 124866 | .required_features = .{ .avx512f, null, null, null }, |
| 124867 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124868 | .src_constraints = .{ .{ .exact_scalar_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| 124869 | .patterns = &.{ |
| 124870 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124871 | }, |
| 124872 | .extra_temps = .{ |
| 124873 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124874 | .unused, |
| 124875 | .unused, |
| 124876 | .unused, |
| 124877 | .unused, |
| 124878 | .unused, |
| 124879 | .unused, |
| 124880 | .unused, |
| 124881 | .unused, |
| 124882 | .unused, |
| 124883 | .unused, |
| 124884 | }, |
| 124885 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124886 | .each = .{ .once = &.{ |
| 124887 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 124888 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .memd(.src0y, 32), ._ }, |
| 124889 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 124890 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124891 | .{ ._, .vp_d, .shuf, .tmp0x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124892 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 124893 | } }, |
| 124894 | }, .{ |
| 124895 | .required_features = .{ .avx512f, null, null, null }, |
| 124896 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124897 | .src_constraints = .{ .{ .scalar_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| 124898 | .patterns = &.{ |
| 124899 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124900 | }, |
| 124901 | .extra_temps = .{ |
| 124902 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 124903 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 124904 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 124905 | .unused, |
| 124906 | .unused, |
| 124907 | .unused, |
| 124908 | .unused, |
| 124909 | .unused, |
| 124910 | .unused, |
| 124911 | .unused, |
| 124912 | .unused, |
| 124913 | }, |
| 124914 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 124915 | .each = .{ .once = &.{ |
| 124916 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 124917 | .{ ._, .v_dqa, .mov, .dst0y, .mem(.src0y), ._, ._ }, |
| 124918 | .{ ._, .v_dqa, .mov, .tmp2y, .memd(.src0y, 32), ._, ._ }, |
| 124919 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 124920 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .lead(.tmp0y, 32), ._ }, |
| 124921 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| 124922 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 124923 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124924 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124925 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 124926 | } }, |
| 124927 | }, .{ |
| 124928 | .required_features = .{ .avx2, null, null, null }, |
| 124929 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124930 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| 124931 | .patterns = &.{ |
| 124932 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124933 | }, |
| 124934 | .extra_temps = .{ |
| 124935 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124936 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124937 | .unused, |
| 124938 | .unused, |
| 124939 | .unused, |
| 124940 | .unused, |
| 124941 | .unused, |
| 124942 | .unused, |
| 124943 | .unused, |
| 124944 | .unused, |
| 124945 | .unused, |
| 124946 | }, |
| 124947 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124948 | .each = .{ .once = &.{ |
| 124949 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| 124950 | .{ ._, .v_dqa, .mov, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| 124951 | .{ .@"0:", .vp_q, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 124952 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 124953 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124954 | .{ ._, .v_i128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| 124955 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124956 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124957 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124958 | } }, |
| 124959 | }, .{ |
| 124960 | .required_features = .{ .avx, null, null, null }, |
| 124961 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124962 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 124963 | .patterns = &.{ |
| 124964 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124965 | }, |
| 124966 | .extra_temps = .{ |
| 124967 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124968 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124969 | .unused, |
| 124970 | .unused, |
| 124971 | .unused, |
| 124972 | .unused, |
| 124973 | .unused, |
| 124974 | .unused, |
| 124975 | .unused, |
| 124976 | .unused, |
| 124977 | .unused, |
| 124978 | }, |
| 124979 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 124980 | .each = .{ .once = &.{ |
| 124981 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 124982 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 124983 | .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 124984 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 124985 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 124986 | .{ ._, .vp_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 124987 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 124988 | } }, |
| 124989 | }, .{ |
| 124990 | .required_features = .{ .sse2, null, null, null }, |
| 124991 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 124992 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 124993 | .patterns = &.{ |
| 124994 | .{ .src = .{ .to_mem, .none, .none } }, |
| 124995 | }, |
| 124996 | .extra_temps = .{ |
| 124997 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 124998 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 124999 | .unused, |
| 125000 | .unused, |
| 125001 | .unused, |
| 125002 | .unused, |
| 125003 | .unused, |
| 125004 | .unused, |
| 125005 | .unused, |
| 125006 | .unused, |
| 125007 | .unused, |
| 125008 | }, |
| 125009 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 125010 | .each = .{ .once = &.{ |
| 125011 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 125012 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| 125013 | .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 125014 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 125015 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125016 | .{ ._, .p_d, .shuf, .tmp1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 125017 | .{ ._, .p_q, .add, .dst0x, .tmp1x, ._, ._ }, |
| 125018 | } }, |
| 125019 | }, .{ |
| 125020 | .required_features = .{ .avx512f, null, null, null }, |
| 125021 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 125022 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| 125023 | .patterns = &.{ |
| 125024 | .{ .src = .{ .to_mem, .none, .none } }, |
| 125025 | }, |
| 125026 | .extra_temps = .{ |
| 125027 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 125028 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 125029 | .{ .type = .vector_4_u64, .kind = .{ .rc = .sse } }, |
| 125030 | .unused, |
| 125031 | .unused, |
| 125032 | .unused, |
| 125033 | .unused, |
| 125034 | .unused, |
| 125035 | .unused, |
| 125036 | .unused, |
| 125037 | .unused, |
| 125038 | }, |
| 125039 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 125040 | .each = .{ .once = &.{ |
| 125041 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125042 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 125043 | .{ ._, .v_dqa, .mov, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| 125044 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| 125045 | .{ ._, .vp_, .@"and", .tmp2y, .tmp2y, .memad(.src0y, .add_size, -32), ._ }, |
| 125046 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| 125047 | .{ .@"0:", .vp_q, .add, .tmp2y, .tmp2y, .memid(.src0y, .tmp0, 32), ._ }, |
| 125048 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 125049 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| 125050 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125051 | .{ ._, .vp_q, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| 125052 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 125053 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125054 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 125055 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125056 | } }, |
| 125057 | }, .{ |
| 125058 | .required_features = .{ .avx2, null, null, null }, |
| 125059 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 125060 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| 125061 | .patterns = &.{ |
| 125062 | .{ .src = .{ .to_mem, .none, .none } }, |
| 125063 | }, |
| 125064 | .extra_temps = .{ |
| 125065 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 125066 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 125067 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 125068 | .unused, |
| 125069 | .unused, |
| 125070 | .unused, |
| 125071 | .unused, |
| 125072 | .unused, |
| 125073 | .unused, |
| 125074 | .unused, |
| 125075 | .unused, |
| 125076 | }, |
| 125077 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 125078 | .each = .{ .once = &.{ |
| 125079 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125080 | .{ ._, .v_dqa, .mov, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 125081 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_size), ._, ._ }, |
| 125082 | .{ ._, .vp_, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| 125083 | .{ .@"0:", .vp_q, .add, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| 125084 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| 125085 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125086 | .{ ._, .v_i128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 125087 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125088 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 125089 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125090 | } }, |
| 125091 | }, .{ |
| 125092 | .required_features = .{ .avx, null, null, null }, |
| 125093 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 125094 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 125095 | .patterns = &.{ |
| 125096 | .{ .src = .{ .to_mem, .none, .none } }, |
| 125097 | }, |
| 125098 | .extra_temps = .{ |
| 125099 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 125100 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 125101 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 125102 | .unused, |
| 125103 | .unused, |
| 125104 | .unused, |
| 125105 | .unused, |
| 125106 | .unused, |
| 125107 | .unused, |
| 125108 | .unused, |
| 125109 | .unused, |
| 125110 | }, |
| 125111 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 125112 | .each = .{ .once = &.{ |
| 125113 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125114 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 125115 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| 125116 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| 125117 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| 125118 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125119 | .{ .@"0:", .vp_q, .add, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| 125120 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 125121 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125122 | .{ ._, .vp_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 125123 | .{ ._, .vp_q, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 125124 | } }, |
| 125125 | }, .{ |
| 125126 | .required_features = .{ .sse2, null, null, null }, |
| 125127 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 125128 | .src_constraints = .{ .{ .multiple_scalar_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 125129 | .patterns = &.{ |
| 125130 | .{ .src = .{ .to_mem, .none, .none } }, |
| 125131 | }, |
| 125132 | .extra_temps = .{ |
| 125133 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 125134 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| 125135 | .{ .type = .vector_2_u64, .kind = .{ .rc = .sse } }, |
| 125136 | .unused, |
| 125137 | .unused, |
| 125138 | .unused, |
| 125139 | .unused, |
| 125140 | .unused, |
| 125141 | .unused, |
| 125142 | .unused, |
| 125143 | .unused, |
| 125144 | }, |
| 125145 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 125146 | .each = .{ .once = &.{ |
| 125147 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 125148 | .{ ._, ._dqa, .mov, .dst0x, .lea(.tmp0x), ._, ._ }, |
| 125149 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| 125150 | .{ ._, .p_, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| 125151 | .{ .@"0:", .p_q, .add, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| 125152 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 125153 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125154 | .{ ._, .p_d, .shuf, .tmp2x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| 125155 | .{ ._, .p_q, .add, .dst0x, .tmp2x, ._, ._ }, |
| 125156 | } }, |
| 125157 | }, .{ |
| 125158 | .required_features = .{ .@"64bit", null, null, null }, |
| 125159 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 125160 | .src_constraints = .{ .{ .unaligned_multiple_scalar_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 125161 | .patterns = &.{ |
| 125162 | .{ .src = .{ .to_mem, .none, .none } }, |
| 125163 | }, |
| 125164 | .extra_temps = .{ |
| 125165 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 125166 | .unused, |
| 125167 | .unused, |
| 125168 | .unused, |
| 125169 | .unused, |
| 125170 | .unused, |
| 125171 | .unused, |
| 125172 | .unused, |
| 125173 | .unused, |
| 125174 | .unused, |
| 125175 | .unused, |
| 125176 | }, |
| 125177 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 125178 | .clobbers = .{ .eflags = true }, |
| 125179 | .each = .{ .once = &.{ |
| 125180 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 125181 | .{ ._, ._, .mov, .dst0q, .memad(.src0q, .add_unaligned_size, -8), ._, ._ }, |
| 125182 | .{ .@"0:", ._, .add, .dst0q, .memi(.src0q, .tmp0), ._, ._ }, |
| 125183 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 125184 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125185 | } }, |
| 125186 | }, .{ |
| 125187 | .required_features = .{ .sse, null, null, null }, |
| 125188 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| 125189 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 125190 | .patterns = &.{ |
| 125191 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 125192 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 125193 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 125194 | }, |
| 125195 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 125196 | .each = .{ .once = &.{} }, |
| 125197 | }, .{ |
| 125198 | .dst_constraints = .{ .{ .int = .xword }, .any }, |
| 125199 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 125200 | .patterns = &.{ |
| 125201 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 125202 | }, |
| 125203 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 125204 | .each = .{ .once = &.{} }, |
| 125205 | }, .{ |
| 125206 | .required_features = .{ .avx, null, null, null }, |
| 125207 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| 125208 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 125209 | .patterns = &.{ |
| 125210 | .{ .src = .{ .mut_mem, .none, .none } }, |
| 125211 | .{ .src = .{ .mut_gpr, .none, .none } }, |
| 125212 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 125213 | }, |
| 125214 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 125215 | .each = .{ .once = &.{} }, |
| 125216 | }, .{ |
| 125217 | .dst_constraints = .{ .{ .int = .yword }, .any }, |
| 125218 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 125219 | .patterns = &.{ |
| 125220 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 125221 | }, |
| 125222 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 125223 | .each = .{ .once = &.{} }, |
| 125224 | }, .{ |
| 125225 | .dst_constraints = .{ .any_int, .any }, |
| 125226 | .src_constraints = .{ .{ .vec_len = 1 }, .any, .any }, |
| 125227 | .patterns = &.{ |
| 125228 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 125229 | }, |
| 125230 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 125231 | .each = .{ .once = &.{} }, |
| 125232 | }, .{ |
| 125233 | .required_features = .{ .@"64bit", null, null, null }, |
| 125234 | .dst_constraints = .{ .{ .remainder_int = .{ .of = .qword, .is = .qword } }, .any }, |
| 125235 | .src_constraints = .{ .{ .scalar_remainder_int = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 125236 | .patterns = &.{ |
| 125237 | .{ .src = .{ .to_mem, .none, .none } }, |
| 125238 | }, |
| 125239 | .extra_temps = .{ |
| 125240 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 125241 | .{ .type = .u32, .kind = .{ .reg = .rsi } }, |
| 125242 | .{ .type = .usize, .kind = .{ .reg = .rdi } }, |
| 125243 | .{ .type = .u64, .kind = .{ .reg = .rcx } }, |
| 125244 | .unused, |
| 125245 | .unused, |
| 125246 | .unused, |
| 125247 | .unused, |
| 125248 | .unused, |
| 125249 | .unused, |
| 125250 | .unused, |
| 125251 | }, |
| 125252 | .dst_temps = .{ .mem, .unused }, |
| 125253 | .clobbers = .{ .eflags = true }, |
| 125254 | .each = .{ .once = &.{ |
| 125255 | .{ ._, ._, .mov, .tmp0d, .sa(.src0, .add_unaligned_size_sub_2_elem_size), ._, ._ }, |
| 125256 | .{ ._, ._, .lea, .tmp1p, .mema(.src0, .add_unaligned_size_sub_elem_size), ._, ._ }, |
| 125257 | .{ ._, ._, .lea, .tmp2p, .mem(.dst0), ._, ._ }, |
| 125258 | .{ ._, ._, .mov, .tmp3d, .sa(.dst0, .add_size_div_8), ._, ._ }, |
| 125259 | .{ ._, .@"rep _sq", .mov, ._, ._, ._, ._ }, |
| 125260 | .{ .@"0:", ._, .mov, .tmp1p, .sa(.dst0, .sub_size_div_8), ._, ._ }, |
| 125261 | .{ ._, ._, .lea, .tmp2q, .memi(.src0, .tmp0), ._, ._ }, |
| 125262 | .{ ._, ._c, .cl, ._, ._, ._, ._ }, |
| 125263 | .{ .@"1:", ._, .mov, .tmp3q, .leasia(.tmp2q, .@"8", .tmp1, .add_src0_elem_size), ._, ._ }, |
| 125264 | .{ ._, ._, .adc, .memsia(.dst0q, .@"8", .tmp1, .add_size), .tmp3q, ._, ._ }, |
| 125265 | .{ ._, ._c, .in, .tmp1p, ._, ._, ._ }, |
| 125266 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| 125267 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| 125268 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 125269 | } }, |
| 125270 | } }, |
| 125271 | .Mul => unreachable, |
| 122282 | 125272 | }) catch |err| switch (err) { |
| 122283 | 125273 | error.SelectFailed => return cg.fail("failed to select {s} {} {}", .{ |
| 122284 | 125274 | @tagName(air_tag), |
| ... | ... | @@ -122287,6 +125277,17 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 122287 | 125277 | }), |
| 122288 | 125278 | else => |e| return e, |
| 122289 | 125279 | }; |
| 125280 | switch (reduce.operation) { |
| 125281 | .And, .Or, .Xor, .Min, .Max => {}, |
| 125282 | .Add, .Mul => if (cg.intInfo(res_ty)) |_| res[0].wrapInt(cg) catch |err| switch (err) { |
| 125283 | error.SelectFailed => return cg.fail("failed to select {s} wrap {} {}", .{ |
| 125284 | @tagName(air_tag), |
| 125285 | res_ty.fmt(pt), |
| 125286 | res[0].tracking(cg), |
| 125287 | }), |
| 125288 | else => |e| return e, |
| 125289 | }, |
| 125290 | } |
| 122290 | 125291 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); |
| 122291 | 125292 | }, |
| 122292 | 125293 | .splat => |air_tag| if (use_old) try cg.airSplat(inst) else fallback: { |
| ... | ... | @@ -142314,10 +145315,10 @@ fn airSelect(self: *CodeGen, inst: Air.Inst.Index) !void { |
| 142314 | 145315 | ) else try self.asmRegisterRegister( |
| 142315 | 145316 | .{ mir_tag[0], .andn }, |
| 142316 | 145317 | mask_alias, |
| 142317 | | if (other_mcv.isRegister()) |
| 145318 | registerAlias(if (other_mcv.isRegister()) |
| 142318 | 145319 | other_mcv.getReg().? |
| 142319 | 145320 | else |
| 142320 | | try self.copyToTmpRegister(ty, other_mcv), |
| 145321 | try self.copyToTmpRegister(ty, other_mcv), abi_size), |
| 142321 | 145322 | ); |
| 142322 | 145323 | try self.asmRegisterRegister(.{ mir_tag[0], .@"or" }, dst_alias, mask_alias); |
| 142323 | 145324 | } |
| ... | ... | @@ -146202,7 +149203,7 @@ const Temp = struct { |
| 146202 | 149203 | }, .{ |
| 146203 | 149204 | .src_constraints = .{ .{ .exact_remainder_int = .{ .of = .xword, .is = 128 } }, .any, .any }, |
| 146204 | 149205 | .patterns = &.{ |
| 146205 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 149206 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 146206 | 149207 | }, |
| 146207 | 149208 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 146208 | 149209 | .each = .{ .once = &.{} }, |
| ... | ... | @@ -146210,7 +149211,7 @@ const Temp = struct { |
| 146210 | 149211 | .required_features = .{ .@"64bit", null, null, null }, |
| 146211 | 149212 | .src_constraints = .{ .{ .exact_remainder_signed_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 146212 | 149213 | .patterns = &.{ |
| 146213 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 149214 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 146214 | 149215 | }, |
| 146215 | 149216 | .extra_temps = .{ |
| 146216 | 149217 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | ... | @@ -146236,7 +149237,7 @@ const Temp = struct { |
| 146236 | 149237 | .required_features = .{ .@"64bit", null, null, null }, |
| 146237 | 149238 | .src_constraints = .{ .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = 64 } }, .any, .any }, |
| 146238 | 149239 | .patterns = &.{ |
| 146239 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 149240 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 146240 | 149241 | }, |
| 146241 | 149242 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 146242 | 149243 | .each = .{ .once = &.{ |
| ... | ... | @@ -146246,7 +149247,7 @@ const Temp = struct { |
| 146246 | 149247 | .required_features = .{ .@"64bit", null, null, null }, |
| 146247 | 149248 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 146248 | 149249 | .patterns = &.{ |
| 146249 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 149250 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 146250 | 149251 | }, |
| 146251 | 149252 | .extra_temps = .{ |
| 146252 | 149253 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | ... | @@ -146275,7 +149276,7 @@ const Temp = struct { |
| 146275 | 149276 | .required_features = .{ .@"64bit", null, null, null }, |
| 146276 | 149277 | .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 146277 | 149278 | .patterns = &.{ |
| 146278 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 149279 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 146279 | 149280 | }, |
| 146280 | 149281 | .extra_temps = .{ |
| 146281 | 149282 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | ... | @@ -146301,7 +149302,7 @@ const Temp = struct { |
| 146301 | 149302 | .required_features = .{ .@"64bit", null, null, null }, |
| 146302 | 149303 | .src_constraints = .{ .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 146303 | 149304 | .patterns = &.{ |
| 146304 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 149305 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 146305 | 149306 | }, |
| 146306 | 149307 | .extra_temps = .{ |
| 146307 | 149308 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | ... | @@ -146328,7 +149329,7 @@ const Temp = struct { |
| 146328 | 149329 | .required_features = .{ .@"64bit", null, null, null }, |
| 146329 | 149330 | .src_constraints = .{ .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 146330 | 149331 | .patterns = &.{ |
| 146331 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 149332 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 146332 | 149333 | }, |
| 146333 | 149334 | .extra_temps = .{ |
| 146334 | 149335 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| ... | ... | @@ -148340,7 +151341,7 @@ const Temp = struct { |
| 148340 | 151341 | .required_features = .{ .@"64bit", null, null, null }, |
| 148341 | 151342 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 148342 | 151343 | .patterns = &.{ |
| 148343 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 151344 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 148344 | 151345 | }, |
| 148345 | 151346 | .extra_temps = .{ |
| 148346 | 151347 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| ... | ... | @@ -148372,7 +151373,7 @@ const Temp = struct { |
| 148372 | 151373 | .required_features = .{ .@"64bit", null, null, null }, |
| 148373 | 151374 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 148374 | 151375 | .patterns = &.{ |
| 148375 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 151376 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 148376 | 151377 | }, |
| 148377 | 151378 | .extra_temps = .{ |
| 148378 | 151379 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| ... | ... | @@ -148401,7 +151402,7 @@ const Temp = struct { |
| 148401 | 151402 | .required_features = .{ .@"64bit", null, null, null }, |
| 148402 | 151403 | .src_constraints = .{ .{ .scalar_remainder_signed_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 148403 | 151404 | .patterns = &.{ |
| 148404 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 151405 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 148405 | 151406 | }, |
| 148406 | 151407 | .extra_temps = .{ |
| 148407 | 151408 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| ... | ... | @@ -148431,7 +151432,7 @@ const Temp = struct { |
| 148431 | 151432 | .required_features = .{ .@"64bit", null, null, null }, |
| 148432 | 151433 | .src_constraints = .{ .{ .scalar_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 148433 | 151434 | .patterns = &.{ |
| 148434 | | .{ .src = .{ .mut_mem, .none, .none } }, |
| 151435 | .{ .src = .{ .to_mut_mem, .none, .none } }, |
| 148435 | 151436 | }, |
| 148436 | 151437 | .extra_temps = .{ |
| 148437 | 151438 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| ... | ... | @@ -151815,12 +154816,12 @@ const Select = struct { |
| 151815 | 154816 | const sub_src0_elem_size: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 151816 | 154817 | const add_src0_elem_size_mul_src1: Adjust = .{ .sign = .pos, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; |
| 151817 | 154818 | const sub_src0_elem_size_mul_src1: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size_mul_src1, .op = .mul, .rhs = .@"1" }; |
| 154819 | const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 151818 | 154820 | const add_src1_div_8_down_4: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .div_8_down, .rhs = .@"4" }; |
| 151819 | 154821 | const add_src1_rem_32: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"4" }; |
| 151820 | 154822 | const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" }; |
| 151821 | 154823 | const add_src1_sub_bit_size: Adjust = .{ .sign = .pos, .lhs = .src1_sub_bit_size, .op = .mul, .rhs = .@"1" }; |
| 151822 | 154824 | const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 151823 | | const add_dst0_elem_size: Adjust = .{ .sign = .pos, .lhs = .dst0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 151824 | 154825 | const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" }; |
| 151825 | 154826 | const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" }; |
| 151826 | 154827 | const add_2_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"2" }; |
| ... | ... | @@ -152841,7 +155842,10 @@ fn select( |
| 152841 | 155842 | }, |
| 152842 | 155843 | } |
| 152843 | 155844 | } |
| 152844 | | for (dst_temps, case.dst_temps[0..dst_temps.len]) |dst_temp, tmp_kind| tmp_kind.finish(dst_temp, cg); |
| 155845 | for (case.dst_temps[0..dst_temps.len], dst_temps, dst_tys) |tmp_kind, dst_temp, dst_ty| { |
| 155846 | tmp_kind.finish(dst_temp, cg); |
| 155847 | cg.temp_type[@intFromEnum(dst_temp.unwrap(cg).temp)] = dst_ty; |
| 155848 | } |
| 152845 | 155849 | for (tmp_owned, s_tmp_temps) |owned, temp| if (owned) try temp.die(cg); |
| 152846 | 155850 | return; |
| 152847 | 155851 | } |