| ... | ... | @@ -2389,7 +2389,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2389 | 2389 | } |
| 2390 | 2390 | |
| 2391 | 2391 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2392 | | @setEvalBranchQuota(23_800); |
| 2392 | @setEvalBranchQuota(23_900); |
| 2393 | 2393 | const pt = cg.pt; |
| 2394 | 2394 | const zcu = pt.zcu; |
| 2395 | 2395 | const ip = &zcu.intern_pool; |
| ... | ... | @@ -117442,7 +117442,8 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 117442 | 117442 | switch (reduce.operation) { |
| 117443 | 117443 | .And, .Or, .Xor => {}, |
| 117444 | 117444 | .Min, .Max => break :fallback try cg.airReduce(inst), |
| 117445 | | .Add, .Mul => if (cg.floatBits(res_ty)) |_| break :fallback try cg.airReduce(inst), |
| 117445 | .Add => {}, |
| 117446 | .Mul => if (cg.floatBits(res_ty)) |_| break :fallback try cg.airReduce(inst), |
| 117446 | 117447 | } |
| 117447 | 117448 | var ops = try cg.tempsFromOperands(inst, .{reduce.operand}); |
| 117448 | 117449 | var res: [1]Temp = undefined; |
| ... | ... | @@ -126545,6 +126546,852 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 126545 | 126546 | .{ ._, ._, .sub, .tmp0d, .sa(.dst0, .add_size), ._, ._ }, |
| 126546 | 126547 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 126547 | 126548 | } }, |
| 126549 | }, .{ |
| 126550 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| 126551 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 126552 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| 126553 | .patterns = &.{ |
| 126554 | .{ .src = .{ .mem, .none, .none } }, |
| 126555 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126556 | }, |
| 126557 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126558 | .each = .{ .once = &.{ |
| 126559 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 126560 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| 126561 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 126562 | } }, |
| 126563 | }, .{ |
| 126564 | .required_features = .{ .f16c, null, null, null }, |
| 126565 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 126566 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .dword, .is = .word } }, .any, .any }, |
| 126567 | .patterns = &.{ |
| 126568 | .{ .src = .{ .mem, .none, .none } }, |
| 126569 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126570 | }, |
| 126571 | .extra_temps = .{ |
| 126572 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 126573 | .unused, |
| 126574 | .unused, |
| 126575 | .unused, |
| 126576 | .unused, |
| 126577 | .unused, |
| 126578 | .unused, |
| 126579 | .unused, |
| 126580 | .unused, |
| 126581 | .unused, |
| 126582 | .unused, |
| 126583 | }, |
| 126584 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126585 | .each = .{ .once = &.{ |
| 126586 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 126587 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| 126588 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126589 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 126590 | } }, |
| 126591 | }, .{ |
| 126592 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| 126593 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 126594 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 126595 | .patterns = &.{ |
| 126596 | .{ .src = .{ .mem, .none, .none } }, |
| 126597 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126598 | }, |
| 126599 | .extra_temps = .{ |
| 126600 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 126601 | .unused, |
| 126602 | .unused, |
| 126603 | .unused, |
| 126604 | .unused, |
| 126605 | .unused, |
| 126606 | .unused, |
| 126607 | .unused, |
| 126608 | .unused, |
| 126609 | .unused, |
| 126610 | .unused, |
| 126611 | }, |
| 126612 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126613 | .each = .{ .once = &.{ |
| 126614 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 126615 | .{ ._, .vh_ps, .add, .tmp0x, .dst0x, .dst0x, ._ }, |
| 126616 | .{ ._, .v_ps, .shuf, .dst0x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 126617 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 126618 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 126619 | } }, |
| 126620 | }, .{ |
| 126621 | .required_features = .{ .f16c, null, null, null }, |
| 126622 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 126623 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .qword, .is = .word } }, .any, .any }, |
| 126624 | .patterns = &.{ |
| 126625 | .{ .src = .{ .mem, .none, .none } }, |
| 126626 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126627 | }, |
| 126628 | .extra_temps = .{ |
| 126629 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 126630 | .unused, |
| 126631 | .unused, |
| 126632 | .unused, |
| 126633 | .unused, |
| 126634 | .unused, |
| 126635 | .unused, |
| 126636 | .unused, |
| 126637 | .unused, |
| 126638 | .unused, |
| 126639 | .unused, |
| 126640 | }, |
| 126641 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126642 | .each = .{ .once = &.{ |
| 126643 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 126644 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10_11_10) }, |
| 126645 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126646 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| 126647 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 126648 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 126649 | } }, |
| 126650 | }, .{ |
| 126651 | .required_features = .{ .f16c, .fast_hops, null, null }, |
| 126652 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 126653 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 126654 | .patterns = &.{ |
| 126655 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126656 | }, |
| 126657 | .extra_temps = .{ |
| 126658 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 126659 | .{ .type = .f16, .kind = .{ .rc = .sse } }, |
| 126660 | .unused, |
| 126661 | .unused, |
| 126662 | .unused, |
| 126663 | .unused, |
| 126664 | .unused, |
| 126665 | .unused, |
| 126666 | .unused, |
| 126667 | .unused, |
| 126668 | .unused, |
| 126669 | }, |
| 126670 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| 126671 | .clobbers = .{ .eflags = true }, |
| 126672 | .each = .{ .once = &.{ |
| 126673 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| 126674 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| 126675 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) }, |
| 126676 | .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) }, |
| 126677 | .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ }, |
| 126678 | .{ ._, .vh_ps, .add, .dst0x, .dst0x, .dst0x, ._ }, |
| 126679 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 126680 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 126681 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 126682 | } }, |
| 126683 | }, .{ |
| 126684 | .required_features = .{ .f16c, null, null, null }, |
| 126685 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 126686 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 126687 | .patterns = &.{ |
| 126688 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126689 | }, |
| 126690 | .extra_temps = .{ |
| 126691 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 126692 | .{ .type = .f16, .kind = .{ .rc = .sse } }, |
| 126693 | .unused, |
| 126694 | .unused, |
| 126695 | .unused, |
| 126696 | .unused, |
| 126697 | .unused, |
| 126698 | .unused, |
| 126699 | .unused, |
| 126700 | .unused, |
| 126701 | .unused, |
| 126702 | }, |
| 126703 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| 126704 | .clobbers = .{ .eflags = true }, |
| 126705 | .each = .{ .once = &.{ |
| 126706 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| 126707 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| 126708 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) }, |
| 126709 | .{ .@"0:", .vp_w, .insr, .dst0x, .dst0x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(1) }, |
| 126710 | .{ ._, .v_ps, .cvtph2, .dst0x, .dst0q, ._, ._ }, |
| 126711 | .{ ._, .v_ps, .shuf, .tmp1x, .dst0x, .dst0x, .ui(0b01_01_01_01) }, |
| 126712 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp1x, ._ }, |
| 126713 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 126714 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 126715 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 126716 | } }, |
| 126717 | }, .{ |
| 126718 | .required_features = .{ .avx, null, null, null }, |
| 126719 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 126720 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 126721 | .patterns = &.{ |
| 126722 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126723 | }, |
| 126724 | .call_frame = .{ .alignment = .@"16" }, |
| 126725 | .extra_temps = .{ |
| 126726 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 126727 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 126728 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| 126729 | .unused, |
| 126730 | .unused, |
| 126731 | .unused, |
| 126732 | .unused, |
| 126733 | .unused, |
| 126734 | .unused, |
| 126735 | .unused, |
| 126736 | .unused, |
| 126737 | }, |
| 126738 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| 126739 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 126740 | .each = .{ .once = &.{ |
| 126741 | .{ ._, .vp_, .xor, .dst0x, .dst0x, .dst0x, ._ }, |
| 126742 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| 126743 | .{ ._, .vp_w, .insr, .dst0x, .dst0x, .mem(.src0w), .ui(0) }, |
| 126744 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| 126745 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, |
| 126746 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 126747 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 126748 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 126749 | } }, |
| 126750 | }, .{ |
| 126751 | .required_features = .{ .sse2, null, null, null }, |
| 126752 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 126753 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 126754 | .patterns = &.{ |
| 126755 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126756 | }, |
| 126757 | .call_frame = .{ .alignment = .@"16" }, |
| 126758 | .extra_temps = .{ |
| 126759 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 126760 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 126761 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| 126762 | .unused, |
| 126763 | .unused, |
| 126764 | .unused, |
| 126765 | .unused, |
| 126766 | .unused, |
| 126767 | .unused, |
| 126768 | .unused, |
| 126769 | .unused, |
| 126770 | }, |
| 126771 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| 126772 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 126773 | .each = .{ .once = &.{ |
| 126774 | .{ ._, .p_, .xor, .dst0x, .dst0x, ._, ._ }, |
| 126775 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| 126776 | .{ ._, .p_w, .insr, .dst0x, .mem(.src0w), .ui(0), ._ }, |
| 126777 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| 126778 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| 126779 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 126780 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 126781 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 126782 | } }, |
| 126783 | }, .{ |
| 126784 | .required_features = .{ .sse, null, null, null }, |
| 126785 | .dst_constraints = .{ .{ .float = .word }, .any }, |
| 126786 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, .any, .any }, |
| 126787 | .patterns = &.{ |
| 126788 | .{ .src = .{ .to_mem, .none, .none } }, |
| 126789 | }, |
| 126790 | .call_frame = .{ .alignment = .@"16" }, |
| 126791 | .extra_temps = .{ |
| 126792 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 126793 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| 126794 | .{ .type = .f32, .kind = .mem }, |
| 126795 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| 126796 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| 126797 | .unused, |
| 126798 | .unused, |
| 126799 | .unused, |
| 126800 | .unused, |
| 126801 | .unused, |
| 126802 | .unused, |
| 126803 | }, |
| 126804 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| 126805 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 126806 | .each = .{ .once = &.{ |
| 126807 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| 126808 | .{ ._, ._, .mov, .tmp0p, .sia(2, .src0, .sub_unaligned_size), ._, ._ }, |
| 126809 | .{ ._, ._, .movzx, .tmp1d, .mem(.src0w), ._, ._ }, |
| 126810 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| 126811 | .{ ._, ._ss, .mov, .dst0x, .mem(.tmp2d), ._, ._ }, |
| 126812 | .{ .@"0:", ._ps, .xor, .tmp3x, .tmp3x, ._, ._ }, |
| 126813 | .{ ._, ._ss, .mov, .tmp3x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 126814 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| 126815 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| 126816 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 126817 | } }, |
| 126818 | }, .{ |
| 126819 | .required_features = .{ .avx, .fast_hops, null, null }, |
| 126820 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 126821 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| 126822 | .patterns = &.{ |
| 126823 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126824 | }, |
| 126825 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126826 | .each = .{ .once = &.{ |
| 126827 | .{ ._, .vh_ps, .add, .dst0x, .src0x, .src0x, ._ }, |
| 126828 | } }, |
| 126829 | }, .{ |
| 126830 | .required_features = .{ .avx, null, null, null }, |
| 126831 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 126832 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| 126833 | .patterns = &.{ |
| 126834 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126835 | }, |
| 126836 | .extra_temps = .{ |
| 126837 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 126838 | .unused, |
| 126839 | .unused, |
| 126840 | .unused, |
| 126841 | .unused, |
| 126842 | .unused, |
| 126843 | .unused, |
| 126844 | .unused, |
| 126845 | .unused, |
| 126846 | .unused, |
| 126847 | .unused, |
| 126848 | }, |
| 126849 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126850 | .each = .{ .once = &.{ |
| 126851 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01_01_01_01) }, |
| 126852 | .{ ._, .v_ss, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 126853 | } }, |
| 126854 | }, .{ |
| 126855 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| 126856 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 126857 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| 126858 | .patterns = &.{ |
| 126859 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 126860 | }, |
| 126861 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 126862 | .each = .{ .once = &.{ |
| 126863 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| 126864 | } }, |
| 126865 | }, .{ |
| 126866 | .required_features = .{ .sse, null, null, null }, |
| 126867 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 126868 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .qword, .is = .dword } }, .any, .any }, |
| 126869 | .patterns = &.{ |
| 126870 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 126871 | }, |
| 126872 | .extra_temps = .{ |
| 126873 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 126874 | .unused, |
| 126875 | .unused, |
| 126876 | .unused, |
| 126877 | .unused, |
| 126878 | .unused, |
| 126879 | .unused, |
| 126880 | .unused, |
| 126881 | .unused, |
| 126882 | .unused, |
| 126883 | .unused, |
| 126884 | }, |
| 126885 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 126886 | .each = .{ .once = &.{ |
| 126887 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| 126888 | .{ ._, ._ps, .shuf, .tmp0x, .tmp0x, .ui(0b01_01_01_01), ._ }, |
| 126889 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| 126890 | } }, |
| 126891 | }, .{ |
| 126892 | .required_features = .{ .avx, .fast_hops, null, null }, |
| 126893 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 126894 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 126895 | .patterns = &.{ |
| 126896 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126897 | }, |
| 126898 | .extra_temps = .{ |
| 126899 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 126900 | .unused, |
| 126901 | .unused, |
| 126902 | .unused, |
| 126903 | .unused, |
| 126904 | .unused, |
| 126905 | .unused, |
| 126906 | .unused, |
| 126907 | .unused, |
| 126908 | .unused, |
| 126909 | .unused, |
| 126910 | }, |
| 126911 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126912 | .each = .{ .once = &.{ |
| 126913 | .{ ._, .vh_ps, .add, .tmp0x, .src0x, .src0x, ._ }, |
| 126914 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| 126915 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 126916 | } }, |
| 126917 | }, .{ |
| 126918 | .required_features = .{ .avx, null, null, null }, |
| 126919 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 126920 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 126921 | .patterns = &.{ |
| 126922 | .{ .src = .{ .to_sse, .none, .none } }, |
| 126923 | }, |
| 126924 | .extra_temps = .{ |
| 126925 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 126926 | .unused, |
| 126927 | .unused, |
| 126928 | .unused, |
| 126929 | .unused, |
| 126930 | .unused, |
| 126931 | .unused, |
| 126932 | .unused, |
| 126933 | .unused, |
| 126934 | .unused, |
| 126935 | .unused, |
| 126936 | }, |
| 126937 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 126938 | .each = .{ .once = &.{ |
| 126939 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| 126940 | .{ ._, .v_ps, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| 126941 | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01_01_01_01) }, |
| 126942 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 126943 | } }, |
| 126944 | }, .{ |
| 126945 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| 126946 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 126947 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 126948 | .patterns = &.{ |
| 126949 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 126950 | }, |
| 126951 | .extra_temps = .{ |
| 126952 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 126953 | .unused, |
| 126954 | .unused, |
| 126955 | .unused, |
| 126956 | .unused, |
| 126957 | .unused, |
| 126958 | .unused, |
| 126959 | .unused, |
| 126960 | .unused, |
| 126961 | .unused, |
| 126962 | .unused, |
| 126963 | }, |
| 126964 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 126965 | .each = .{ .once = &.{ |
| 126966 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| 126967 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| 126968 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| 126969 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| 126970 | } }, |
| 126971 | }, .{ |
| 126972 | .required_features = .{ .sse, null, null, null }, |
| 126973 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 126974 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 126975 | .patterns = &.{ |
| 126976 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 126977 | }, |
| 126978 | .extra_temps = .{ |
| 126979 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 126980 | .unused, |
| 126981 | .unused, |
| 126982 | .unused, |
| 126983 | .unused, |
| 126984 | .unused, |
| 126985 | .unused, |
| 126986 | .unused, |
| 126987 | .unused, |
| 126988 | .unused, |
| 126989 | .unused, |
| 126990 | }, |
| 126991 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 126992 | .each = .{ .once = &.{ |
| 126993 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| 126994 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| 126995 | .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ }, |
| 126996 | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01_01_01_01), ._ }, |
| 126997 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| 126998 | } }, |
| 126999 | }, .{ |
| 127000 | .required_features = .{ .avx, null, null, null }, |
| 127001 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 127002 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 127003 | .patterns = &.{ |
| 127004 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127005 | }, |
| 127006 | .extra_temps = .{ |
| 127007 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 127008 | .unused, |
| 127009 | .unused, |
| 127010 | .unused, |
| 127011 | .unused, |
| 127012 | .unused, |
| 127013 | .unused, |
| 127014 | .unused, |
| 127015 | .unused, |
| 127016 | .unused, |
| 127017 | .unused, |
| 127018 | }, |
| 127019 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127020 | .clobbers = .{ .eflags = true }, |
| 127021 | .each = .{ .once = &.{ |
| 127022 | .{ ._, ._, .mov, .tmp0p, .sia(4, .src0, .sub_unaligned_size), ._, ._ }, |
| 127023 | .{ ._, .v_ss, .mov, .dst0x, .mem(.src0d), ._, ._ }, |
| 127024 | .{ .@"0:", .v_ss, .add, .dst0x, .dst0x, .memia(.src0d, .tmp0, .add_unaligned_size), ._ }, |
| 127025 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 127026 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 127027 | } }, |
| 127028 | }, .{ |
| 127029 | .required_features = .{ .sse, null, null, null }, |
| 127030 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 127031 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, .any, .any }, |
| 127032 | .patterns = &.{ |
| 127033 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127034 | }, |
| 127035 | .extra_temps = .{ |
| 127036 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 127037 | .unused, |
| 127038 | .unused, |
| 127039 | .unused, |
| 127040 | .unused, |
| 127041 | .unused, |
| 127042 | .unused, |
| 127043 | .unused, |
| 127044 | .unused, |
| 127045 | .unused, |
| 127046 | .unused, |
| 127047 | }, |
| 127048 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127049 | .clobbers = .{ .eflags = true }, |
| 127050 | .each = .{ .once = &.{ |
| 127051 | .{ ._, ._, .mov, .tmp0p, .sia(4, .src0, .sub_unaligned_size), ._, ._ }, |
| 127052 | .{ ._, ._ss, .mov, .dst0x, .mem(.src0d), ._, ._ }, |
| 127053 | .{ .@"0:", ._ss, .add, .dst0x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| 127054 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| 127055 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 127056 | } }, |
| 127057 | }, .{ |
| 127058 | .required_features = .{ .avx, .fast_hops, null, null }, |
| 127059 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 127060 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 127061 | .patterns = &.{ |
| 127062 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127063 | }, |
| 127064 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127065 | .each = .{ .once = &.{ |
| 127066 | .{ ._, .vh_pd, .add, .dst0x, .src0x, .src0x, ._ }, |
| 127067 | } }, |
| 127068 | }, .{ |
| 127069 | .required_features = .{ .avx, null, null, null }, |
| 127070 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 127071 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 127072 | .patterns = &.{ |
| 127073 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127074 | }, |
| 127075 | .extra_temps = .{ |
| 127076 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 127077 | .unused, |
| 127078 | .unused, |
| 127079 | .unused, |
| 127080 | .unused, |
| 127081 | .unused, |
| 127082 | .unused, |
| 127083 | .unused, |
| 127084 | .unused, |
| 127085 | .unused, |
| 127086 | .unused, |
| 127087 | }, |
| 127088 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127089 | .each = .{ .once = &.{ |
| 127090 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| 127091 | .{ ._, .v_sd, .add, .dst0x, .src0x, .tmp0x, ._ }, |
| 127092 | } }, |
| 127093 | }, .{ |
| 127094 | .required_features = .{ .sse3, .fast_hops, null, null }, |
| 127095 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 127096 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 127097 | .patterns = &.{ |
| 127098 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127099 | }, |
| 127100 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127101 | .each = .{ .once = &.{ |
| 127102 | .{ ._, .h_pd, .add, .dst0x, .src0x, ._, ._ }, |
| 127103 | } }, |
| 127104 | }, .{ |
| 127105 | .required_features = .{ .sse2, null, null, null }, |
| 127106 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 127107 | .src_constraints = .{ .{ .exact_scalar_float = .{ .of = .xword, .is = .qword } }, .any, .any }, |
| 127108 | .patterns = &.{ |
| 127109 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 127110 | }, |
| 127111 | .extra_temps = .{ |
| 127112 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 127113 | .unused, |
| 127114 | .unused, |
| 127115 | .unused, |
| 127116 | .unused, |
| 127117 | .unused, |
| 127118 | .unused, |
| 127119 | .unused, |
| 127120 | .unused, |
| 127121 | .unused, |
| 127122 | .unused, |
| 127123 | }, |
| 127124 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 127125 | .each = .{ .once = &.{ |
| 127126 | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| 127127 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| 127128 | .{ ._, ._sd, .add, .dst0x, .tmp0x, ._, ._ }, |
| 127129 | } }, |
| 127130 | }, .{ |
| 127131 | .required_features = .{ .avx, .fast_hops, null, null }, |
| 127132 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 127133 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| 127134 | .patterns = &.{ |
| 127135 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127136 | }, |
| 127137 | .extra_temps = .{ |
| 127138 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 127139 | .unused, |
| 127140 | .unused, |
| 127141 | .unused, |
| 127142 | .unused, |
| 127143 | .unused, |
| 127144 | .unused, |
| 127145 | .unused, |
| 127146 | .unused, |
| 127147 | .unused, |
| 127148 | .unused, |
| 127149 | }, |
| 127150 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127151 | .each = .{ .once = &.{ |
| 127152 | .{ ._, .vh_pd, .add, .tmp0x, .src0x, .src0x, ._ }, |
| 127153 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| 127154 | .{ ._, .v_sd, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 127155 | } }, |
| 127156 | }, .{ |
| 127157 | .required_features = .{ .avx, null, null, null }, |
| 127158 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 127159 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .yword, .is = .qword } }, .any, .any }, |
| 127160 | .patterns = &.{ |
| 127161 | .{ .src = .{ .to_sse, .none, .none } }, |
| 127162 | }, |
| 127163 | .extra_temps = .{ |
| 127164 | .{ .type = .vector_2_f64, .kind = .{ .rc = .sse } }, |
| 127165 | .unused, |
| 127166 | .unused, |
| 127167 | .unused, |
| 127168 | .unused, |
| 127169 | .unused, |
| 127170 | .unused, |
| 127171 | .unused, |
| 127172 | .unused, |
| 127173 | .unused, |
| 127174 | .unused, |
| 127175 | }, |
| 127176 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 127177 | .each = .{ .once = &.{ |
| 127178 | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 127179 | .{ ._, .v_pd, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| 127180 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| 127181 | .{ ._, .v_sd, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 127182 | } }, |
| 127183 | }, .{ |
| 127184 | .required_features = .{ .avx, null, null, null }, |
| 127185 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 127186 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 127187 | .patterns = &.{ |
| 127188 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127189 | }, |
| 127190 | .extra_temps = .{ |
| 127191 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 127192 | .unused, |
| 127193 | .unused, |
| 127194 | .unused, |
| 127195 | .unused, |
| 127196 | .unused, |
| 127197 | .unused, |
| 127198 | .unused, |
| 127199 | .unused, |
| 127200 | .unused, |
| 127201 | .unused, |
| 127202 | }, |
| 127203 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127204 | .clobbers = .{ .eflags = true }, |
| 127205 | .each = .{ .once = &.{ |
| 127206 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| 127207 | .{ ._, .v_sd, .mov, .dst0x, .mem(.src0q), ._, ._ }, |
| 127208 | .{ .@"0:", .v_sd, .add, .dst0x, .dst0x, .memia(.src0q, .tmp0, .add_unaligned_size), ._ }, |
| 127209 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 127210 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 127211 | } }, |
| 127212 | }, .{ |
| 127213 | .required_features = .{ .sse2, null, null, null }, |
| 127214 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 127215 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 127216 | .patterns = &.{ |
| 127217 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127218 | }, |
| 127219 | .extra_temps = .{ |
| 127220 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 127221 | .unused, |
| 127222 | .unused, |
| 127223 | .unused, |
| 127224 | .unused, |
| 127225 | .unused, |
| 127226 | .unused, |
| 127227 | .unused, |
| 127228 | .unused, |
| 127229 | .unused, |
| 127230 | .unused, |
| 127231 | }, |
| 127232 | .dst_temps = .{ .{ .rc = .sse }, .unused }, |
| 127233 | .clobbers = .{ .eflags = true }, |
| 127234 | .each = .{ .once = &.{ |
| 127235 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| 127236 | .{ ._, ._sd, .mov, .dst0x, .mem(.src0q), ._, ._ }, |
| 127237 | .{ .@"0:", ._sd, .add, .dst0x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| 127238 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 127239 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 127240 | } }, |
| 127241 | }, .{ |
| 127242 | .required_features = .{ .x87, null, null, null }, |
| 127243 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 127244 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 127245 | .patterns = &.{ |
| 127246 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127247 | }, |
| 127248 | .extra_temps = .{ |
| 127249 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 127250 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 127251 | .unused, |
| 127252 | .unused, |
| 127253 | .unused, |
| 127254 | .unused, |
| 127255 | .unused, |
| 127256 | .unused, |
| 127257 | .unused, |
| 127258 | .unused, |
| 127259 | .unused, |
| 127260 | }, |
| 127261 | .dst_temps = .{ .mem, .unused }, |
| 127262 | .clobbers = .{ .eflags = true }, |
| 127263 | .each = .{ .once = &.{ |
| 127264 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| 127265 | .{ ._, .f_, .ld, .mem(.src0q), ._, ._, ._ }, |
| 127266 | .{ .@"0:", .f_, .add, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 127267 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 127268 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 127269 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 127270 | } }, |
| 127271 | }, .{ |
| 127272 | .required_features = .{ .x87, null, null, null }, |
| 127273 | .dst_constraints = .{ .{ .float = .tbyte }, .any }, |
| 127274 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .tbyte } }, .any, .any }, |
| 127275 | .patterns = &.{ |
| 127276 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127277 | }, |
| 127278 | .extra_temps = .{ |
| 127279 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 127280 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 127281 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 127282 | .unused, |
| 127283 | .unused, |
| 127284 | .unused, |
| 127285 | .unused, |
| 127286 | .unused, |
| 127287 | .unused, |
| 127288 | .unused, |
| 127289 | .unused, |
| 127290 | }, |
| 127291 | .dst_temps = .{ .mem, .unused }, |
| 127292 | .clobbers = .{ .eflags = true }, |
| 127293 | .each = .{ .once = &.{ |
| 127294 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| 127295 | .{ ._, .f_, .ld, .mem(.src0t), ._, ._, ._ }, |
| 127296 | .{ .@"0:", .f_, .ld, .memia(.src0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 127297 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 127298 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 127299 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 127300 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 127301 | } }, |
| 127302 | }, .{ |
| 127303 | .required_features = .{ .avx, null, null, null }, |
| 127304 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| 127305 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 127306 | .patterns = &.{ |
| 127307 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127308 | }, |
| 127309 | .call_frame = .{ .alignment = .@"16" }, |
| 127310 | .extra_temps = .{ |
| 127311 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 127312 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 127313 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| 127314 | .unused, |
| 127315 | .unused, |
| 127316 | .unused, |
| 127317 | .unused, |
| 127318 | .unused, |
| 127319 | .unused, |
| 127320 | .unused, |
| 127321 | .unused, |
| 127322 | }, |
| 127323 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| 127324 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 127325 | .each = .{ .once = &.{ |
| 127326 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| 127327 | .{ ._, .v_dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| 127328 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 127329 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 127330 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 127331 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 127332 | } }, |
| 127333 | }, .{ |
| 127334 | .required_features = .{ .sse2, null, null, null }, |
| 127335 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| 127336 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 127337 | .patterns = &.{ |
| 127338 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127339 | }, |
| 127340 | .call_frame = .{ .alignment = .@"16" }, |
| 127341 | .extra_temps = .{ |
| 127342 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 127343 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 127344 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| 127345 | .unused, |
| 127346 | .unused, |
| 127347 | .unused, |
| 127348 | .unused, |
| 127349 | .unused, |
| 127350 | .unused, |
| 127351 | .unused, |
| 127352 | .unused, |
| 127353 | }, |
| 127354 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| 127355 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 127356 | .each = .{ .once = &.{ |
| 127357 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| 127358 | .{ ._, ._dqa, .mov, .dst0x, .mem(.src0x), ._, ._ }, |
| 127359 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 127360 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 127361 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 127362 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 127363 | } }, |
| 127364 | }, .{ |
| 127365 | .required_features = .{ .sse, null, null, null }, |
| 127366 | .dst_constraints = .{ .{ .float = .xword }, .any }, |
| 127367 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, .any, .any }, |
| 127368 | .patterns = &.{ |
| 127369 | .{ .src = .{ .to_mem, .none, .none } }, |
| 127370 | }, |
| 127371 | .call_frame = .{ .alignment = .@"16" }, |
| 127372 | .extra_temps = .{ |
| 127373 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 127374 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| 127375 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| 127376 | .unused, |
| 127377 | .unused, |
| 127378 | .unused, |
| 127379 | .unused, |
| 127380 | .unused, |
| 127381 | .unused, |
| 127382 | .unused, |
| 127383 | .unused, |
| 127384 | }, |
| 127385 | .dst_temps = .{ .{ .reg = .xmm0 }, .unused }, |
| 127386 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| 127387 | .each = .{ .once = &.{ |
| 127388 | .{ ._, ._, .mov, .tmp0p, .sia(16, .src0, .sub_unaligned_size), ._, ._ }, |
| 127389 | .{ ._, ._ps, .mova, .dst0x, .mem(.src0x), ._, ._ }, |
| 127390 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| 127391 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 127392 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| 127393 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 127394 | } }, |
| 126548 | 127395 | } }, |
| 126549 | 127396 | .Mul => comptime &.{ .{ |
| 126550 | 127397 | .required_features = .{ .avx, null, null, null }, |
| ... | ... | @@ -131596,7 +132443,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131596 | 132443 | .{ .src = .{ .to_mem, .none, .none } }, |
| 131597 | 132444 | }, |
| 131598 | 132445 | .extra_temps = .{ |
| 131599 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 132446 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 131600 | 132447 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 131601 | 132448 | .unused, |
| 131602 | 132449 | .unused, |
| ... | ... | @@ -131611,10 +132458,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131611 | 132458 | .dst_temps = .{ .mem, .unused }, |
| 131612 | 132459 | .clobbers = .{ .eflags = true }, |
| 131613 | 132460 | .each = .{ .once = &.{ |
| 131614 | | .{ ._, ._, .mov, .tmp0p, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 132461 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 131615 | 132462 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| 131616 | 132463 | .{ .@"0:", .f_, .add, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| 131617 | | .{ ._, ._, .sub, .tmp0p, .si(8), ._, ._ }, |
| 132464 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 131618 | 132465 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 131619 | 132466 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 131620 | 132467 | } }, |
| ... | ... | @@ -131626,7 +132473,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131626 | 132473 | .{ .src = .{ .to_mem, .none, .none } }, |
| 131627 | 132474 | }, |
| 131628 | 132475 | .extra_temps = .{ |
| 131629 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 132476 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 131630 | 132477 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 131631 | 132478 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 131632 | 132479 | .unused, |
| ... | ... | @@ -131641,11 +132488,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 131641 | 132488 | .dst_temps = .{ .mem, .unused }, |
| 131642 | 132489 | .clobbers = .{ .eflags = true }, |
| 131643 | 132490 | .each = .{ .once = &.{ |
| 131644 | | .{ ._, ._, .mov, .tmp0p, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 132491 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 131645 | 132492 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| 131646 | 132493 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| 131647 | 132494 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| 131648 | | .{ ._, ._, .sub, .tmp0p, .si(16), ._, ._ }, |
| 132495 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 131649 | 132496 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 131650 | 132497 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 131651 | 132498 | } }, |
| ... | ... | @@ -133139,7 +133986,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133139 | 133986 | .{ .src = .{ .to_mem, .none, .none } }, |
| 133140 | 133987 | }, |
| 133141 | 133988 | .extra_temps = .{ |
| 133142 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 133989 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 133143 | 133990 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 133144 | 133991 | .unused, |
| 133145 | 133992 | .unused, |
| ... | ... | @@ -133154,10 +134001,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133154 | 134001 | .dst_temps = .{ .mem, .unused }, |
| 133155 | 134002 | .clobbers = .{ .eflags = true }, |
| 133156 | 134003 | .each = .{ .once = &.{ |
| 133157 | | .{ ._, ._, .mov, .tmp0p, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 134004 | .{ ._, ._, .mov, .tmp0d, .sia(-16, .src0, .add_unaligned_size), ._, ._ }, |
| 133158 | 134005 | .{ ._, .f_, .ld, .memad(.src0q, .add_unaligned_size, -8), ._, ._, ._ }, |
| 133159 | 134006 | .{ .@"0:", .f_, .mul, .memi(.src0q, .tmp0), ._, ._, ._ }, |
| 133160 | | .{ ._, ._, .sub, .tmp0p, .si(8), ._, ._ }, |
| 134007 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| 133161 | 134008 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 133162 | 134009 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 133163 | 134010 | } }, |
| ... | ... | @@ -133169,7 +134016,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133169 | 134016 | .{ .src = .{ .to_mem, .none, .none } }, |
| 133170 | 134017 | }, |
| 133171 | 134018 | .extra_temps = .{ |
| 133172 | | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 134019 | .{ .type = .u32, .kind = .{ .rc = .general_purpose } }, |
| 133173 | 134020 | .{ .type = .f80, .kind = .{ .reg = .st6 } }, |
| 133174 | 134021 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| 133175 | 134022 | .unused, |
| ... | ... | @@ -133184,11 +134031,11 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 133184 | 134031 | .dst_temps = .{ .mem, .unused }, |
| 133185 | 134032 | .clobbers = .{ .eflags = true }, |
| 133186 | 134033 | .each = .{ .once = &.{ |
| 133187 | | .{ ._, ._, .mov, .tmp0p, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 134034 | .{ ._, ._, .mov, .tmp0d, .sia(-32, .src0, .add_unaligned_size), ._, ._ }, |
| 133188 | 134035 | .{ ._, .f_, .ld, .memad(.src0t, .add_unaligned_size, -16), ._, ._, ._ }, |
| 133189 | 134036 | .{ .@"0:", .f_, .ld, .memi(.src0t, .tmp0), ._, ._, ._ }, |
| 133190 | 134037 | .{ ._, .f_p, .mul, ._, ._, ._, ._ }, |
| 133191 | | .{ ._, ._, .sub, .tmp0p, .si(16), ._, ._ }, |
| 134038 | .{ ._, ._, .sub, .tmp0d, .si(16), ._, ._ }, |
| 133192 | 134039 | .{ ._, ._nb, .j, .@"0b", ._, ._, ._ }, |
| 133193 | 134040 | .{ ._, .f_p, .st, .dst0t, ._, ._, ._ }, |
| 133194 | 134041 | } }, |