| ... | @@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2389 | } | 2389 | } |
| 2390 | | 2390 | |
| 2391 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | 2391 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2392 | @setEvalBranchQuota(26_500); | 2392 | @setEvalBranchQuota(26_800); |
| 2393 | const pt = cg.pt; | 2393 | const pt = cg.pt; |
| 2394 | const zcu = pt.zcu; | 2394 | const zcu = pt.zcu; |
| 2395 | const ip = &zcu.intern_pool; | 2395 | const ip = &zcu.intern_pool; |
| ... | @@ -142846,14 +142846,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -142846,14 +142846,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 142846 | }, .{ | 142846 | }, .{ |
| 142847 | .required_features = .{ .x87, null, null, null }, | 142847 | .required_features = .{ .x87, null, null, null }, |
| 142848 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 142848 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 142849 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .tbyte } }, .any, .any }, | 142849 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 142850 | .patterns = &.{ | 142850 | .patterns = &.{ |
| 142851 | .{ .src = .{ .to_mem, .none, .none } }, | 142851 | .{ .src = .{ .to_mem, .none, .none } }, |
| 142852 | }, | 142852 | }, |
| 142853 | .extra_temps = .{ | 142853 | .extra_temps = .{ |
| 142854 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 142854 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 142855 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | | |
| 142856 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 142855 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 142856 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 142857 | .unused, | 142857 | .unused, |
| 142858 | .unused, | 142858 | .unused, |
| 142859 | .unused, | 142859 | .unused, |
| ... | @@ -142863,7 +142863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -142863,7 +142863,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 142863 | .unused, | 142863 | .unused, |
| 142864 | .unused, | 142864 | .unused, |
| 142865 | }, | 142865 | }, |
| 142866 | .dst_temps = .{ .mem, .unused }, | 142866 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 142867 | .clobbers = .{ .eflags = true }, | 142867 | .clobbers = .{ .eflags = true }, |
| 142868 | .each = .{ .once = &.{ | 142868 | .each = .{ .once = &.{ |
| 142869 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | 142869 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| ... | @@ -146385,14 +146385,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146385,14 +146385,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146385 | }, .{ | 146385 | }, .{ |
| 146386 | .required_features = .{ .x87, null, null, null }, | 146386 | .required_features = .{ .x87, null, null, null }, |
| 146387 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 146387 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 146388 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .tbyte } }, .any, .any }, | 146388 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 146389 | .patterns = &.{ | 146389 | .patterns = &.{ |
| 146390 | .{ .src = .{ .to_mem, .none, .none } }, | 146390 | .{ .src = .{ .to_mem, .none, .none } }, |
| 146391 | }, | 146391 | }, |
| 146392 | .extra_temps = .{ | 146392 | .extra_temps = .{ |
| 146393 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, | 146393 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 146394 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | | |
| 146395 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 146394 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 146395 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 146396 | .unused, | 146396 | .unused, |
| 146397 | .unused, | 146397 | .unused, |
| 146398 | .unused, | 146398 | .unused, |
| ... | @@ -146402,7 +146402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146402,7 +146402,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146402 | .unused, | 146402 | .unused, |
| 146403 | .unused, | 146403 | .unused, |
| 146404 | }, | 146404 | }, |
| 146405 | .dst_temps = .{ .mem, .unused }, | 146405 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 146406 | .clobbers = .{ .eflags = true }, | 146406 | .clobbers = .{ .eflags = true }, |
| 146407 | .each = .{ .once = &.{ | 146407 | .each = .{ .once = &.{ |
| 146408 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, | 146408 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| ... | @@ -146531,32 +146531,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146531,32 +146531,19 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146531 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); | 146531 | try res[0].finish(inst, &.{reduce.operand}, &ops, cg); |
| 146532 | }, | 146532 | }, |
| 146533 | .reduce_optimized => |air_tag| if (use_old) try cg.airReduce(inst) else fallback: { | 146533 | .reduce_optimized => |air_tag| if (use_old) try cg.airReduce(inst) else fallback: { |
| | 146534 | const inf = std.math.inf(f16); |
| 146534 | const reduce = air_datas[@intFromEnum(inst)].reduce; | 146535 | const reduce = air_datas[@intFromEnum(inst)].reduce; |
| 146535 | switch (reduce.operation) { | 146536 | switch (reduce.operation) { |
| 146536 | .And, .Or, .Xor => unreachable, | 146537 | .And, .Or, .Xor => unreachable, |
| 146537 | .Min, .Max => break :fallback try cg.airReduce(inst), | 146538 | .Min => {}, |
| | 146539 | .Max => break :fallback try cg.airReduce(inst), |
| 146538 | .Add, .Mul => {}, | 146540 | .Add, .Mul => {}, |
| 146539 | } | 146541 | } |
| 146540 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); | 146542 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); |
| 146541 | var res: [1]Temp = undefined; | 146543 | var res: [1]Temp = undefined; |
| 146542 | cg.select(&res, &.{cg.typeOfIndex(inst)}, &ops, switch (reduce.operation) { | 146544 | cg.select(&res, &.{cg.typeOfIndex(inst)}, &ops, switch (reduce.operation) { |
| 146543 | .And, .Or, .Xor => unreachable, | 146545 | .And, .Or, .Xor => unreachable, |
| 146544 | .Min, .Max => unreachable, | 146546 | .Min => comptime &.{ .{ |
| 146545 | .Add => comptime &.{ .{ | | |
| 146546 | .required_features = .{ .f16c, .fast_hops, null, null }, | | |
| 146547 | .dst_constraints = .{ .{ .float = .word }, .any }, | | |
| 146548 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, | | |
| 146549 | .patterns = &.{ | | |
| 146550 | .{ .src = .{ .mem, .none, .none } }, | | |
| 146551 | .{ .src = .{ .to_sse, .none, .none } }, | | |
| 146552 | }, | | |
| 146553 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | | |
| 146554 | .each = .{ .once = &.{ | | |
| 146555 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | | |
| 146556 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, | | |
| 146557 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | | |
| 146558 | } }, | | |
| 146559 | }, .{ | | |
| 146560 | .required_features = .{ .f16c, null, null, null }, | 146547 | .required_features = .{ .f16c, null, null, null }, |
| 146561 | .dst_constraints = .{ .{ .float = .word }, .any }, | 146548 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 146562 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, | 146549 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| ... | @@ -146581,36 +146568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146581,36 +146568,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146581 | .each = .{ .once = &.{ | 146568 | .each = .{ .once = &.{ |
| 146582 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 146569 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 146583 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, | 146570 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| 146584 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146571 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146585 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | | |
| 146586 | } }, | | |
| 146587 | }, .{ | | |
| 146588 | .required_features = .{ .f16c, .fast_hops, null, null }, | | |
| 146589 | .dst_constraints = .{ .{ .float = .word }, .any }, | | |
| 146590 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, | | |
| 146591 | .patterns = &.{ | | |
| 146592 | .{ .src = .{ .mem, .none, .none } }, | | |
| 146593 | .{ .src = .{ .to_sse, .none, .none } }, | | |
| 146594 | }, | | |
| 146595 | .extra_temps = .{ | | |
| 146596 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, | | |
| 146597 | .unused, | | |
| 146598 | .unused, | | |
| 146599 | .unused, | | |
| 146600 | .unused, | | |
| 146601 | .unused, | | |
| 146602 | .unused, | | |
| 146603 | .unused, | | |
| 146604 | .unused, | | |
| 146605 | .unused, | | |
| 146606 | .unused, | | |
| 146607 | }, | | |
| 146608 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | | |
| 146609 | .each = .{ .once = &.{ | | |
| 146610 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | | |
| 146611 | .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ }, | | |
| 146612 | .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10) }, | | |
| 146613 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, | | |
| 146614 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 146572 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 146615 | } }, | 146573 | } }, |
| 146616 | }, .{ | 146574 | }, .{ |
| ... | @@ -146638,24 +146596,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146638,24 +146596,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146638 | .each = .{ .once = &.{ | 146596 | .each = .{ .once = &.{ |
| 146639 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 146597 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 146640 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, | 146598 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 146641 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146599 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146642 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, | 146600 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| 146643 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146601 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146644 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | | |
| 146645 | } }, | | |
| 146646 | }, .{ | | |
| 146647 | .required_features = .{ .f16c, .fast_hops, null, null }, | | |
| 146648 | .dst_constraints = .{ .{ .float = .word }, .any }, | | |
| 146649 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, | | |
| 146650 | .patterns = &.{ | | |
| 146651 | .{ .src = .{ .mem, .none, .none } }, | | |
| 146652 | .{ .src = .{ .to_sse, .none, .none } }, | | |
| 146653 | }, | | |
| 146654 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | | |
| 146655 | .each = .{ .once = &.{ | | |
| 146656 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | | |
| 146657 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, | | |
| 146658 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, | | |
| 146659 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 146602 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 146660 | } }, | 146603 | } }, |
| 146661 | }, .{ | 146604 | }, .{ |
| ... | @@ -146683,40 +146626,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146683,40 +146626,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146683 | .each = .{ .once = &.{ | 146626 | .each = .{ .once = &.{ |
| 146684 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, | 146627 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 146685 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, | 146628 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 146686 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146629 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146687 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, | 146630 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| 146688 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146631 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146689 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | | |
| 146690 | } }, | | |
| 146691 | }, .{ | | |
| 146692 | .required_features = .{ .f16c, .fast_hops, null, null }, | | |
| 146693 | .dst_constraints = .{ .{ .float = .word }, .any }, | | |
| 146694 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, | | |
| 146695 | .patterns = &.{ | | |
| 146696 | .{ .src = .{ .to_sse, .none, .none } }, | | |
| 146697 | }, | | |
| 146698 | .extra_temps = .{ | | |
| 146699 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | | |
| 146700 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, | | |
| 146701 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | | |
| 146702 | .unused, | | |
| 146703 | .unused, | | |
| 146704 | .unused, | | |
| 146705 | .unused, | | |
| 146706 | .unused, | | |
| 146707 | .unused, | | |
| 146708 | .unused, | | |
| 146709 | .unused, | | |
| 146710 | }, | | |
| 146711 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | | |
| 146712 | .each = .{ .once = &.{ | | |
| 146713 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | | |
| 146714 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, | | |
| 146715 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, | | |
| 146716 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, | | |
| 146717 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, | | |
| 146718 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, | | |
| 146719 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, | | |
| 146720 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 146632 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 146721 | } }, | 146633 | } }, |
| 146722 | }, .{ | 146634 | }, .{ |
| ... | @@ -146729,6 +146641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146729,6 +146641,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146729 | .extra_temps = .{ | 146641 | .extra_temps = .{ |
| 146730 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 146642 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 146731 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, | 146643 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146644 | .{ .type = .vector_8_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| 146732 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 146645 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 146733 | .unused, | 146646 | .unused, |
| 146734 | .unused, | 146647 | .unused, |
| ... | @@ -146737,49 +146650,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146737,49 +146650,20 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146737 | .unused, | 146650 | .unused, |
| 146738 | .unused, | 146651 | .unused, |
| 146739 | .unused, | 146652 | .unused, |
| 146740 | .unused, | | |
| 146741 | }, | 146653 | }, |
| 146742 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 146654 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 146743 | .each = .{ .once = &.{ | 146655 | .each = .{ .once = &.{ |
| 146744 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 146656 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 146745 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, | 146657 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 146658 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 146659 | .{ ._, .v_ps, .@"or", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| 146746 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, | 146660 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| 146747 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, | 146661 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| 146748 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 146662 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| 146749 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, | 146663 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 146750 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 146664 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| 146751 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, | 146665 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| 146752 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 146666 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| 146753 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | | |
| 146754 | } }, | | |
| 146755 | }, .{ | | |
| 146756 | .required_features = .{ .f16c, .fast_hops, null, null }, | | |
| 146757 | .dst_constraints = .{ .{ .float = .word }, .any }, | | |
| 146758 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, | | |
| 146759 | .patterns = &.{ | | |
| 146760 | .{ .src = .{ .mem, .none, .none } }, | | |
| 146761 | .{ .src = .{ .to_sse, .none, .none } }, | | |
| 146762 | }, | | |
| 146763 | .extra_temps = .{ | | |
| 146764 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | | |
| 146765 | .unused, | | |
| 146766 | .unused, | | |
| 146767 | .unused, | | |
| 146768 | .unused, | | |
| 146769 | .unused, | | |
| 146770 | .unused, | | |
| 146771 | .unused, | | |
| 146772 | .unused, | | |
| 146773 | .unused, | | |
| 146774 | .unused, | | |
| 146775 | }, | | |
| 146776 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | | |
| 146777 | .each = .{ .once = &.{ | | |
| 146778 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | | |
| 146779 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, | | |
| 146780 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, | | |
| 146781 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, | | |
| 146782 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, | | |
| 146783 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 146667 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 146784 | } }, | 146668 | } }, |
| 146785 | }, .{ | 146669 | }, .{ |
| ... | @@ -146807,45 +146691,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146807,45 +146691,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146807 | .each = .{ .once = &.{ | 146691 | .each = .{ .once = &.{ |
| 146808 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | 146692 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| 146809 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, | 146693 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 146810 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146694 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146811 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, | 146695 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 146812 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146696 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146813 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, | 146697 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| 146814 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146698 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146815 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | | |
| 146816 | } }, | | |
| 146817 | }, .{ | | |
| 146818 | .required_features = .{ .f16c, .fast_hops, null, null }, | | |
| 146819 | .dst_constraints = .{ .{ .float = .word }, .any }, | | |
| 146820 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, | | |
| 146821 | .patterns = &.{ | | |
| 146822 | .{ .src = .{ .to_sse, .none, .none } }, | | |
| 146823 | }, | | |
| 146824 | .extra_temps = .{ | | |
| 146825 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | | |
| 146826 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, | | |
| 146827 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | | |
| 146828 | .unused, | | |
| 146829 | .unused, | | |
| 146830 | .unused, | | |
| 146831 | .unused, | | |
| 146832 | .unused, | | |
| 146833 | .unused, | | |
| 146834 | .unused, | | |
| 146835 | .unused, | | |
| 146836 | }, | | |
| 146837 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | | |
| 146838 | .each = .{ .once = &.{ | | |
| 146839 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | | |
| 146840 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, | | |
| 146841 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, | | |
| 146842 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, | | |
| 146843 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, | | |
| 146844 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, | | |
| 146845 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, | | |
| 146846 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, | | |
| 146847 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, | | |
| 146848 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, | | |
| 146849 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 146699 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 146850 | } }, | 146700 | } }, |
| 146851 | }, .{ | 146701 | }, .{ |
| ... | @@ -146858,6 +146708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146858,6 +146708,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146858 | .extra_temps = .{ | 146708 | .extra_temps = .{ |
| 146859 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 146709 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 146860 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, | 146710 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146711 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| 146861 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 146712 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 146862 | .unused, | 146713 | .unused, |
| 146863 | .unused, | 146714 | .unused, |
| ... | @@ -146866,54 +146717,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146866,54 +146717,23 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146866 | .unused, | 146717 | .unused, |
| 146867 | .unused, | 146718 | .unused, |
| 146868 | .unused, | 146719 | .unused, |
| 146869 | .unused, | | |
| 146870 | }, | 146720 | }, |
| 146871 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | 146721 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 146872 | .each = .{ .once = &.{ | 146722 | .each = .{ .once = &.{ |
| 146873 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 146723 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 146874 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, | 146724 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| 146875 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, | 146725 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 146726 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 146727 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| 146876 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, | 146728 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| 146877 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, | 146729 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| 146878 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, | 146730 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| 146879 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, | 146731 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| 146880 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 146732 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| 146881 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, | 146733 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 146882 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 146734 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| 146883 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, | 146735 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| 146884 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 146736 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| 146885 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | | |
| 146886 | } }, | | |
| 146887 | }, .{ | | |
| 146888 | .required_features = .{ .f16c, .fast_hops, null, null }, | | |
| 146889 | .dst_constraints = .{ .{ .float = .word }, .any }, | | |
| 146890 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, | | |
| 146891 | .patterns = &.{ | | |
| 146892 | .{ .src = .{ .to_sse, .none, .none } }, | | |
| 146893 | }, | | |
| 146894 | .extra_temps = .{ | | |
| 146895 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | | |
| 146896 | .unused, | | |
| 146897 | .unused, | | |
| 146898 | .unused, | | |
| 146899 | .unused, | | |
| 146900 | .unused, | | |
| 146901 | .unused, | | |
| 146902 | .unused, | | |
| 146903 | .unused, | | |
| 146904 | .unused, | | |
| 146905 | .unused, | | |
| 146906 | }, | | |
| 146907 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, | | |
| 146908 | .each = .{ .once = &.{ | | |
| 146909 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, | | |
| 146910 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | | |
| 146911 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, | | |
| 146912 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, | | |
| 146913 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, | | |
| 146914 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, | | |
| 146915 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, | | |
| 146916 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, | | |
| 146917 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 146737 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 146918 | } }, | 146738 | } }, |
| 146919 | }, .{ | 146739 | }, .{ |
| ... | @@ -146941,13 +146761,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146941,13 +146761,13 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146941 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, | 146761 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 146942 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, | 146762 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| 146943 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, | 146763 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| 146944 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, | 146764 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp0y, ._ }, |
| 146945 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, | 146765 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| 146946 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146766 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146947 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, | 146767 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 146948 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146768 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146949 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, | 146769 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| 146950 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, | 146770 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| 146951 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 146771 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 146952 | } }, | 146772 | } }, |
| 146953 | }, .{ | 146773 | }, .{ |
| ... | @@ -146960,6 +146780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146960,6 +146780,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146960 | .extra_temps = .{ | 146780 | .extra_temps = .{ |
| 146961 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 146781 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 146962 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, | 146782 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146783 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| 146963 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 146784 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 146964 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, | 146785 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| 146965 | .unused, | 146786 | .unused, |
| ... | @@ -146968,30 +146789,1903 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -146968,30 +146789,1903 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 146968 | .unused, | 146789 | .unused, |
| 146969 | .unused, | 146790 | .unused, |
| 146970 | .unused, | 146791 | .unused, |
| 146971 | .unused, | | |
| 146972 | }, | 146792 | }, |
| 146973 | .dst_temps = .{ .{ .rc = .sse }, .unused }, | 146793 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 146974 | .each = .{ .once = &.{ | 146794 | .each = .{ .once = &.{ |
| 146975 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, | 146795 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| 146976 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, | 146796 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| 146977 | .{ ._, .v_ps, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, | 146797 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| 146978 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, | 146798 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 146799 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| 146979 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, | 146800 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| 146980 | .{ ._, .v_f128, .extract, .tmp3x, .tmp2y, .ui(1), ._ }, | 146801 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| 146981 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, | 146802 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 146803 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| 146982 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, | 146804 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| 146983 | .{ ._, .v_ps, .add, .tmp2y, .tmp2y, .tmp3y, ._ }, | 146805 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| 146984 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, | 146806 | .{ ._, .v_ps, .min, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| | 146807 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| 146985 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, | 146808 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| 146986 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, | 146809 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| 146987 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp3y, ._ }, | 146810 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp4y, ._ }, |
| 146988 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, | 146811 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| 146989 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, | 146812 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| 146990 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 146813 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| 146991 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, | 146814 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 146992 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 146815 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| 146993 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, | 146816 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| 146994 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, | 146817 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 146818 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146819 | } }, |
| | 146820 | }, .{ |
| | 146821 | .required_features = .{ .avx512f, null, null, null }, |
| | 146822 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146823 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 146824 | .patterns = &.{ |
| | 146825 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146826 | }, |
| | 146827 | .extra_temps = .{ |
| | 146828 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 146829 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 146830 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 146831 | .unused, |
| | 146832 | .unused, |
| | 146833 | .unused, |
| | 146834 | .unused, |
| | 146835 | .unused, |
| | 146836 | .unused, |
| | 146837 | .unused, |
| | 146838 | .unused, |
| | 146839 | }, |
| | 146840 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146841 | .each = .{ .once = &.{ |
| | 146842 | .{ ._, .v_ps, .mova, .tmp1y, .memd(.src0y, 32), ._, ._ }, |
| | 146843 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 146844 | .{ ._, .v_f128, .extract, .tmp2x, .tmp1y, .ui(1), ._ }, |
| | 146845 | .{ ._, .v_ps, .cvtph2, .tmp1y, .tmp1x, ._, ._ }, |
| | 146846 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 146847 | .{ ._, .v_ps, .min, .tmp1y, .tmp1y, .tmp2y, ._ }, |
| | 146848 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 146849 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 146850 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 146851 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 146852 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 146853 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 146854 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146855 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 146856 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146857 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 146858 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146859 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146860 | } }, |
| | 146861 | }, .{ |
| | 146862 | .required_features = .{ .f16c, null, null, null }, |
| | 146863 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146864 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 146865 | .patterns = &.{ |
| | 146866 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146867 | }, |
| | 146868 | .extra_temps = .{ |
| | 146869 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146870 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 146871 | .unused, |
| | 146872 | .unused, |
| | 146873 | .unused, |
| | 146874 | .unused, |
| | 146875 | .unused, |
| | 146876 | .unused, |
| | 146877 | .unused, |
| | 146878 | .unused, |
| | 146879 | .unused, |
| | 146880 | }, |
| | 146881 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146882 | .clobbers = .{ .eflags = true }, |
| | 146883 | .each = .{ .once = &.{ |
| | 146884 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 146885 | .{ ._, .v_ps, .cvtph2, .dst0y, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 146886 | .{ .@"0:", .v_ps, .cvtph2, .tmp1y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 146887 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp1y, ._ }, |
| | 146888 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146889 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146890 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 146891 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146892 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 146893 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146894 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 146895 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 146896 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146897 | } }, |
| | 146898 | }, .{ |
| | 146899 | .required_features = .{ .avx512f, null, null, null }, |
| | 146900 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146901 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 146902 | .patterns = &.{ |
| | 146903 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146904 | }, |
| | 146905 | .extra_temps = .{ |
| | 146906 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146907 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146908 | .{ .type = .vector_32_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 146909 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 146910 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 146911 | .unused, |
| | 146912 | .unused, |
| | 146913 | .unused, |
| | 146914 | .unused, |
| | 146915 | .unused, |
| | 146916 | .unused, |
| | 146917 | }, |
| | 146918 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146919 | .clobbers = .{ .eflags = true }, |
| | 146920 | .each = .{ .once = &.{ |
| | 146921 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146922 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 146923 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 146924 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 146925 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 146926 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 146927 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 146928 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 146929 | .{ ._, ._, .mov, .tmp0d, .sia(-80, .src0, .add_size), ._, ._ }, |
| | 146930 | .{ ._, .v_f128, .extract, .tmp4x, .tmp3y, .ui(1), ._ }, |
| | 146931 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 146932 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 146933 | .{ ._, .v_ps, .min, .tmp3y, .tmp3y, .tmp4y, ._ }, |
| | 146934 | .{ ._, .v_f128, .extract, .tmp4x, .dst0y, .ui(1), ._ }, |
| | 146935 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 146936 | .{ ._, .v_ps, .cvtph2, .tmp4y, .tmp4x, ._, ._ }, |
| | 146937 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp4y, ._ }, |
| | 146938 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 146939 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 146940 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 146941 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146942 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146943 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 146944 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 146945 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 146946 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 146947 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 146948 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 146949 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146950 | } }, |
| | 146951 | }, .{ |
| | 146952 | .required_features = .{ .f16c, null, null, null }, |
| | 146953 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146954 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 146955 | .patterns = &.{ |
| | 146956 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 146957 | }, |
| | 146958 | .extra_temps = .{ |
| | 146959 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 146960 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 146961 | .{ .type = .vector_16_f16, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 146962 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 146963 | .unused, |
| | 146964 | .unused, |
| | 146965 | .unused, |
| | 146966 | .unused, |
| | 146967 | .unused, |
| | 146968 | .unused, |
| | 146969 | .unused, |
| | 146970 | }, |
| | 146971 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 146972 | .clobbers = .{ .eflags = true }, |
| | 146973 | .each = .{ .once = &.{ |
| | 146974 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 146975 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 146976 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 146977 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 146978 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 146979 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 146980 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 146981 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 146982 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 146983 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 146984 | .{ .@"0:", .v_ps, .cvtph2, .tmp3y, .memi(.src0x, .tmp0), ._, ._ }, |
| | 146985 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 146986 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 146987 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 146988 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 146989 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 146990 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 146991 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 146992 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 146993 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 146994 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 146995 | } }, |
| | 146996 | }, .{ |
| | 146997 | .required_features = .{ .avx, null, null, null }, |
| | 146998 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 146999 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 147000 | .patterns = &.{ |
| | 147001 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147002 | }, |
| | 147003 | .call_frame = .{ .alignment = .@"16" }, |
| | 147004 | .extra_temps = .{ |
| | 147005 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147006 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 147007 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| | 147008 | .unused, |
| | 147009 | .unused, |
| | 147010 | .unused, |
| | 147011 | .unused, |
| | 147012 | .unused, |
| | 147013 | .unused, |
| | 147014 | .unused, |
| | 147015 | .unused, |
| | 147016 | }, |
| | 147017 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 147018 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 147019 | .each = .{ .once = &.{ |
| | 147020 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| | 147021 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 147022 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0) }, |
| | 147023 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 147024 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memi(.src0w, .tmp0), .ui(0) }, |
| | 147025 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 147026 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 147027 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147028 | } }, |
| | 147029 | }, .{ |
| | 147030 | .required_features = .{ .sse2, null, null, null }, |
| | 147031 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 147032 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 147033 | .patterns = &.{ |
| | 147034 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147035 | }, |
| | 147036 | .call_frame = .{ .alignment = .@"16" }, |
| | 147037 | .extra_temps = .{ |
| | 147038 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147039 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 147040 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| | 147041 | .unused, |
| | 147042 | .unused, |
| | 147043 | .unused, |
| | 147044 | .unused, |
| | 147045 | .unused, |
| | 147046 | .unused, |
| | 147047 | .unused, |
| | 147048 | .unused, |
| | 147049 | }, |
| | 147050 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 147051 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 147052 | .each = .{ .once = &.{ |
| | 147053 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 147054 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 147055 | .{ ._, .p_w, .insr, .dst0x, .memad(.src0w, .add_unaligned_size, -2), .ui(0), ._ }, |
| | 147056 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 147057 | .{ ._, .p_w, .insr, .tmp1x, .memi(.src0w, .tmp0), .ui(0), ._ }, |
| | 147058 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 147059 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 147060 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147061 | } }, |
| | 147062 | }, .{ |
| | 147063 | .required_features = .{ .sse, null, null, null }, |
| | 147064 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 147065 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| | 147066 | .patterns = &.{ |
| | 147067 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147068 | }, |
| | 147069 | .call_frame = .{ .alignment = .@"16" }, |
| | 147070 | .extra_temps = .{ |
| | 147071 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147072 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 147073 | .{ .type = .f32, .kind = .mem }, |
| | 147074 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 147075 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fminh" } } }, |
| | 147076 | .unused, |
| | 147077 | .unused, |
| | 147078 | .unused, |
| | 147079 | .unused, |
| | 147080 | .unused, |
| | 147081 | .unused, |
| | 147082 | }, |
| | 147083 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 147084 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 147085 | .each = .{ .once = &.{ |
| | 147086 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 147087 | .{ ._, ._, .mov, .tmp0d, .sia(-4, .src0, .add_unaligned_size), ._, ._ }, |
| | 147088 | .{ ._, ._, .movzx, .tmp1d, .memad(.src0w, .add_unaligned_size, -2), ._, ._ }, |
| | 147089 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 147090 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| | 147091 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 147092 | .{ ._, ._ss, .mov, .tmp3x, .memi(.src0d, .tmp0), ._, ._ }, |
| | 147093 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 147094 | .{ ._, ._, .sub, .tmp0d, .si(2), ._, ._ }, |
| | 147095 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147096 | } }, |
| | 147097 | }, .{ |
| | 147098 | .required_features = .{ .avx, null, null, null }, |
| | 147099 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147100 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 147101 | .patterns = &.{ |
| | 147102 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147103 | }, |
| | 147104 | .extra_temps = .{ |
| | 147105 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147106 | .unused, |
| | 147107 | .unused, |
| | 147108 | .unused, |
| | 147109 | .unused, |
| | 147110 | .unused, |
| | 147111 | .unused, |
| | 147112 | .unused, |
| | 147113 | .unused, |
| | 147114 | .unused, |
| | 147115 | .unused, |
| | 147116 | }, |
| | 147117 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147118 | .each = .{ .once = &.{ |
| | 147119 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 147120 | .{ ._, .v_ss, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147121 | } }, |
| | 147122 | }, .{ |
| | 147123 | .required_features = .{ .sse, null, null, null }, |
| | 147124 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147125 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| | 147126 | .patterns = &.{ |
| | 147127 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147128 | }, |
| | 147129 | .extra_temps = .{ |
| | 147130 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147131 | .unused, |
| | 147132 | .unused, |
| | 147133 | .unused, |
| | 147134 | .unused, |
| | 147135 | .unused, |
| | 147136 | .unused, |
| | 147137 | .unused, |
| | 147138 | .unused, |
| | 147139 | .unused, |
| | 147140 | .unused, |
| | 147141 | }, |
| | 147142 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147143 | .each = .{ .once = &.{ |
| | 147144 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| | 147145 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 147146 | .{ ._, ._ss, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 147147 | } }, |
| | 147148 | }, .{ |
| | 147149 | .required_features = .{ .avx, null, null, null }, |
| | 147150 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147151 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147152 | .patterns = &.{ |
| | 147153 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147154 | }, |
| | 147155 | .extra_temps = .{ |
| | 147156 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147157 | .unused, |
| | 147158 | .unused, |
| | 147159 | .unused, |
| | 147160 | .unused, |
| | 147161 | .unused, |
| | 147162 | .unused, |
| | 147163 | .unused, |
| | 147164 | .unused, |
| | 147165 | .unused, |
| | 147166 | .unused, |
| | 147167 | }, |
| | 147168 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147169 | .each = .{ .once = &.{ |
| | 147170 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 147171 | .{ ._, .v_ss, .min, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 147172 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| | 147173 | .{ ._, .v_ss, .min, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 147174 | } }, |
| | 147175 | }, .{ |
| | 147176 | .required_features = .{ .sse, null, null, null }, |
| | 147177 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147178 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147179 | .patterns = &.{ |
| | 147180 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147181 | }, |
| | 147182 | .extra_temps = .{ |
| | 147183 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147184 | .unused, |
| | 147185 | .unused, |
| | 147186 | .unused, |
| | 147187 | .unused, |
| | 147188 | .unused, |
| | 147189 | .unused, |
| | 147190 | .unused, |
| | 147191 | .unused, |
| | 147192 | .unused, |
| | 147193 | .unused, |
| | 147194 | }, |
| | 147195 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147196 | .each = .{ .once = &.{ |
| | 147197 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 147198 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 147199 | .{ ._, ._ss, .min, .tmp0x, .src0x, ._, ._ }, |
| | 147200 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| | 147201 | .{ ._, ._ss, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 147202 | } }, |
| | 147203 | }, .{ |
| | 147204 | .required_features = .{ .avx, null, null, null }, |
| | 147205 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147206 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147207 | .patterns = &.{ |
| | 147208 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147209 | }, |
| | 147210 | .extra_temps = .{ |
| | 147211 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147212 | .unused, |
| | 147213 | .unused, |
| | 147214 | .unused, |
| | 147215 | .unused, |
| | 147216 | .unused, |
| | 147217 | .unused, |
| | 147218 | .unused, |
| | 147219 | .unused, |
| | 147220 | .unused, |
| | 147221 | .unused, |
| | 147222 | }, |
| | 147223 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147224 | .each = .{ .once = &.{ |
| | 147225 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 147226 | .{ ._, .v_ps, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147227 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| | 147228 | .{ ._, .v_ss, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147229 | } }, |
| | 147230 | }, .{ |
| | 147231 | .required_features = .{ .sse, null, null, null }, |
| | 147232 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147233 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147234 | .patterns = &.{ |
| | 147235 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147236 | }, |
| | 147237 | .extra_temps = .{ |
| | 147238 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147239 | .unused, |
| | 147240 | .unused, |
| | 147241 | .unused, |
| | 147242 | .unused, |
| | 147243 | .unused, |
| | 147244 | .unused, |
| | 147245 | .unused, |
| | 147246 | .unused, |
| | 147247 | .unused, |
| | 147248 | .unused, |
| | 147249 | }, |
| | 147250 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147251 | .each = .{ .once = &.{ |
| | 147252 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 147253 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 147254 | .{ ._, ._ps, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 147255 | .{ ._, ._ps, .mova, .tmp0x, .dst0x, ._, ._ }, |
| | 147256 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01), ._ }, |
| | 147257 | .{ ._, ._ss, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 147258 | } }, |
| | 147259 | }, .{ |
| | 147260 | .required_features = .{ .avx, null, null, null }, |
| | 147261 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147262 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 147263 | .patterns = &.{ |
| | 147264 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147265 | }, |
| | 147266 | .extra_temps = .{ |
| | 147267 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 147268 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 147269 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 147270 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147271 | .unused, |
| | 147272 | .unused, |
| | 147273 | .unused, |
| | 147274 | .unused, |
| | 147275 | .unused, |
| | 147276 | .unused, |
| | 147277 | .unused, |
| | 147278 | }, |
| | 147279 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147280 | .each = .{ .once = &.{ |
| | 147281 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147282 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 147283 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 147284 | .{ ._, .v_ps, .@"or", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 147285 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 147286 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147287 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 147288 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147289 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 147290 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147291 | } }, |
| | 147292 | }, .{ |
| | 147293 | .required_features = .{ .avx, null, null, null }, |
| | 147294 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147295 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 147296 | .patterns = &.{ |
| | 147297 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147298 | }, |
| | 147299 | .extra_temps = .{ |
| | 147300 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 147301 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147302 | .unused, |
| | 147303 | .unused, |
| | 147304 | .unused, |
| | 147305 | .unused, |
| | 147306 | .unused, |
| | 147307 | .unused, |
| | 147308 | .unused, |
| | 147309 | .unused, |
| | 147310 | .unused, |
| | 147311 | }, |
| | 147312 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147313 | .each = .{ .once = &.{ |
| | 147314 | .{ ._, .v_f128, .extract, .tmp1x, .src0y, .ui(1), ._ }, |
| | 147315 | .{ ._, .v_ps, .min, .dst0x, .src0x, .tmp1x, ._ }, |
| | 147316 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 147317 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 147318 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 147319 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 147320 | } }, |
| | 147321 | }, .{ |
| | 147322 | .required_features = .{ .avx512f, null, null, null }, |
| | 147323 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147324 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 147325 | .patterns = &.{ |
| | 147326 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147327 | }, |
| | 147328 | .extra_temps = .{ |
| | 147329 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 147330 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 147331 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 147332 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 147333 | .unused, |
| | 147334 | .unused, |
| | 147335 | .unused, |
| | 147336 | .unused, |
| | 147337 | .unused, |
| | 147338 | .unused, |
| | 147339 | .unused, |
| | 147340 | }, |
| | 147341 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147342 | .each = .{ .once = &.{ |
| | 147343 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147344 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 147345 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 147346 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 147347 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 147348 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 147349 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 147350 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 147351 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 147352 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 147353 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147354 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 147355 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147356 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 147357 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147358 | } }, |
| | 147359 | }, .{ |
| | 147360 | .required_features = .{ .avx512f, null, null, null }, |
| | 147361 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147362 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 147363 | .patterns = &.{ |
| | 147364 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147365 | }, |
| | 147366 | .extra_temps = .{ |
| | 147367 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147368 | .unused, |
| | 147369 | .unused, |
| | 147370 | .unused, |
| | 147371 | .unused, |
| | 147372 | .unused, |
| | 147373 | .unused, |
| | 147374 | .unused, |
| | 147375 | .unused, |
| | 147376 | .unused, |
| | 147377 | .unused, |
| | 147378 | }, |
| | 147379 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147380 | .each = .{ .once = &.{ |
| | 147381 | .{ ._, .v_ps, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 147382 | .{ ._, .v_ps, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 147383 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 147384 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 147385 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147386 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 147387 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147388 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 147389 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147390 | } }, |
| | 147391 | }, .{ |
| | 147392 | .required_features = .{ .avx, null, null, null }, |
| | 147393 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147394 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 147395 | .patterns = &.{ |
| | 147396 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147397 | }, |
| | 147398 | .extra_temps = .{ |
| | 147399 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147400 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147401 | .unused, |
| | 147402 | .unused, |
| | 147403 | .unused, |
| | 147404 | .unused, |
| | 147405 | .unused, |
| | 147406 | .unused, |
| | 147407 | .unused, |
| | 147408 | .unused, |
| | 147409 | .unused, |
| | 147410 | }, |
| | 147411 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147412 | .clobbers = .{ .eflags = true }, |
| | 147413 | .each = .{ .once = &.{ |
| | 147414 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 147415 | .{ ._, .v_ps, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 147416 | .{ .@"0:", .v_ps, .min, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 147417 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 147418 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147419 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 147420 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 147421 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 147422 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 147423 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01) }, |
| | 147424 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 147425 | } }, |
| | 147426 | }, .{ |
| | 147427 | .required_features = .{ .sse, null, null, null }, |
| | 147428 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147429 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147430 | .patterns = &.{ |
| | 147431 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147432 | }, |
| | 147433 | .extra_temps = .{ |
| | 147434 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147435 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147436 | .unused, |
| | 147437 | .unused, |
| | 147438 | .unused, |
| | 147439 | .unused, |
| | 147440 | .unused, |
| | 147441 | .unused, |
| | 147442 | .unused, |
| | 147443 | .unused, |
| | 147444 | .unused, |
| | 147445 | }, |
| | 147446 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147447 | .clobbers = .{ .eflags = true }, |
| | 147448 | .each = .{ .once = &.{ |
| | 147449 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 147450 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 147451 | .{ .@"0:", ._ps, .min, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 147452 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 147453 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147454 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 147455 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 147456 | .{ ._, ._ps, .min, .dst0x, .tmp1x, ._, ._ }, |
| | 147457 | .{ ._, ._ps, .mova, .tmp1x, .dst0x, ._, ._ }, |
| | 147458 | .{ ._, ._ps, .shuf, .tmp1x, .tmp1x, .ui(0b01), ._ }, |
| | 147459 | .{ ._, ._ss, .min, .dst0x, .tmp1x, ._, ._ }, |
| | 147460 | } }, |
| | 147461 | }, .{ |
| | 147462 | .required_features = .{ .avx512f, null, null, null }, |
| | 147463 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147464 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .dword } }, .any, .any }, |
| | 147465 | .patterns = &.{ |
| | 147466 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147467 | }, |
| | 147468 | .extra_temps = .{ |
| | 147469 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147470 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 147471 | .{ .type = .vector_16_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 147472 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 147473 | .unused, |
| | 147474 | .unused, |
| | 147475 | .unused, |
| | 147476 | .unused, |
| | 147477 | .unused, |
| | 147478 | .unused, |
| | 147479 | .unused, |
| | 147480 | }, |
| | 147481 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147482 | .clobbers = .{ .eflags = true }, |
| | 147483 | .each = .{ .once = &.{ |
| | 147484 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147485 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 147486 | .{ ._, .v_ps, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 147487 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 147488 | .{ ._, .v_ps, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 147489 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 147490 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 147491 | .{ ._, .v_ps, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 147492 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 147493 | .{ .@"0:", .v_ps, .min, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 147494 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 147495 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 147496 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147497 | .{ ._, .v_ps, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 147498 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 147499 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147500 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 147501 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147502 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 147503 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147504 | } }, |
| | 147505 | }, .{ |
| | 147506 | .required_features = .{ .avx, null, null, null }, |
| | 147507 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147508 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .dword } }, .any, .any }, |
| | 147509 | .patterns = &.{ |
| | 147510 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147511 | }, |
| | 147512 | .extra_temps = .{ |
| | 147513 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147514 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 147515 | .{ .type = .vector_8_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 147516 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147517 | .unused, |
| | 147518 | .unused, |
| | 147519 | .unused, |
| | 147520 | .unused, |
| | 147521 | .unused, |
| | 147522 | .unused, |
| | 147523 | .unused, |
| | 147524 | }, |
| | 147525 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147526 | .clobbers = .{ .eflags = true }, |
| | 147527 | .each = .{ .once = &.{ |
| | 147528 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147529 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 147530 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 147531 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 147532 | .{ ._, .v_ps, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 147533 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 147534 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 147535 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147536 | .{ .@"0:", .v_ps, .min, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 147537 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 147538 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147539 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 147540 | .{ ._, .v_ps, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147541 | .{ ._, .v_ps, .shuf, .tmp3x, .dst0x, .dst0x, .ui(0b01) }, |
| | 147542 | .{ ._, .v_ss, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147543 | } }, |
| | 147544 | }, .{ |
| | 147545 | .required_features = .{ .sse, null, null, null }, |
| | 147546 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| | 147547 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| | 147548 | .patterns = &.{ |
| | 147549 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147550 | }, |
| | 147551 | .extra_temps = .{ |
| | 147552 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147553 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 147554 | .{ .type = .vector_4_f32, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 147555 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147556 | .unused, |
| | 147557 | .unused, |
| | 147558 | .unused, |
| | 147559 | .unused, |
| | 147560 | .unused, |
| | 147561 | .unused, |
| | 147562 | .unused, |
| | 147563 | }, |
| | 147564 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147565 | .clobbers = .{ .eflags = true }, |
| | 147566 | .each = .{ .once = &.{ |
| | 147567 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147568 | .{ ._, ._ps, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 147569 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 147570 | .{ ._, ._ps, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 147571 | .{ ._, ._ps, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 147572 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 147573 | .{ .@"0:", ._ps, .min, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 147574 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 147575 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147576 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 147577 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 147578 | .{ ._, ._ps, .min, .dst0x, .tmp3x, ._, ._ }, |
| | 147579 | .{ ._, ._ps, .mova, .tmp3x, .dst0x, ._, ._ }, |
| | 147580 | .{ ._, ._ps, .shuf, .tmp3x, .tmp3x, .ui(0b01), ._ }, |
| | 147581 | .{ ._, ._ss, .min, .dst0x, .tmp3x, ._, ._ }, |
| | 147582 | } }, |
| | 147583 | }, .{ |
| | 147584 | .required_features = .{ .avx, null, null, null }, |
| | 147585 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147586 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 147587 | .patterns = &.{ |
| | 147588 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147589 | }, |
| | 147590 | .extra_temps = .{ |
| | 147591 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147592 | .unused, |
| | 147593 | .unused, |
| | 147594 | .unused, |
| | 147595 | .unused, |
| | 147596 | .unused, |
| | 147597 | .unused, |
| | 147598 | .unused, |
| | 147599 | .unused, |
| | 147600 | .unused, |
| | 147601 | .unused, |
| | 147602 | }, |
| | 147603 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147604 | .each = .{ .once = &.{ |
| | 147605 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| | 147606 | .{ ._, .v_sd, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147607 | } }, |
| | 147608 | }, .{ |
| | 147609 | .required_features = .{ .sse2, null, null, null }, |
| | 147610 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147611 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 147612 | .patterns = &.{ |
| | 147613 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| | 147614 | }, |
| | 147615 | .extra_temps = .{ |
| | 147616 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147617 | .unused, |
| | 147618 | .unused, |
| | 147619 | .unused, |
| | 147620 | .unused, |
| | 147621 | .unused, |
| | 147622 | .unused, |
| | 147623 | .unused, |
| | 147624 | .unused, |
| | 147625 | .unused, |
| | 147626 | .unused, |
| | 147627 | }, |
| | 147628 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| | 147629 | .each = .{ .once = &.{ |
| | 147630 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| | 147631 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| | 147632 | .{ ._, ._sd, .min, .dst0x, .tmp0x, ._, ._ }, |
| | 147633 | } }, |
| | 147634 | }, .{ |
| | 147635 | .required_features = .{ .avx, null, null, null }, |
| | 147636 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147637 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 147638 | .patterns = &.{ |
| | 147639 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147640 | }, |
| | 147641 | .extra_temps = .{ |
| | 147642 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147643 | .unused, |
| | 147644 | .unused, |
| | 147645 | .unused, |
| | 147646 | .unused, |
| | 147647 | .unused, |
| | 147648 | .unused, |
| | 147649 | .unused, |
| | 147650 | .unused, |
| | 147651 | .unused, |
| | 147652 | .unused, |
| | 147653 | }, |
| | 147654 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147655 | .each = .{ .once = &.{ |
| | 147656 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 147657 | .{ ._, .v_sd, .min, .tmp0x, .src0x, .tmp0x, ._ }, |
| | 147658 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| | 147659 | .{ ._, .v_sd, .min, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 147660 | } }, |
| | 147661 | }, .{ |
| | 147662 | .required_features = .{ .avx, null, null, null }, |
| | 147663 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147664 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 147665 | .patterns = &.{ |
| | 147666 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 147667 | }, |
| | 147668 | .extra_temps = .{ |
| | 147669 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147670 | .unused, |
| | 147671 | .unused, |
| | 147672 | .unused, |
| | 147673 | .unused, |
| | 147674 | .unused, |
| | 147675 | .unused, |
| | 147676 | .unused, |
| | 147677 | .unused, |
| | 147678 | .unused, |
| | 147679 | .unused, |
| | 147680 | }, |
| | 147681 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 147682 | .each = .{ .once = &.{ |
| | 147683 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 147684 | .{ ._, .v_pd, .min, .dst0x, .src0x, .tmp0x, ._ }, |
| | 147685 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 147686 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147687 | } }, |
| | 147688 | }, .{ |
| | 147689 | .required_features = .{ .avx512f, null, null, null }, |
| | 147690 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147691 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 147692 | .patterns = &.{ |
| | 147693 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147694 | }, |
| | 147695 | .extra_temps = .{ |
| | 147696 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 147697 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 147698 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 147699 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 147700 | .unused, |
| | 147701 | .unused, |
| | 147702 | .unused, |
| | 147703 | .unused, |
| | 147704 | .unused, |
| | 147705 | .unused, |
| | 147706 | .unused, |
| | 147707 | }, |
| | 147708 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147709 | .each = .{ .once = &.{ |
| | 147710 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147711 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 147712 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 147713 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 147714 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 147715 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memd(.src0y, 32), ._ }, |
| | 147716 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 147717 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 147718 | .{ ._, .v_pd, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 147719 | .{ ._, .v_i128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 147720 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147721 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 147722 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147723 | } }, |
| | 147724 | }, .{ |
| | 147725 | .required_features = .{ .avx512f, null, null, null }, |
| | 147726 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147727 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 147728 | .patterns = &.{ |
| | 147729 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147730 | }, |
| | 147731 | .extra_temps = .{ |
| | 147732 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147733 | .unused, |
| | 147734 | .unused, |
| | 147735 | .unused, |
| | 147736 | .unused, |
| | 147737 | .unused, |
| | 147738 | .unused, |
| | 147739 | .unused, |
| | 147740 | .unused, |
| | 147741 | .unused, |
| | 147742 | .unused, |
| | 147743 | }, |
| | 147744 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147745 | .each = .{ .once = &.{ |
| | 147746 | .{ ._, .v_pd, .mova, .dst0y, .mem(.src0y), ._, ._ }, |
| | 147747 | .{ ._, .v_pd, .mova, .tmp0y, .memd(.src0y, 32), ._, ._ }, |
| | 147748 | .{ ._, .v_pd, .min, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 147749 | .{ ._, .v_i128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 147750 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147751 | .{ ._, .v_ps, .movhl, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 147752 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 147753 | } }, |
| | 147754 | }, .{ |
| | 147755 | .required_features = .{ .avx, null, null, null }, |
| | 147756 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147757 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 147758 | .patterns = &.{ |
| | 147759 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147760 | }, |
| | 147761 | .extra_temps = .{ |
| | 147762 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147763 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 147764 | .unused, |
| | 147765 | .unused, |
| | 147766 | .unused, |
| | 147767 | .unused, |
| | 147768 | .unused, |
| | 147769 | .unused, |
| | 147770 | .unused, |
| | 147771 | .unused, |
| | 147772 | .unused, |
| | 147773 | }, |
| | 147774 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147775 | .clobbers = .{ .eflags = true }, |
| | 147776 | .each = .{ .once = &.{ |
| | 147777 | .{ ._, ._, .mov, .tmp0d, .sia(-64, .src0, .add_unaligned_size), ._, ._ }, |
| | 147778 | .{ ._, .v_pd, .mova, .dst0y, .memad(.src0y, .add_unaligned_size, -32), ._, ._ }, |
| | 147779 | .{ .@"0:", .v_pd, .min, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 147780 | .{ ._, ._, .sub, .tmp0d, .si(32), ._, ._ }, |
| | 147781 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147782 | .{ ._, .v_f128, .extract, .tmp1x, .dst0y, .ui(1), ._ }, |
| | 147783 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 147784 | .{ ._, .v_ps, .movhl, .tmp1x, .dst0x, .dst0x, ._ }, |
| | 147785 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp1x, ._ }, |
| | 147786 | } }, |
| | 147787 | }, .{ |
| | 147788 | .required_features = .{ .sse2, null, null, null }, |
| | 147789 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147790 | .src_constraints = .{ .{ .unaligned_multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 147791 | .patterns = &.{ |
| | 147792 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147793 | }, |
| | 147794 | .extra_temps = .{ |
| | 147795 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147796 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147797 | .unused, |
| | 147798 | .unused, |
| | 147799 | .unused, |
| | 147800 | .unused, |
| | 147801 | .unused, |
| | 147802 | .unused, |
| | 147803 | .unused, |
| | 147804 | .unused, |
| | 147805 | .unused, |
| | 147806 | }, |
| | 147807 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147808 | .clobbers = .{ .eflags = true }, |
| | 147809 | .each = .{ .once = &.{ |
| | 147810 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 147811 | .{ ._, ._pd, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 147812 | .{ .@"0:", ._pd, .min, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 147813 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 147814 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147815 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 147816 | .{ ._, ._ps, .movhl, .tmp1x, .dst0x, ._, ._ }, |
| | 147817 | .{ ._, ._sd, .min, .dst0x, .tmp1x, ._, ._ }, |
| | 147818 | } }, |
| | 147819 | }, .{ |
| | 147820 | .required_features = .{ .avx512f, null, null, null }, |
| | 147821 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147822 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .zword, .is = .qword } }, .any, .any }, |
| | 147823 | .patterns = &.{ |
| | 147824 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147825 | }, |
| | 147826 | .extra_temps = .{ |
| | 147827 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147828 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 147829 | .{ .type = .vector_8_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 147830 | .{ .type = .vector_4_f64, .kind = .{ .rc = .sse } }, |
| | 147831 | .unused, |
| | 147832 | .unused, |
| | 147833 | .unused, |
| | 147834 | .unused, |
| | 147835 | .unused, |
| | 147836 | .unused, |
| | 147837 | .unused, |
| | 147838 | }, |
| | 147839 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147840 | .clobbers = .{ .eflags = true }, |
| | 147841 | .each = .{ .once = &.{ |
| | 147842 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147843 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 147844 | .{ ._, .v_pd, .mova, .tmp3y, .lead(.tmp0y, 32), ._, ._ }, |
| | 147845 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 147846 | .{ ._, .v_pd, .@"and", .tmp3y, .tmp3y, .memad(.src0y, .add_size, -32), ._ }, |
| | 147847 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -64), ._ }, |
| | 147848 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 147849 | .{ ._, .v_pd, .@"or", .tmp3y, .tmp3y, .lead(.tmp0y, 32), ._ }, |
| | 147850 | .{ ._, ._, .mov, .tmp0d, .sia(-128, .src0, .add_size), ._, ._ }, |
| | 147851 | .{ .@"0:", .v_pd, .min, .tmp3y, .tmp3y, .memid(.src0y, .tmp0, 32), ._ }, |
| | 147852 | .{ ._, .v_pd, .min, .dst0y, .dst0y, .memi(.src0y, .tmp0), ._ }, |
| | 147853 | .{ ._, ._, .sub, .tmp0d, .si(64), ._, ._ }, |
| | 147854 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147855 | .{ ._, .v_pd, .min, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 147856 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 147857 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147858 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 147859 | .{ ._, .v_sd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147860 | } }, |
| | 147861 | }, .{ |
| | 147862 | .required_features = .{ .avx, null, null, null }, |
| | 147863 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147864 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| | 147865 | .patterns = &.{ |
| | 147866 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147867 | }, |
| | 147868 | .extra_temps = .{ |
| | 147869 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147870 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 147871 | .{ .type = .vector_4_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 147872 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147873 | .unused, |
| | 147874 | .unused, |
| | 147875 | .unused, |
| | 147876 | .unused, |
| | 147877 | .unused, |
| | 147878 | .unused, |
| | 147879 | .unused, |
| | 147880 | }, |
| | 147881 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147882 | .clobbers = .{ .eflags = true }, |
| | 147883 | .each = .{ .once = &.{ |
| | 147884 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147885 | .{ ._, .v_pd, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 147886 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 147887 | .{ ._, .v_pd, .@"and", .dst0y, .dst0y, .memad(.src0y, .add_size, -32), ._ }, |
| | 147888 | .{ ._, .v_pd, .@"or", .dst0y, .dst0y, .lea(.tmp0y), ._ }, |
| | 147889 | .{ ._, ._, .mov, .tmp0d, .sia(-48, .src0, .add_size), ._, ._ }, |
| | 147890 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 147891 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147892 | .{ .@"0:", .v_pd, .min, .dst0x, .dst0x, .memi(.src0x, .tmp0), ._ }, |
| | 147893 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 147894 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147895 | .{ ._, .v_ps, .movhl, .tmp3x, .dst0x, .dst0x, ._ }, |
| | 147896 | .{ ._, .v_pd, .min, .dst0x, .dst0x, .tmp3x, ._ }, |
| | 147897 | } }, |
| | 147898 | }, .{ |
| | 147899 | .required_features = .{ .sse2, null, null, null }, |
| | 147900 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147901 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| | 147902 | .patterns = &.{ |
| | 147903 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147904 | }, |
| | 147905 | .extra_temps = .{ |
| | 147906 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147907 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 147908 | .{ .type = .vector_2_f64, .kind = .{ .splat_float_mem = .{ .ref = .src0, .outside = inf } } }, |
| | 147909 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| | 147910 | .unused, |
| | 147911 | .unused, |
| | 147912 | .unused, |
| | 147913 | .unused, |
| | 147914 | .unused, |
| | 147915 | .unused, |
| | 147916 | .unused, |
| | 147917 | }, |
| | 147918 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 147919 | .clobbers = .{ .eflags = true }, |
| | 147920 | .each = .{ .once = &.{ |
| | 147921 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 147922 | .{ ._, ._pd, .mova, .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 147923 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp2), ._, ._ }, |
| | 147924 | .{ ._, ._pd, .@"and", .dst0x, .memad(.src0x, .add_size, -16), ._, ._ }, |
| | 147925 | .{ ._, ._pd, .@"or", .dst0x, .lea(.tmp0x), ._, ._ }, |
| | 147926 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_size), ._, ._ }, |
| | 147927 | .{ .@"0:", ._pd, .min, .dst0x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 147928 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 147929 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147930 | .{ ._, ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| | 147931 | .{ ._, ._ps, .movhl, .tmp3x, .dst0x, ._, ._ }, |
| | 147932 | .{ ._, ._pd, .min, .dst0x, .tmp3x, ._, ._ }, |
| | 147933 | } }, |
| | 147934 | }, .{ |
| | 147935 | .required_features = .{ .x87, .cmov, null, null }, |
| | 147936 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147937 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 147938 | .patterns = &.{ |
| | 147939 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147940 | }, |
| | 147941 | .extra_temps = .{ |
| | 147942 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147943 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 147944 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 147945 | .unused, |
| | 147946 | .unused, |
| | 147947 | .unused, |
| | 147948 | .unused, |
| | 147949 | .unused, |
| | 147950 | .unused, |
| | 147951 | .unused, |
| | 147952 | .unused, |
| | 147953 | }, |
| | 147954 | .dst_temps = .{ .mem, .unused }, |
| | 147955 | .clobbers = .{ .eflags = true }, |
| | 147956 | .each = .{ .once = &.{ |
| | 147957 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 147958 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 147959 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 147960 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 147961 | .{ ._, .f_nb, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 147962 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 147963 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 147964 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 147965 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 147966 | } }, |
| | 147967 | }, .{ |
| | 147968 | .required_features = .{ .sahf, .x87, null, null }, |
| | 147969 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 147970 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 147971 | .patterns = &.{ |
| | 147972 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 147973 | }, |
| | 147974 | .extra_temps = .{ |
| | 147975 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 147976 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 147977 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 147978 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 147979 | .unused, |
| | 147980 | .unused, |
| | 147981 | .unused, |
| | 147982 | .unused, |
| | 147983 | .unused, |
| | 147984 | .unused, |
| | 147985 | .unused, |
| | 147986 | }, |
| | 147987 | .dst_temps = .{ .mem, .unused }, |
| | 147988 | .clobbers = .{ .eflags = true }, |
| | 147989 | .each = .{ .once = &.{ |
| | 147990 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 147991 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 147992 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 147993 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 147994 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 147995 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 147996 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 147997 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 147998 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 147999 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 148000 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148001 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 148002 | } }, |
| | 148003 | }, .{ |
| | 148004 | .required_features = .{ .x87, null, null, null }, |
| | 148005 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| | 148006 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| | 148007 | .patterns = &.{ |
| | 148008 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148009 | }, |
| | 148010 | .extra_temps = .{ |
| | 148011 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148012 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 148013 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 148014 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 148015 | .unused, |
| | 148016 | .unused, |
| | 148017 | .unused, |
| | 148018 | .unused, |
| | 148019 | .unused, |
| | 148020 | .unused, |
| | 148021 | .unused, |
| | 148022 | }, |
| | 148023 | .dst_temps = .{ .mem, .unused }, |
| | 148024 | .clobbers = .{ .eflags = true }, |
| | 148025 | .each = .{ .once = &.{ |
| | 148026 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| | 148027 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| | 148028 | .{ .@"0:", .f_, .ld, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| | 148029 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 148030 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 148031 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 148032 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 148033 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 148034 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 148035 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 148036 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148037 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| | 148038 | } }, |
| | 148039 | }, .{ |
| | 148040 | .required_features = .{ .x87, .cmov, null, null }, |
| | 148041 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 148042 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 148043 | .patterns = &.{ |
| | 148044 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148045 | }, |
| | 148046 | .extra_temps = .{ |
| | 148047 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148048 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 148049 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 148050 | .unused, |
| | 148051 | .unused, |
| | 148052 | .unused, |
| | 148053 | .unused, |
| | 148054 | .unused, |
| | 148055 | .unused, |
| | 148056 | .unused, |
| | 148057 | .unused, |
| | 148058 | }, |
| | 148059 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 148060 | .clobbers = .{ .eflags = true }, |
| | 148061 | .each = .{ .once = &.{ |
| | 148062 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 148063 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 148064 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 148065 | .{ ._, .f_, .ucomi, .tmp2t, .tmp1t, ._, ._ }, |
| | 148066 | .{ ._, .f_nb, .cmov, .tmp2t, .tmp1t, ._, ._ }, |
| | 148067 | .{ ._, .f_p, .st, .tmp1t, ._, ._, ._ }, |
| | 148068 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 148069 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148070 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 148071 | } }, |
| | 148072 | }, .{ |
| | 148073 | .required_features = .{ .sahf, .x87, null, null }, |
| | 148074 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 148075 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 148076 | .patterns = &.{ |
| | 148077 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148078 | }, |
| | 148079 | .extra_temps = .{ |
| | 148080 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148081 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 148082 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 148083 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 148084 | .unused, |
| | 148085 | .unused, |
| | 148086 | .unused, |
| | 148087 | .unused, |
| | 148088 | .unused, |
| | 148089 | .unused, |
| | 148090 | .unused, |
| | 148091 | }, |
| | 148092 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 148093 | .clobbers = .{ .eflags = true }, |
| | 148094 | .each = .{ .once = &.{ |
| | 148095 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 148096 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 148097 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 148098 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 148099 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 148100 | .{ ._, ._, .sahf, ._, ._, ._, ._ }, |
| | 148101 | .{ ._, ._nb, .j, .@"1f", ._, ._, ._ }, |
| | 148102 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 148103 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 148104 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 148105 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148106 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 148107 | } }, |
| | 148108 | }, .{ |
| | 148109 | .required_features = .{ .x87, null, null, null }, |
| | 148110 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| | 148111 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| | 148112 | .patterns = &.{ |
| | 148113 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148114 | }, |
| | 148115 | .extra_temps = .{ |
| | 148116 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148117 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 148118 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| | 148119 | .{ .type = .u16, .kind = .{ .reg = .ax } }, |
| | 148120 | .unused, |
| | 148121 | .unused, |
| | 148122 | .unused, |
| | 148123 | .unused, |
| | 148124 | .unused, |
| | 148125 | .unused, |
| | 148126 | .unused, |
| | 148127 | }, |
| | 148128 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| | 148129 | .clobbers = .{ .eflags = true }, |
| | 148130 | .each = .{ .once = &.{ |
| | 148131 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 148132 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| | 148133 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| | 148134 | .{ ._, .f_, .ucom, .tmp1t, ._, ._, ._ }, |
| | 148135 | .{ ._, .fn_sw, .st, .tmp3w, ._, ._, ._ }, |
| | 148136 | .{ ._, ._, .@"test", .tmp3h, .si(0b0_000_001), ._, ._ }, |
| | 148137 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 148138 | .{ ._, .f_, .st, .tmp1t, ._, ._, ._ }, |
| | 148139 | .{ .@"1:", .f_p, .st, .tmp2t, ._, ._, ._ }, |
| | 148140 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 148141 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148142 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| | 148143 | } }, |
| | 148144 | }, .{ |
| | 148145 | .required_features = .{ .avx, null, null, null }, |
| | 148146 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 148147 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 148148 | .patterns = &.{ |
| | 148149 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148150 | }, |
| | 148151 | .call_frame = .{ .alignment = .@"16" }, |
| | 148152 | .extra_temps = .{ |
| | 148153 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148154 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 148155 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| | 148156 | .unused, |
| | 148157 | .unused, |
| | 148158 | .unused, |
| | 148159 | .unused, |
| | 148160 | .unused, |
| | 148161 | .unused, |
| | 148162 | .unused, |
| | 148163 | .unused, |
| | 148164 | }, |
| | 148165 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 148166 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 148167 | .each = .{ .once = &.{ |
| | 148168 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 148169 | .{ ._, .v_dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 148170 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 148171 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 148172 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 148173 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148174 | } }, |
| | 148175 | }, .{ |
| | 148176 | .required_features = .{ .sse2, null, null, null }, |
| | 148177 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 148178 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 148179 | .patterns = &.{ |
| | 148180 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148181 | }, |
| | 148182 | .call_frame = .{ .alignment = .@"16" }, |
| | 148183 | .extra_temps = .{ |
| | 148184 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148185 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 148186 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| | 148187 | .unused, |
| | 148188 | .unused, |
| | 148189 | .unused, |
| | 148190 | .unused, |
| | 148191 | .unused, |
| | 148192 | .unused, |
| | 148193 | .unused, |
| | 148194 | .unused, |
| | 148195 | }, |
| | 148196 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 148197 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 148198 | .each = .{ .once = &.{ |
| | 148199 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 148200 | .{ ._, ._dqa, .mov, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 148201 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 148202 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 148203 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 148204 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148205 | } }, |
| | 148206 | }, .{ |
| | 148207 | .required_features = .{ .sse, null, null, null }, |
| | 148208 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| | 148209 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| | 148210 | .patterns = &.{ |
| | 148211 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148212 | }, |
| | 148213 | .call_frame = .{ .alignment = .@"16" }, |
| | 148214 | .extra_temps = .{ |
| | 148215 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| | 148216 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 148217 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fminq" } } }, |
| | 148218 | .unused, |
| | 148219 | .unused, |
| | 148220 | .unused, |
| | 148221 | .unused, |
| | 148222 | .unused, |
| | 148223 | .unused, |
| | 148224 | .unused, |
| | 148225 | .unused, |
| | 148226 | }, |
| | 148227 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| | 148228 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 148229 | .each = .{ .once = &.{ |
| | 148230 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| | 148231 | .{ ._, ._ps, .mova, .dst0x, .memad(.src0x, .add_unaligned_size, -16), ._, ._ }, |
| | 148232 | .{ .@"0:", ._ps, .mova, .tmp1x, .memi(.src0x, .tmp0), ._, ._ }, |
| | 148233 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 148234 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| | 148235 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| | 148236 | } }, |
| | 148237 | } }, |
| | 148238 | .Max => unreachable, |
| | 148239 | .Add => comptime &.{ .{ |
| | 148240 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 148241 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148242 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 148243 | .patterns = &.{ |
| | 148244 | .{ .src = .{ .mem, .none, .none } }, |
| | 148245 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148246 | }, |
| | 148247 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148248 | .each = .{ .once = &.{ |
| | 148249 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 148250 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 148251 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148252 | } }, |
| | 148253 | }, .{ |
| | 148254 | .required_features = .{ .f16c, null, null, null }, |
| | 148255 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148256 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| | 148257 | .patterns = &.{ |
| | 148258 | .{ .src = .{ .mem, .none, .none } }, |
| | 148259 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148260 | }, |
| | 148261 | .extra_temps = .{ |
| | 148262 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 148263 | .unused, |
| | 148264 | .unused, |
| | 148265 | .unused, |
| | 148266 | .unused, |
| | 148267 | .unused, |
| | 148268 | .unused, |
| | 148269 | .unused, |
| | 148270 | .unused, |
| | 148271 | .unused, |
| | 148272 | .unused, |
| | 148273 | }, |
| | 148274 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148275 | .each = .{ .once = &.{ |
| | 148276 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 148277 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 148278 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148279 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148280 | } }, |
| | 148281 | }, .{ |
| | 148282 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 148283 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148284 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 148285 | .patterns = &.{ |
| | 148286 | .{ .src = .{ .mem, .none, .none } }, |
| | 148287 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148288 | }, |
| | 148289 | .extra_temps = .{ |
| | 148290 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 148291 | .unused, |
| | 148292 | .unused, |
| | 148293 | .unused, |
| | 148294 | .unused, |
| | 148295 | .unused, |
| | 148296 | .unused, |
| | 148297 | .unused, |
| | 148298 | .unused, |
| | 148299 | .unused, |
| | 148300 | .unused, |
| | 148301 | }, |
| | 148302 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148303 | .each = .{ .once = &.{ |
| | 148304 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 148305 | .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ }, |
| | 148306 | .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 148307 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| | 148308 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148309 | } }, |
| | 148310 | }, .{ |
| | 148311 | .required_features = .{ .f16c, null, null, null }, |
| | 148312 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148313 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 148314 | .patterns = &.{ |
| | 148315 | .{ .src = .{ .mem, .none, .none } }, |
| | 148316 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148317 | }, |
| | 148318 | .extra_temps = .{ |
| | 148319 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 148320 | .unused, |
| | 148321 | .unused, |
| | 148322 | .unused, |
| | 148323 | .unused, |
| | 148324 | .unused, |
| | 148325 | .unused, |
| | 148326 | .unused, |
| | 148327 | .unused, |
| | 148328 | .unused, |
| | 148329 | .unused, |
| | 148330 | }, |
| | 148331 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148332 | .each = .{ .once = &.{ |
| | 148333 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 148334 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 148335 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148336 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 148337 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148338 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148339 | } }, |
| | 148340 | }, .{ |
| | 148341 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 148342 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148343 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 148344 | .patterns = &.{ |
| | 148345 | .{ .src = .{ .mem, .none, .none } }, |
| | 148346 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148347 | }, |
| | 148348 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148349 | .each = .{ .once = &.{ |
| | 148350 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 148351 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 148352 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| | 148353 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148354 | } }, |
| | 148355 | }, .{ |
| | 148356 | .required_features = .{ .f16c, null, null, null }, |
| | 148357 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148358 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| | 148359 | .patterns = &.{ |
| | 148360 | .{ .src = .{ .mem, .none, .none } }, |
| | 148361 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148362 | }, |
| | 148363 | .extra_temps = .{ |
| | 148364 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| | 148365 | .unused, |
| | 148366 | .unused, |
| | 148367 | .unused, |
| | 148368 | .unused, |
| | 148369 | .unused, |
| | 148370 | .unused, |
| | 148371 | .unused, |
| | 148372 | .unused, |
| | 148373 | .unused, |
| | 148374 | .unused, |
| | 148375 | }, |
| | 148376 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148377 | .each = .{ .once = &.{ |
| | 148378 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| | 148379 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 148380 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148381 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 148382 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148383 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148384 | } }, |
| | 148385 | }, .{ |
| | 148386 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 148387 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148388 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 148389 | .patterns = &.{ |
| | 148390 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148391 | }, |
| | 148392 | .extra_temps = .{ |
| | 148393 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148394 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 148395 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148396 | .unused, |
| | 148397 | .unused, |
| | 148398 | .unused, |
| | 148399 | .unused, |
| | 148400 | .unused, |
| | 148401 | .unused, |
| | 148402 | .unused, |
| | 148403 | .unused, |
| | 148404 | }, |
| | 148405 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148406 | .each = .{ .once = &.{ |
| | 148407 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148408 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 148409 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 148410 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 148411 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 148412 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148413 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148414 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148415 | } }, |
| | 148416 | }, .{ |
| | 148417 | .required_features = .{ .f16c, null, null, null }, |
| | 148418 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148419 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 148420 | .patterns = &.{ |
| | 148421 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148422 | }, |
| | 148423 | .extra_temps = .{ |
| | 148424 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148425 | .{ .type = .vector_16_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 148426 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148427 | .unused, |
| | 148428 | .unused, |
| | 148429 | .unused, |
| | 148430 | .unused, |
| | 148431 | .unused, |
| | 148432 | .unused, |
| | 148433 | .unused, |
| | 148434 | .unused, |
| | 148435 | }, |
| | 148436 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148437 | .each = .{ .once = &.{ |
| | 148438 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148439 | .{ ._, .v_ps, .@"and", .dst0x, .src0x, .lea(.tmp0x), ._ }, |
| | 148440 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 148441 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148442 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148443 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 148444 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148445 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 148446 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148447 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148448 | } }, |
| | 148449 | }, .{ |
| | 148450 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 148451 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148452 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 148453 | .patterns = &.{ |
| | 148454 | .{ .src = .{ .mem, .none, .none } }, |
| | 148455 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148456 | }, |
| | 148457 | .extra_temps = .{ |
| | 148458 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148459 | .unused, |
| | 148460 | .unused, |
| | 148461 | .unused, |
| | 148462 | .unused, |
| | 148463 | .unused, |
| | 148464 | .unused, |
| | 148465 | .unused, |
| | 148466 | .unused, |
| | 148467 | .unused, |
| | 148468 | .unused, |
| | 148469 | }, |
| | 148470 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148471 | .each = .{ .once = &.{ |
| | 148472 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 148473 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 148474 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 148475 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 148476 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148477 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148478 | } }, |
| | 148479 | }, .{ |
| | 148480 | .required_features = .{ .f16c, null, null, null }, |
| | 148481 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148482 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .word } }, .any, .any }, |
| | 148483 | .patterns = &.{ |
| | 148484 | .{ .src = .{ .mem, .none, .none } }, |
| | 148485 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148486 | }, |
| | 148487 | .extra_temps = .{ |
| | 148488 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148489 | .unused, |
| | 148490 | .unused, |
| | 148491 | .unused, |
| | 148492 | .unused, |
| | 148493 | .unused, |
| | 148494 | .unused, |
| | 148495 | .unused, |
| | 148496 | .unused, |
| | 148497 | .unused, |
| | 148498 | .unused, |
| | 148499 | }, |
| | 148500 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148501 | .each = .{ .once = &.{ |
| | 148502 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 148503 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 148504 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148505 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 148506 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148507 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 148508 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148509 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148510 | } }, |
| | 148511 | }, .{ |
| | 148512 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 148513 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148514 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 148515 | .patterns = &.{ |
| | 148516 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148517 | }, |
| | 148518 | .extra_temps = .{ |
| | 148519 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148520 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 148521 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148522 | .unused, |
| | 148523 | .unused, |
| | 148524 | .unused, |
| | 148525 | .unused, |
| | 148526 | .unused, |
| | 148527 | .unused, |
| | 148528 | .unused, |
| | 148529 | .unused, |
| | 148530 | }, |
| | 148531 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148532 | .each = .{ .once = &.{ |
| | 148533 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148534 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 148535 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148536 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 148537 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 148538 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148539 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 148540 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 148541 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148542 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148543 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148544 | } }, |
| | 148545 | }, .{ |
| | 148546 | .required_features = .{ .f16c, null, null, null }, |
| | 148547 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148548 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 148549 | .patterns = &.{ |
| | 148550 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148551 | }, |
| | 148552 | .extra_temps = .{ |
| | 148553 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148554 | .{ .type = .vector_32_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 148555 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148556 | .unused, |
| | 148557 | .unused, |
| | 148558 | .unused, |
| | 148559 | .unused, |
| | 148560 | .unused, |
| | 148561 | .unused, |
| | 148562 | .unused, |
| | 148563 | .unused, |
| | 148564 | }, |
| | 148565 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148566 | .each = .{ .once = &.{ |
| | 148567 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148568 | .{ ._, .v_ps, .@"and", .dst0y, .src0y, .lea(.tmp0y), ._ }, |
| | 148569 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148570 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 148571 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 148572 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148573 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148574 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148575 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 148576 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148577 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 148578 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148579 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148580 | } }, |
| | 148581 | }, .{ |
| | 148582 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| | 148583 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148584 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 148585 | .patterns = &.{ |
| | 148586 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148587 | }, |
| | 148588 | .extra_temps = .{ |
| | 148589 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148590 | .unused, |
| | 148591 | .unused, |
| | 148592 | .unused, |
| | 148593 | .unused, |
| | 148594 | .unused, |
| | 148595 | .unused, |
| | 148596 | .unused, |
| | 148597 | .unused, |
| | 148598 | .unused, |
| | 148599 | .unused, |
| | 148600 | }, |
| | 148601 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148602 | .each = .{ .once = &.{ |
| | 148603 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 148604 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 148605 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 148606 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 148607 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 148608 | .{ ._, .vh_ps, .add, .dst0y, .dst0y, .dst0y, ._ }, |
| | 148609 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 148610 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148611 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148612 | } }, |
| | 148613 | }, .{ |
| | 148614 | .required_features = .{ .f16c, null, null, null }, |
| | 148615 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148616 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .yword, .is = .word } }, .any, .any }, |
| | 148617 | .patterns = &.{ |
| | 148618 | .{ .src = .{ .to_sse, .none, .none } }, |
| | 148619 | }, |
| | 148620 | .extra_temps = .{ |
| | 148621 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148622 | .unused, |
| | 148623 | .unused, |
| | 148624 | .unused, |
| | 148625 | .unused, |
| | 148626 | .unused, |
| | 148627 | .unused, |
| | 148628 | .unused, |
| | 148629 | .unused, |
| | 148630 | .unused, |
| | 148631 | .unused, |
| | 148632 | }, |
| | 148633 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| | 148634 | .each = .{ .once = &.{ |
| | 148635 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| | 148636 | .{ ._, .v_ps, .cvtph2, .dst0y, .src0x, ._, ._ }, |
| | 148637 | .{ ._, .v_ps, .cvtph2, .tmp0y, .tmp0x, ._, ._ }, |
| | 148638 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp0y, ._ }, |
| | 148639 | .{ ._, .v_f128, .extract, .tmp0x, .dst0y, .ui(1), ._ }, |
| | 148640 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148641 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 148642 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148643 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| | 148644 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| | 148645 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 148646 | } }, |
| | 148647 | }, .{ |
| | 148648 | .required_features = .{ .avx512f, null, null, null }, |
| | 148649 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| | 148650 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .zword, .is = .word } }, .any, .any }, |
| | 148651 | .patterns = &.{ |
| | 148652 | .{ .src = .{ .to_mem, .none, .none } }, |
| | 148653 | }, |
| | 148654 | .extra_temps = .{ |
| | 148655 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 148656 | .{ .type = .vector_64_u8, .kind = .{ .pand_mask_mem = .{ .ref = .src0 } } }, |
| | 148657 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148658 | .{ .type = .vector_8_f32, .kind = .{ .rc = .sse } }, |
| | 148659 | .unused, |
| | 148660 | .unused, |
| | 148661 | .unused, |
| | 148662 | .unused, |
| | 148663 | .unused, |
| | 148664 | .unused, |
| | 148665 | .unused, |
| | 148666 | }, |
| | 148667 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| | 148668 | .each = .{ .once = &.{ |
| | 148669 | .{ ._, ._, .lea, .tmp0p, .mem(.tmp1), ._, ._ }, |
| | 148670 | .{ ._, .v_ps, .mova, .dst0y, .lea(.tmp0y), ._, ._ }, |
| | 148671 | .{ ._, .v_ps, .mova, .tmp2y, .lead(.tmp0y, 32), ._, ._ }, |
| | 148672 | .{ ._, .v_ps, .@"and", .tmp2y, .tmp2y, .memd(.src0y, 32), ._ }, |
| | 148673 | .{ ._, .v_ps, .@"and", .dst0y, .dst0y, .mem(.src0y), ._ }, |
| | 148674 | .{ ._, .v_f128, .extract, .tmp3x, .tmp2y, .ui(1), ._ }, |
| | 148675 | .{ ._, .v_ps, .cvtph2, .tmp2y, .tmp2x, ._, ._ }, |
| | 148676 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 148677 | .{ ._, .v_ps, .add, .tmp2y, .tmp2y, .tmp3y, ._ }, |
| | 148678 | .{ ._, .v_f128, .extract, .tmp3x, .dst0y, .ui(1), ._ }, |
| | 148679 | .{ ._, .v_ps, .cvtph2, .dst0y, .dst0x, ._, ._ }, |
| | 148680 | .{ ._, .v_ps, .cvtph2, .tmp3y, .tmp3x, ._, ._ }, |
| | 148681 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp3y, ._ }, |
| | 148682 | .{ ._, .v_ps, .add, .dst0y, .dst0y, .tmp2y, ._ }, |
| | 148683 | .{ ._, .v_f128, .extract, .tmp2x, .dst0y, .ui(1), ._ }, |
| | 148684 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148685 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b11_10) }, |
| | 148686 | .{ ._, .v_ps, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| | 148687 | .{ ._, .v_ps, .shuf, .tmp2x, .dst0x, .dst0x, .ui(0b01) }, |
| | 148688 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp2x, ._ }, |
| 146995 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, | 148689 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 146996 | } }, | 148690 | } }, |
| 146997 | }, .{ | 148691 | }, .{ |
| ... | @@ -148679,14 +150373,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148679,14 +150373,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148679 | }, .{ | 150373 | }, .{ |
| 148680 | .required_features = .{ .x87, null, null, null }, | 150374 | .required_features = .{ .x87, null, null, null }, |
| 148681 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 150375 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 148682 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .tbyte } }, .any, .any }, | 150376 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 148683 | .patterns = &.{ | 150377 | .patterns = &.{ |
| 148684 | .{ .src = .{ .to_mem, .none, .none } }, | 150378 | .{ .src = .{ .to_mem, .none, .none } }, |
| 148685 | }, | 150379 | }, |
| 148686 | .extra_temps = .{ | 150380 | .extra_temps = .{ |
| 148687 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 150381 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 148688 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | | |
| 148689 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 150382 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 150383 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 148690 | .unused, | 150384 | .unused, |
| 148691 | .unused, | 150385 | .unused, |
| 148692 | .unused, | 150386 | .unused, |
| ... | @@ -148696,7 +150390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -148696,7 +150390,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 148696 | .unused, | 150390 | .unused, |
| 148697 | .unused, | 150391 | .unused, |
| 148698 | }, | 150392 | }, |
| 148699 | .dst_temps = .{ .mem, .unused }, | 150393 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 148700 | .clobbers = .{ .eflags = true }, | 150394 | .clobbers = .{ .eflags = true }, |
| 148701 | .each = .{ .once = &.{ | 150395 | .each = .{ .once = &.{ |
| 148702 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 150396 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| ... | @@ -150222,14 +151916,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -150222,14 +151916,14 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 150222 | }, .{ | 151916 | }, .{ |
| 150223 | .required_features = .{ .x87, null, null, null }, | 151917 | .required_features = .{ .x87, null, null, null }, |
| 150224 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, | 151918 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 150225 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .tbyte } }, .any, .any }, | 151919 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, .any, .any }, |
| 150226 | .patterns = &.{ | 151920 | .patterns = &.{ |
| 150227 | .{ .src = .{ .to_mem, .none, .none } }, | 151921 | .{ .src = .{ .to_mem, .none, .none } }, |
| 150228 | }, | 151922 | }, |
| 150229 | .extra_temps = .{ | 151923 | .extra_temps = .{ |
| 150230 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, | 151924 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 150231 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, | | |
| 150232 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, | 151925 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 151926 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 150233 | .unused, | 151927 | .unused, |
| 150234 | .unused, | 151928 | .unused, |
| 150235 | .unused, | 151929 | .unused, |
| ... | @@ -150239,7 +151933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -150239,7 +151933,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 150239 | .unused, | 151933 | .unused, |
| 150240 | .unused, | 151934 | .unused, |
| 150241 | }, | 151935 | }, |
| 150242 | .dst_temps = .{ .mem, .unused }, | 151936 | .dst_temps = .{ .{ .rc = .x87 }, .unused }, |
| 150243 | .clobbers = .{ .eflags = true }, | 151937 | .clobbers = .{ .eflags = true }, |
| 150244 | .each = .{ .once = &.{ | 151938 | .each = .{ .once = &.{ |
| 150245 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, | 151939 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |