| ... | @@ -2418,7 +2418,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2418,7 +2418,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2418 | } | 2418 | } |
| 2419 | | 2419 | |
| 2420 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | 2420 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2421 | @setEvalBranchQuota(14_200); | 2421 | @setEvalBranchQuota(15_100); |
| 2422 | const pt = cg.pt; | 2422 | const pt = cg.pt; |
| 2423 | const zcu = pt.zcu; | 2423 | const zcu = pt.zcu; |
| 2424 | const ip = &zcu.intern_pool; | 2424 | const ip = &zcu.intern_pool; |
| ... | @@ -2459,7 +2459,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2459,7 +2459,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2459 | .mul_sat => try cg.airMulSat(inst), | 2459 | .mul_sat => try cg.airMulSat(inst), |
| 2460 | .shl_sat => try cg.airShlSat(inst), | 2460 | .shl_sat => try cg.airShlSat(inst), |
| 2461 | | 2461 | |
| 2462 | .mul_with_overflow => try cg.airMulWithOverflow(inst), | | |
| 2463 | .shl_with_overflow => try cg.airShlWithOverflow(inst), | 2462 | .shl_with_overflow => try cg.airShlWithOverflow(inst), |
| 2464 | | 2463 | |
| 2465 | .bitcast => try cg.airBitCast(inst), | 2464 | .bitcast => try cg.airBitCast(inst), |
| ... | @@ -29774,6 +29773,3620 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -29774,6 +29773,3620 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 29774 | try res[0].withOverflow(&res[1], cg); | 29773 | try res[0].withOverflow(&res[1], cg); |
| 29775 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 29774 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 29776 | }, | 29775 | }, |
| | 29776 | .mul_with_overflow => |air_tag| if (use_old) try cg.airMulWithOverflow(inst) else fallback: { |
| | 29777 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| | 29778 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| | 29779 | if (cg.typeOf(bin_op.lhs).isVector(zcu)) break :fallback try cg.airMulWithOverflow(inst); |
| | 29780 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| | 29781 | var res: [2]Temp = undefined; |
| | 29782 | cg.select(&res, &.{ ty_pl.ty.toType(), .u1 }, &ops, comptime &.{ .{ |
| | 29783 | .src_constraints = .{ .{ .exact_signed_int = 8 }, .{ .exact_signed_int = 8 }, .any }, |
| | 29784 | .patterns = &.{ |
| | 29785 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| | 29786 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| | 29787 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| | 29788 | }, |
| | 29789 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .c } }, |
| | 29790 | .clobbers = .{ .eflags = true }, |
| | 29791 | .each = .{ .once = &.{ |
| | 29792 | .{ ._, .i_, .mul, .src1b, ._, ._, ._ }, |
| | 29793 | } }, |
| | 29794 | }, .{ |
| | 29795 | .src_constraints = .{ .{ .exact_unsigned_int = 8 }, .{ .exact_unsigned_int = 8 }, .any }, |
| | 29796 | .patterns = &.{ |
| | 29797 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| | 29798 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| | 29799 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| | 29800 | }, |
| | 29801 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .c } }, |
| | 29802 | .clobbers = .{ .eflags = true }, |
| | 29803 | .each = .{ .once = &.{ |
| | 29804 | .{ ._, ._, .mul, .src1b, ._, ._, ._ }, |
| | 29805 | } }, |
| | 29806 | }, .{ |
| | 29807 | .src_constraints = .{ .{ .signed_int = .byte }, .{ .signed_int = .byte }, .any }, |
| | 29808 | .patterns = &.{ |
| | 29809 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| | 29810 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| | 29811 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| | 29812 | }, |
| | 29813 | .extra_temps = .{ |
| | 29814 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| | 29815 | .unused, |
| | 29816 | .unused, |
| | 29817 | .unused, |
| | 29818 | .unused, |
| | 29819 | .unused, |
| | 29820 | .unused, |
| | 29821 | .unused, |
| | 29822 | .unused, |
| | 29823 | .unused, |
| | 29824 | .unused, |
| | 29825 | }, |
| | 29826 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .ne } }, |
| | 29827 | .clobbers = .{ .eflags = true }, |
| | 29828 | .each = .{ .once = &.{ |
| | 29829 | .{ ._, .i_, .mul, .src1b, ._, ._, ._ }, |
| | 29830 | .{ ._, ._, .mov, .tmp0d, .dst0d, ._, ._ }, |
| | 29831 | .{ ._, ._l, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| | 29832 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| | 29833 | .{ ._, ._, .cmp, .dst0w, .tmp0w, ._, ._ }, |
| | 29834 | } }, |
| | 29835 | }, .{ |
| | 29836 | .src_constraints = .{ .{ .unsigned_int = .byte }, .{ .unsigned_int = .byte }, .any }, |
| | 29837 | .patterns = &.{ |
| | 29838 | .{ .src = .{ .{ .to_reg = .al }, .mem, .none } }, |
| | 29839 | .{ .src = .{ .mem, .{ .to_reg = .al }, .none }, .commute = .{ 0, 1 } }, |
| | 29840 | .{ .src = .{ .{ .to_reg = .al }, .to_gpr, .none } }, |
| | 29841 | }, |
| | 29842 | .extra_temps = .{ |
| | 29843 | .{ .type = .i16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| | 29844 | .unused, |
| | 29845 | .unused, |
| | 29846 | .unused, |
| | 29847 | .unused, |
| | 29848 | .unused, |
| | 29849 | .unused, |
| | 29850 | .unused, |
| | 29851 | .unused, |
| | 29852 | .unused, |
| | 29853 | .unused, |
| | 29854 | }, |
| | 29855 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .nbe } }, |
| | 29856 | .clobbers = .{ .eflags = true }, |
| | 29857 | .each = .{ .once = &.{ |
| | 29858 | .{ ._, ._, .mul, .src1b, ._, ._, ._ }, |
| | 29859 | .{ ._, ._, .mov, .tmp0d, .dst0d, ._, ._ }, |
| | 29860 | .{ ._, ._, .@"and", .dst0b, .ua(.src0, .add_umax), ._, ._ }, |
| | 29861 | .{ ._, ._, .cmp, .tmp0w, .ua(.src0, .add_umax), ._, ._ }, |
| | 29862 | } }, |
| | 29863 | }, .{ |
| | 29864 | .src_constraints = .{ .{ .exact_signed_int = 16 }, .{ .exact_signed_int = 16 }, .any }, |
| | 29865 | .patterns = &.{ |
| | 29866 | .{ .src = .{ .mem, .imm16, .none } }, |
| | 29867 | .{ .src = .{ .imm16, .mem, .none }, .commute = .{ 0, 1 } }, |
| | 29868 | .{ .src = .{ .to_gpr, .imm16, .none } }, |
| | 29869 | .{ .src = .{ .imm16, .to_gpr, .none }, .commute = .{ 0, 1 } }, |
| | 29870 | }, |
| | 29871 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .{ .cc = .c } }, |
| | 29872 | .clobbers = .{ .eflags = true }, |
| | 29873 | .each = .{ .once = &.{ |
| | 29874 | .{ ._, .i_, .mul, .dst0w, .src0w, .src1w, ._ }, |
| | 29875 | } }, |
| | 29876 | }, .{ |
| | 29877 | .src_constraints = .{ .{ .exact_signed_int = 16 }, .{ .exact_signed_int = 16 }, .any }, |
| | 29878 | .patterns = &.{ |
| | 29879 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| | 29880 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| | 29881 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| | 29882 | }, |
| | 29883 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .c } }, |
| | 29884 | .clobbers = .{ .eflags = true }, |
| | 29885 | .each = .{ .once = &.{ |
| | 29886 | .{ ._, .i_, .mul, .dst0w, .src1w, ._, ._ }, |
| | 29887 | } }, |
| | 29888 | }, .{ |
| | 29889 | .src_constraints = .{ .{ .exact_unsigned_int = 16 }, .{ .exact_unsigned_int = 16 }, .any }, |
| | 29890 | .patterns = &.{ |
| | 29891 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| | 29892 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| | 29893 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| | 29894 | }, |
| | 29895 | .extra_temps = .{ |
| | 29896 | .{ .type = .u16, .kind = .{ .reg = .dx } }, |
| | 29897 | .unused, |
| | 29898 | .unused, |
| | 29899 | .unused, |
| | 29900 | .unused, |
| | 29901 | .unused, |
| | 29902 | .unused, |
| | 29903 | .unused, |
| | 29904 | .unused, |
| | 29905 | .unused, |
| | 29906 | .unused, |
| | 29907 | }, |
| | 29908 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .c } }, |
| | 29909 | .clobbers = .{ .eflags = true }, |
| | 29910 | .each = .{ .once = &.{ |
| | 29911 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| | 29912 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| | 29913 | } }, |
| | 29914 | }, .{ |
| | 29915 | .src_constraints = .{ .{ .signed_int = .word }, .{ .signed_int = .word }, .any }, |
| | 29916 | .patterns = &.{ |
| | 29917 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| | 29918 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| | 29919 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| | 29920 | }, |
| | 29921 | .extra_temps = .{ |
| | 29922 | .{ .type = .i32, .kind = .{ .reg = .edx } }, |
| | 29923 | .unused, |
| | 29924 | .unused, |
| | 29925 | .unused, |
| | 29926 | .unused, |
| | 29927 | .unused, |
| | 29928 | .unused, |
| | 29929 | .unused, |
| | 29930 | .unused, |
| | 29931 | .unused, |
| | 29932 | .unused, |
| | 29933 | }, |
| | 29934 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .ne } }, |
| | 29935 | .clobbers = .{ .eflags = true }, |
| | 29936 | .each = .{ .once = &.{ |
| | 29937 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| | 29938 | .{ ._, .i_, .mul, .src1w, ._, ._, ._ }, |
| | 29939 | .{ ._, ._l, .sh, .tmp0d, .ui(16), ._, ._ }, |
| | 29940 | .{ ._, ._, .mov, .tmp0w, .dst0w, ._, ._ }, |
| | 29941 | .{ ._, ._l, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| | 29942 | .{ ._, ._r, .sa, .dst0d, .uia(32, .src0, .sub_bit_size), ._, ._ }, |
| | 29943 | .{ ._, ._, .cmp, .dst0d, .tmp0d, ._, ._ }, |
| | 29944 | } }, |
| | 29945 | }, .{ |
| | 29946 | .required_features = .{ .fast_imm16, null, null, null }, |
| | 29947 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, |
| | 29948 | .patterns = &.{ |
| | 29949 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| | 29950 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| | 29951 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| | 29952 | }, |
| | 29953 | .extra_temps = .{ |
| | 29954 | .{ .type = .u16, .kind = .{ .reg = .dx } }, |
| | 29955 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| | 29956 | .unused, |
| | 29957 | .unused, |
| | 29958 | .unused, |
| | 29959 | .unused, |
| | 29960 | .unused, |
| | 29961 | .unused, |
| | 29962 | .unused, |
| | 29963 | .unused, |
| | 29964 | .unused, |
| | 29965 | }, |
| | 29966 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .nz } }, |
| | 29967 | .clobbers = .{ .eflags = true }, |
| | 29968 | .each = .{ .once = &.{ |
| | 29969 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| | 29970 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| | 29971 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| | 29972 | .{ ._, ._, .@"and", .dst0w, .ua(.src0, .add_umax), ._, ._ }, |
| | 29973 | .{ ._, ._, .@"and", .tmp1w, .uia(std.math.maxInt(u16), .src0, .sub_umax), ._, ._ }, |
| | 29974 | .{ ._, ._, .@"or", .tmp1w, .tmp0w, ._, ._ }, |
| | 29975 | } }, |
| | 29976 | }, .{ |
| | 29977 | .src_constraints = .{ .{ .unsigned_int = .word }, .{ .unsigned_int = .word }, .any }, |
| | 29978 | .patterns = &.{ |
| | 29979 | .{ .src = .{ .{ .to_reg = .ax }, .mem, .none } }, |
| | 29980 | .{ .src = .{ .mem, .{ .to_reg = .ax }, .none }, .commute = .{ 0, 1 } }, |
| | 29981 | .{ .src = .{ .{ .to_reg = .ax }, .to_gpr, .none } }, |
| | 29982 | }, |
| | 29983 | .extra_temps = .{ |
| | 29984 | .{ .type = .u16, .kind = .{ .reg = .dx } }, |
| | 29985 | .{ .type = .u16, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| | 29986 | .unused, |
| | 29987 | .unused, |
| | 29988 | .unused, |
| | 29989 | .unused, |
| | 29990 | .unused, |
| | 29991 | .unused, |
| | 29992 | .unused, |
| | 29993 | .unused, |
| | 29994 | .unused, |
| | 29995 | }, |
| | 29996 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .nz } }, |
| | 29997 | .clobbers = .{ .eflags = true }, |
| | 29998 | .each = .{ .once = &.{ |
| | 29999 | .{ ._, ._, .xor, .tmp0d, .tmp0d, ._, ._ }, |
| | 30000 | .{ ._, ._, .mul, .src1w, ._, ._, ._ }, |
| | 30001 | .{ ._, ._, .mov, .tmp1d, .dst0d, ._, ._ }, |
| | 30002 | .{ ._, ._, .@"and", .dst0d, .ua(.src0, .add_umax), ._, ._ }, |
| | 30003 | .{ ._, ._, .@"and", .tmp1d, .uia(std.math.maxInt(u16), .src0, .sub_umax), ._, ._ }, |
| | 30004 | .{ ._, ._, .@"or", .tmp1d, .tmp0d, ._, ._ }, |
| | 30005 | } }, |
| | 30006 | }, .{ |
| | 30007 | .src_constraints = .{ .{ .exact_signed_int = 32 }, .{ .exact_signed_int = 32 }, .any }, |
| | 30008 | .patterns = &.{ |
| | 30009 | .{ .src = .{ .mem, .imm32, .none } }, |
| | 30010 | .{ .src = .{ .imm32, .mem, .none }, .commute = .{ 0, 1 } }, |
| | 30011 | .{ .src = .{ .to_gpr, .imm32, .none } }, |
| | 30012 | .{ .src = .{ .imm32, .to_gpr, .none }, .commute = .{ 0, 1 } }, |
| | 30013 | }, |
| | 30014 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .{ .cc = .c } }, |
| | 30015 | .clobbers = .{ .eflags = true }, |
| | 30016 | .each = .{ .once = &.{ |
| | 30017 | .{ ._, .i_, .mul, .dst0d, .src0d, .src1d, ._ }, |
| | 30018 | } }, |
| | 30019 | }, .{ |
| | 30020 | .src_constraints = .{ .{ .exact_signed_int = 32 }, .{ .exact_signed_int = 32 }, .any }, |
| | 30021 | .patterns = &.{ |
| | 30022 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| | 30023 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| | 30024 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| | 30025 | }, |
| | 30026 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .c } }, |
| | 30027 | .clobbers = .{ .eflags = true }, |
| | 30028 | .each = .{ .once = &.{ |
| | 30029 | .{ ._, .i_, .mul, .dst0d, .src1d, ._, ._ }, |
| | 30030 | } }, |
| | 30031 | }, .{ |
| | 30032 | .src_constraints = .{ .{ .exact_unsigned_int = 32 }, .{ .exact_unsigned_int = 32 }, .any }, |
| | 30033 | .patterns = &.{ |
| | 30034 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| | 30035 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| | 30036 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| | 30037 | }, |
| | 30038 | .extra_temps = .{ |
| | 30039 | .{ .type = .u32, .kind = .{ .reg = .edx } }, |
| | 30040 | .unused, |
| | 30041 | .unused, |
| | 30042 | .unused, |
| | 30043 | .unused, |
| | 30044 | .unused, |
| | 30045 | .unused, |
| | 30046 | .unused, |
| | 30047 | .unused, |
| | 30048 | .unused, |
| | 30049 | .unused, |
| | 30050 | }, |
| | 30051 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .c } }, |
| | 30052 | .clobbers = .{ .eflags = true }, |
| | 30053 | .each = .{ .once = &.{ |
| | 30054 | .{ ._, ._, .mul, .src1d, ._, ._, ._ }, |
| | 30055 | } }, |
| | 30056 | }, .{ |
| | 30057 | .required_features = .{ .@"64bit", null, null, null }, |
| | 30058 | .src_constraints = .{ .{ .signed_int = .dword }, .{ .signed_int = .dword }, .any }, |
| | 30059 | .patterns = &.{ |
| | 30060 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| | 30061 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| | 30062 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| | 30063 | }, |
| | 30064 | .extra_temps = .{ |
| | 30065 | .{ .type = .i32, .kind = .{ .reg = .edx } }, |
| | 30066 | .unused, |
| | 30067 | .unused, |
| | 30068 | .unused, |
| | 30069 | .unused, |
| | 30070 | .unused, |
| | 30071 | .unused, |
| | 30072 | .unused, |
| | 30073 | .unused, |
| | 30074 | .unused, |
| | 30075 | .unused, |
| | 30076 | }, |
| | 30077 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .ne } }, |
| | 30078 | .clobbers = .{ .eflags = true }, |
| | 30079 | .each = .{ .once = &.{ |
| | 30080 | .{ ._, .i_, .mul, .src1d, ._, ._, ._ }, |
| | 30081 | .{ ._, ._l, .sh, .tmp0q, .ui(32), ._, ._ }, |
| | 30082 | .{ ._, ._, .@"or", .tmp0q, .dst0q, ._, ._ }, |
| | 30083 | .{ ._, ._l, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| | 30084 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| | 30085 | .{ ._, ._, .cmp, .dst0q, .tmp0q, ._, ._ }, |
| | 30086 | } }, |
| | 30087 | }, .{ |
| | 30088 | .src_constraints = .{ .{ .unsigned_int = .dword }, .{ .unsigned_int = .dword }, .any }, |
| | 30089 | .patterns = &.{ |
| | 30090 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| | 30091 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| | 30092 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| | 30093 | }, |
| | 30094 | .extra_temps = .{ |
| | 30095 | .{ .type = .u32, .kind = .{ .ref = .src0 } }, |
| | 30096 | .{ .type = .u32, .kind = .{ .reg = .edx } }, |
| | 30097 | .unused, |
| | 30098 | .unused, |
| | 30099 | .unused, |
| | 30100 | .unused, |
| | 30101 | .unused, |
| | 30102 | .unused, |
| | 30103 | .unused, |
| | 30104 | .unused, |
| | 30105 | .unused, |
| | 30106 | }, |
| | 30107 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .{ .cc = .nz } }, |
| | 30108 | .clobbers = .{ .eflags = true }, |
| | 30109 | .each = .{ .once = &.{ |
| | 30110 | .{ ._, ._, .mul, .src1d, ._, ._, ._ }, |
| | 30111 | .{ ._, ._, .mov, .dst0d, .tmp0d, ._, ._ }, |
| | 30112 | .{ ._, ._r, .sh, .tmp0d, .sa(.src0, .add_bit_size), ._, ._ }, |
| | 30113 | .{ ._, ._, .@"and", .dst0d, .ua(.src0, .add_umax), ._, ._ }, |
| | 30114 | .{ ._, ._, .@"or", .tmp0d, .tmp1d, ._, ._ }, |
| | 30115 | } }, |
| | 30116 | }, .{ |
| | 30117 | .required_features = .{ .@"64bit", null, null, null }, |
| | 30118 | .src_constraints = .{ .{ .exact_signed_int = 64 }, .{ .exact_signed_int = 64 }, .any }, |
| | 30119 | .patterns = &.{ |
| | 30120 | .{ .src = .{ .mem, .simm32, .none } }, |
| | 30121 | .{ .src = .{ .simm32, .mem, .none }, .commute = .{ 0, 1 } }, |
| | 30122 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 30123 | .{ .src = .{ .simm32, .to_gpr, .none }, .commute = .{ 0, 1 } }, |
| | 30124 | }, |
| | 30125 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .{ .cc = .c } }, |
| | 30126 | .clobbers = .{ .eflags = true }, |
| | 30127 | .each = .{ .once = &.{ |
| | 30128 | .{ ._, .i_, .mul, .dst0q, .src0q, .src1d, ._ }, |
| | 30129 | } }, |
| | 30130 | }, .{ |
| | 30131 | .required_features = .{ .@"64bit", null, null, null }, |
| | 30132 | .src_constraints = .{ .{ .exact_signed_int = 64 }, .{ .exact_signed_int = 64 }, .any }, |
| | 30133 | .patterns = &.{ |
| | 30134 | .{ .src = .{ .to_mut_gpr, .mem, .none } }, |
| | 30135 | .{ .src = .{ .mem, .to_mut_gpr, .none }, .commute = .{ 0, 1 } }, |
| | 30136 | .{ .src = .{ .to_mut_gpr, .to_gpr, .none } }, |
| | 30137 | }, |
| | 30138 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .c } }, |
| | 30139 | .clobbers = .{ .eflags = true }, |
| | 30140 | .each = .{ .once = &.{ |
| | 30141 | .{ ._, .i_, .mul, .dst0q, .src1q, ._, ._ }, |
| | 30142 | } }, |
| | 30143 | }, .{ |
| | 30144 | .required_features = .{ .@"64bit", null, null, null }, |
| | 30145 | .src_constraints = .{ .{ .exact_unsigned_int = 64 }, .{ .exact_unsigned_int = 64 }, .any }, |
| | 30146 | .patterns = &.{ |
| | 30147 | .{ .src = .{ .{ .to_reg = .eax }, .mem, .none } }, |
| | 30148 | .{ .src = .{ .mem, .{ .to_reg = .eax }, .none }, .commute = .{ 0, 1 } }, |
| | 30149 | .{ .src = .{ .{ .to_reg = .eax }, .to_gpr, .none } }, |
| | 30150 | }, |
| | 30151 | .extra_temps = .{ |
| | 30152 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30153 | .unused, |
| | 30154 | .unused, |
| | 30155 | .unused, |
| | 30156 | .unused, |
| | 30157 | .unused, |
| | 30158 | .unused, |
| | 30159 | .unused, |
| | 30160 | .unused, |
| | 30161 | .unused, |
| | 30162 | .unused, |
| | 30163 | }, |
| | 30164 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .c } }, |
| | 30165 | .clobbers = .{ .eflags = true }, |
| | 30166 | .each = .{ .once = &.{ |
| | 30167 | .{ ._, ._, .mul, .src1q, ._, ._, ._ }, |
| | 30168 | } }, |
| | 30169 | }, .{ |
| | 30170 | .required_features = .{ .@"64bit", null, null, null }, |
| | 30171 | .src_constraints = .{ .{ .signed_int = .qword }, .{ .signed_int = .qword }, .any }, |
| | 30172 | .patterns = &.{ |
| | 30173 | .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } }, |
| | 30174 | .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } }, |
| | 30175 | .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } }, |
| | 30176 | }, |
| | 30177 | .extra_temps = .{ |
| | 30178 | .{ .type = .i64, .kind = .{ .reg = .rdx } }, |
| | 30179 | .{ .type = .i64, .kind = .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } } }, |
| | 30180 | .unused, |
| | 30181 | .unused, |
| | 30182 | .unused, |
| | 30183 | .unused, |
| | 30184 | .unused, |
| | 30185 | .unused, |
| | 30186 | .unused, |
| | 30187 | .unused, |
| | 30188 | .unused, |
| | 30189 | }, |
| | 30190 | .dst_temps = .{ .{ .ref = .src0 }, .{ .cc = .nz } }, |
| | 30191 | .clobbers = .{ .eflags = true }, |
| | 30192 | .each = .{ .once = &.{ |
| | 30193 | .{ ._, .i_, .mul, .src1q, ._, ._, ._ }, |
| | 30194 | .{ ._, ._, .sbb, .tmp0d, .tmp0d, ._, ._ }, |
| | 30195 | .{ ._, ._, .mov, .tmp1q, .dst0q, ._, ._ }, |
| | 30196 | .{ ._, ._l, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| | 30197 | .{ ._, ._r, .sa, .dst0q, .uia(64, .src0, .sub_bit_size), ._, ._ }, |
| | 30198 | .{ ._, ._, .xor, .tmp1q, .dst0q, ._, ._ }, |
| | 30199 | .{ ._, ._, .@"or", .tmp1q, .tmp0q, ._, ._ }, |
| | 30200 | } }, |
| | 30201 | }, .{ |
| | 30202 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| | 30203 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, |
| | 30204 | .patterns = &.{ |
| | 30205 | .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } }, |
| | 30206 | .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } }, |
| | 30207 | .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } }, |
| | 30208 | }, |
| | 30209 | .extra_temps = .{ |
| | 30210 | .{ .type = .u64, .kind = .{ .ref = .src0 } }, |
| | 30211 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30212 | .unused, |
| | 30213 | .unused, |
| | 30214 | .unused, |
| | 30215 | .unused, |
| | 30216 | .unused, |
| | 30217 | .unused, |
| | 30218 | .unused, |
| | 30219 | .unused, |
| | 30220 | .unused, |
| | 30221 | }, |
| | 30222 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .{ .cc = .nz } }, |
| | 30223 | .clobbers = .{ .eflags = true }, |
| | 30224 | .each = .{ .once = &.{ |
| | 30225 | .{ ._, ._, .mul, .src1q, ._, ._, ._ }, |
| | 30226 | .{ ._, ._, .mov, .dst0d, .ua(.src0, .add_bit_size), ._, ._ }, |
| | 30227 | .{ ._, ._, .bzhi, .dst0q, .tmp0q, .dst0q, ._ }, |
| | 30228 | .{ ._, ._, .xor, .tmp0q, .dst0q, ._, ._ }, |
| | 30229 | .{ ._, ._, .@"or", .tmp0q, .tmp1q, ._, ._ }, |
| | 30230 | } }, |
| | 30231 | }, .{ |
| | 30232 | .required_features = .{ .@"64bit", null, null, null }, |
| | 30233 | .src_constraints = .{ .{ .unsigned_int = .qword }, .{ .unsigned_int = .qword }, .any }, |
| | 30234 | .patterns = &.{ |
| | 30235 | .{ .src = .{ .{ .to_reg = .rax }, .mem, .none } }, |
| | 30236 | .{ .src = .{ .mem, .{ .to_reg = .rax }, .none }, .commute = .{ 0, 1 } }, |
| | 30237 | .{ .src = .{ .{ .to_reg = .rax }, .to_gpr, .none } }, |
| | 30238 | }, |
| | 30239 | .extra_temps = .{ |
| | 30240 | .{ .type = .u64, .kind = .{ .ref = .src0 } }, |
| | 30241 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30242 | .unused, |
| | 30243 | .unused, |
| | 30244 | .unused, |
| | 30245 | .unused, |
| | 30246 | .unused, |
| | 30247 | .unused, |
| | 30248 | .unused, |
| | 30249 | .unused, |
| | 30250 | .unused, |
| | 30251 | }, |
| | 30252 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .{ .cc = .nz } }, |
| | 30253 | .clobbers = .{ .eflags = true }, |
| | 30254 | .each = .{ .once = &.{ |
| | 30255 | .{ ._, ._, .mul, .src1q, ._, ._, ._ }, |
| | 30256 | .{ ._, ._, .mov, .dst0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 30257 | .{ ._, ._, .@"and", .dst0q, .tmp0q, ._, ._ }, |
| | 30258 | .{ ._, ._, .xor, .tmp0q, .dst0q, ._, ._ }, |
| | 30259 | .{ ._, ._, .@"or", .tmp0q, .tmp1q, ._, ._ }, |
| | 30260 | } }, |
| | 30261 | }, .{ |
| | 30262 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| | 30263 | .src_constraints = .{ |
| | 30264 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 30265 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 30266 | .any, |
| | 30267 | }, |
| | 30268 | .patterns = &.{ |
| | 30269 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 30270 | }, |
| | 30271 | .extra_temps = .{ |
| | 30272 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30273 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30274 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 30275 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30276 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30277 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30278 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30279 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 30280 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30281 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 30282 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30283 | }, |
| | 30284 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 30285 | .clobbers = .{ .eflags = true }, |
| | 30286 | .each = .{ .once = &.{ |
| | 30287 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 30288 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30289 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 30290 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30291 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 30292 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 30293 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 30294 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 30295 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 30296 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30297 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 30298 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 30299 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 30300 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 30301 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 30302 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 30303 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 30304 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 30305 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30306 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 30307 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 30308 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 30309 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 30310 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 30311 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 30312 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 30313 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 30314 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 30315 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30316 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30317 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 30318 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 30319 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 30320 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 30321 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 30322 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 30323 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 30324 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 30325 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 30326 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 30327 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 30328 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30329 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 30330 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 30331 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 30332 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 30333 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30334 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| | 30335 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30336 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 30337 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30338 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30339 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30340 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30341 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30342 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30343 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30344 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 30345 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30346 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 30347 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30348 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30349 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 30350 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 30351 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30352 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30353 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30354 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30355 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30356 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30357 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30358 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30359 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 30360 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30361 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30362 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30363 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30364 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30365 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30366 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30367 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30368 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30369 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 30370 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 30371 | } }, |
| | 30372 | }, .{ |
| | 30373 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 30374 | .src_constraints = .{ |
| | 30375 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 30376 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 30377 | .any, |
| | 30378 | }, |
| | 30379 | .patterns = &.{ |
| | 30380 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 30381 | }, |
| | 30382 | .extra_temps = .{ |
| | 30383 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30384 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30385 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 30386 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30387 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30388 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30389 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30390 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 30391 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30392 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 30393 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30394 | }, |
| | 30395 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 30396 | .clobbers = .{ .eflags = true }, |
| | 30397 | .each = .{ .once = &.{ |
| | 30398 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 30399 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30400 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 30401 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30402 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 30403 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 30404 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 30405 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 30406 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 30407 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30408 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 30409 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 30410 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 30411 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 30412 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 30413 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 30414 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 30415 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 30416 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30417 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 30418 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 30419 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 30420 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 30421 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 30422 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 30423 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 30424 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 30425 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 30426 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30427 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30428 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 30429 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 30430 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 30431 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 30432 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 30433 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 30434 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 30435 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 30436 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 30437 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 30438 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 30439 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30440 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 30441 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 30442 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 30443 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 30444 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30445 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| | 30446 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30447 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 30448 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30449 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30450 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30451 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30452 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30453 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30454 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30455 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 30456 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30457 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 30458 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30459 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30460 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 30461 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 30462 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30463 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30464 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30465 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30466 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30467 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30468 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30469 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30470 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 30471 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30472 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30473 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30474 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30475 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30476 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30477 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30478 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30479 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30480 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 30481 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 30482 | } }, |
| | 30483 | }, .{ |
| | 30484 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| | 30485 | .src_constraints = .{ |
| | 30486 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 30487 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 30488 | .any, |
| | 30489 | }, |
| | 30490 | .patterns = &.{ |
| | 30491 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 30492 | }, |
| | 30493 | .extra_temps = .{ |
| | 30494 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30495 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30496 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 30497 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30498 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30499 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30500 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30501 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 30502 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30503 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 30504 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30505 | }, |
| | 30506 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 30507 | .clobbers = .{ .eflags = true }, |
| | 30508 | .each = .{ .once = &.{ |
| | 30509 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 30510 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30511 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 30512 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30513 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 30514 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 30515 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 30516 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 30517 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 30518 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30519 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 30520 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 30521 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 30522 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 30523 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 30524 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 30525 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 30526 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 30527 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30528 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 30529 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 30530 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 30531 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 30532 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 30533 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 30534 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 30535 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 30536 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 30537 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30538 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30539 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 30540 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 30541 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 30542 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 30543 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 30544 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 30545 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 30546 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 30547 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 30548 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 30549 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 30550 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30551 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 30552 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 30553 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 30554 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30555 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| | 30556 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 30557 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30558 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 30559 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30560 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30561 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30562 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30563 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30564 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30565 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30566 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 30567 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30568 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 30569 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30570 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30571 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 30572 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 30573 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30574 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30575 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30576 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30577 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30578 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30579 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30580 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30581 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 30582 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30583 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30584 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30585 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30586 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30587 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30588 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30589 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30590 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30591 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 30592 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 30593 | } }, |
| | 30594 | }, .{ |
| | 30595 | .required_features = .{ .@"64bit", null, null, null }, |
| | 30596 | .src_constraints = .{ |
| | 30597 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 30598 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 30599 | .any, |
| | 30600 | }, |
| | 30601 | .patterns = &.{ |
| | 30602 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 30603 | }, |
| | 30604 | .extra_temps = .{ |
| | 30605 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30606 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30607 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 30608 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30609 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30610 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30611 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30612 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 30613 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30614 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 30615 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30616 | }, |
| | 30617 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 30618 | .clobbers = .{ .eflags = true }, |
| | 30619 | .each = .{ .once = &.{ |
| | 30620 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 30621 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30622 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 30623 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30624 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 30625 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 30626 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 30627 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 30628 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 30629 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30630 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 30631 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 30632 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 30633 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 30634 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 30635 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 30636 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 30637 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 30638 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30639 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 30640 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 30641 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 30642 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 30643 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 30644 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 30645 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 30646 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 30647 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 30648 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30649 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30650 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 30651 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 30652 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 30653 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 30654 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 30655 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 30656 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 30657 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 30658 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 30659 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 30660 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 30661 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30662 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 30663 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 30664 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 30665 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30666 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| | 30667 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 30668 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30669 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 30670 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30671 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30672 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30673 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30674 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30675 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30676 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30677 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 30678 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30679 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 30680 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30681 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30682 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 30683 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 30684 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30685 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30686 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30687 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30688 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30689 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30690 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30691 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30692 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 30693 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30694 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30695 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30696 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30697 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30698 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30699 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30700 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30701 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30702 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 30703 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 30704 | } }, |
| | 30705 | }, .{ |
| | 30706 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| | 30707 | .src_constraints = .{ |
| | 30708 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 30709 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 30710 | .any, |
| | 30711 | }, |
| | 30712 | .patterns = &.{ |
| | 30713 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 30714 | }, |
| | 30715 | .extra_temps = .{ |
| | 30716 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30717 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30718 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 30719 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30720 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30721 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30722 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30723 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 30724 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30725 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 30726 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30727 | }, |
| | 30728 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 30729 | .clobbers = .{ .eflags = true }, |
| | 30730 | .each = .{ .once = &.{ |
| | 30731 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 30732 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30733 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 30734 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30735 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 30736 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 30737 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 30738 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 30739 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 30740 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30741 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 30742 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 30743 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 30744 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 30745 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 30746 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 30747 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 30748 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 30749 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30750 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 30751 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 30752 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 30753 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 30754 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 30755 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 30756 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 30757 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 30758 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 30759 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30760 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30761 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 30762 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 30763 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 30764 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 30765 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 30766 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 30767 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 30768 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 30769 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 30770 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 30771 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 30772 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30773 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 30774 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 30775 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 30776 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 30777 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30778 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| | 30779 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30780 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 30781 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30782 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30783 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30784 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30785 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30786 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30787 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30788 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 30789 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30790 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 30791 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30792 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30793 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 30794 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 30795 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30796 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30797 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30798 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30799 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30800 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30801 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30802 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30803 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 30804 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30805 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30806 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30807 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30808 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30809 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30810 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30811 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30812 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30813 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 30814 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 30815 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 30816 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 30817 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 30818 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 30819 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 30820 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 30821 | } }, |
| | 30822 | }, .{ |
| | 30823 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 30824 | .src_constraints = .{ |
| | 30825 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 30826 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 30827 | .any, |
| | 30828 | }, |
| | 30829 | .patterns = &.{ |
| | 30830 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 30831 | }, |
| | 30832 | .extra_temps = .{ |
| | 30833 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30834 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30835 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 30836 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30837 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30838 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30839 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30840 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 30841 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30842 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 30843 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30844 | }, |
| | 30845 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 30846 | .clobbers = .{ .eflags = true }, |
| | 30847 | .each = .{ .once = &.{ |
| | 30848 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 30849 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30850 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 30851 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30852 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 30853 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 30854 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 30855 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 30856 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 30857 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30858 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 30859 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 30860 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 30861 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 30862 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 30863 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 30864 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 30865 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 30866 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30867 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 30868 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 30869 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 30870 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 30871 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 30872 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 30873 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 30874 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 30875 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 30876 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30877 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30878 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 30879 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 30880 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 30881 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 30882 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 30883 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 30884 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 30885 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 30886 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 30887 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 30888 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 30889 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30890 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 30891 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 30892 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 30893 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 30894 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30895 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| | 30896 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30897 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 30898 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30899 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30900 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30901 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30902 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30903 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30904 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 30905 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 30906 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30907 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 30908 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30909 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 30910 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 30911 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 30912 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 30913 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30914 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 30915 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 30916 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 30917 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30918 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 30919 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 30920 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 30921 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30922 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30923 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30924 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30925 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 30926 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30927 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 30928 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 30929 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 30930 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 30931 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 30932 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 30933 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 30934 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 30935 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 30936 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 30937 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 30938 | } }, |
| | 30939 | }, .{ |
| | 30940 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| | 30941 | .src_constraints = .{ |
| | 30942 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 30943 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 30944 | .any, |
| | 30945 | }, |
| | 30946 | .patterns = &.{ |
| | 30947 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 30948 | }, |
| | 30949 | .extra_temps = .{ |
| | 30950 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30951 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30952 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 30953 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30954 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30955 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 30956 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30957 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 30958 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 30959 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 30960 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 30961 | }, |
| | 30962 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 30963 | .clobbers = .{ .eflags = true }, |
| | 30964 | .each = .{ .once = &.{ |
| | 30965 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 30966 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 30967 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 30968 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 30969 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 30970 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 30971 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 30972 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 30973 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 30974 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 30975 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 30976 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 30977 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 30978 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 30979 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 30980 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 30981 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 30982 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 30983 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30984 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 30985 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 30986 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 30987 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 30988 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 30989 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 30990 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 30991 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 30992 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 30993 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 30994 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 30995 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 30996 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 30997 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 30998 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 30999 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 31000 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 31001 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 31002 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 31003 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 31004 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31005 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 31006 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31007 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 31008 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 31009 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 31010 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31011 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| | 31012 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 31013 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31014 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 31015 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31016 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31017 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31018 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31019 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31020 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31021 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31022 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 31023 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31024 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 31025 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31026 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31027 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 31028 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 31029 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31030 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31031 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31032 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31033 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31034 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31035 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31036 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31037 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 31038 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31039 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31040 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31041 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31042 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31043 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31044 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31045 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31046 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31047 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 31048 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 31049 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 31050 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 31051 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31052 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31053 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 31054 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31055 | } }, |
| | 31056 | }, .{ |
| | 31057 | .required_features = .{ .@"64bit", null, null, null }, |
| | 31058 | .src_constraints = .{ |
| | 31059 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31060 | .{ .exact_remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31061 | .any, |
| | 31062 | }, |
| | 31063 | .patterns = &.{ |
| | 31064 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 31065 | }, |
| | 31066 | .extra_temps = .{ |
| | 31067 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31068 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31069 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 31070 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31071 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31072 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31073 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31074 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 31075 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31076 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 31077 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 31078 | }, |
| | 31079 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 31080 | .clobbers = .{ .eflags = true }, |
| | 31081 | .each = .{ .once = &.{ |
| | 31082 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 31083 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31084 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 31085 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31086 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 31087 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 31088 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 31089 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 31090 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 31091 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31092 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 31093 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 31094 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 31095 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 31096 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 31097 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 31098 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 31099 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 31100 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31101 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 31102 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 31103 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 31104 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 31105 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 31106 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 31107 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 31108 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 31109 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 31110 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31111 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31112 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 31113 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 31114 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 31115 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 31116 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 31117 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 31118 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 31119 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 31120 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 31121 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31122 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 31123 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31124 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 31125 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 31126 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 31127 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31128 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| | 31129 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 31130 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31131 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 31132 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31133 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31134 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31135 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31136 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31137 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31138 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31139 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 31140 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31141 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 31142 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31143 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31144 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 31145 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 31146 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31147 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31148 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31149 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31150 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31151 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31152 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31153 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31154 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 31155 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31156 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31157 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31158 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31159 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31160 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31161 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31162 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31163 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31164 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 31165 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 31166 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 31167 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 31168 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31169 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31170 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 31171 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31172 | } }, |
| | 31173 | }, .{ |
| | 31174 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| | 31175 | .src_constraints = .{ |
| | 31176 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31177 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31178 | .any, |
| | 31179 | }, |
| | 31180 | .patterns = &.{ |
| | 31181 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 31182 | }, |
| | 31183 | .extra_temps = .{ |
| | 31184 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31185 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31186 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 31187 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31188 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31189 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31190 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31191 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 31192 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31193 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 31194 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 31195 | }, |
| | 31196 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 31197 | .clobbers = .{ .eflags = true }, |
| | 31198 | .each = .{ .once = &.{ |
| | 31199 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 31200 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31201 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 31202 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31203 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 31204 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 31205 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 31206 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 31207 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 31208 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31209 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 31210 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 31211 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 31212 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 31213 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 31214 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 31215 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 31216 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 31217 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31218 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 31219 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 31220 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 31221 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 31222 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 31223 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 31224 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 31225 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 31226 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 31227 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31228 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31229 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 31230 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 31231 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 31232 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 31233 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 31234 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 31235 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 31236 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 31237 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 31238 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31239 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 31240 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31241 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 31242 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 31243 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 31244 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 31245 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31246 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| | 31247 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31248 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 31249 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31250 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31251 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31252 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31253 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31254 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31255 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31256 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 31257 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31258 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 31259 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31260 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31261 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 31262 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 31263 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31264 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31265 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31266 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31267 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31268 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31269 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31270 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31271 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 31272 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31273 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31274 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31275 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31276 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31277 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31278 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31279 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31280 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31281 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 31282 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 31283 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 31284 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31285 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31286 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31287 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 31288 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -16), .tmp0q, ._, ._ }, |
| | 31289 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 31290 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31291 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31292 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31293 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 31294 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31295 | } }, |
| | 31296 | }, .{ |
| | 31297 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 31298 | .src_constraints = .{ |
| | 31299 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31300 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31301 | .any, |
| | 31302 | }, |
| | 31303 | .patterns = &.{ |
| | 31304 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 31305 | }, |
| | 31306 | .extra_temps = .{ |
| | 31307 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31308 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31309 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 31310 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31311 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31312 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31313 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31314 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 31315 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31316 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 31317 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 31318 | }, |
| | 31319 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 31320 | .clobbers = .{ .eflags = true }, |
| | 31321 | .each = .{ .once = &.{ |
| | 31322 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 31323 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31324 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 31325 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31326 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 31327 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 31328 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 31329 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 31330 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 31331 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31332 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 31333 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 31334 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 31335 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 31336 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 31337 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 31338 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 31339 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 31340 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31341 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 31342 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 31343 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 31344 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 31345 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 31346 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 31347 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 31348 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 31349 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 31350 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31351 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31352 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 31353 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 31354 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 31355 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 31356 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 31357 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 31358 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 31359 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 31360 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 31361 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31362 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 31363 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31364 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 31365 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 31366 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 31367 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 31368 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31369 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| | 31370 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31371 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 31372 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31373 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31374 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31375 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31376 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31377 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31378 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31379 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 31380 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31381 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 31382 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31383 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31384 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 31385 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 31386 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31387 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31388 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31389 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31390 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31391 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31392 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31393 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31394 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 31395 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31396 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31397 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31398 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31399 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31400 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31401 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31402 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31403 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31404 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 31405 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 31406 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 31407 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31408 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31409 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31410 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 31411 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -16), .tmp0q, ._, ._ }, |
| | 31412 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 31413 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31414 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31415 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31416 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 31417 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31418 | } }, |
| | 31419 | }, .{ |
| | 31420 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| | 31421 | .src_constraints = .{ |
| | 31422 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31423 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31424 | .any, |
| | 31425 | }, |
| | 31426 | .patterns = &.{ |
| | 31427 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 31428 | }, |
| | 31429 | .extra_temps = .{ |
| | 31430 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31431 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31432 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 31433 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31434 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31435 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31436 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31437 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 31438 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31439 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 31440 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 31441 | }, |
| | 31442 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 31443 | .clobbers = .{ .eflags = true }, |
| | 31444 | .each = .{ .once = &.{ |
| | 31445 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 31446 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31447 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 31448 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31449 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 31450 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 31451 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 31452 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 31453 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 31454 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31455 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 31456 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 31457 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 31458 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 31459 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 31460 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 31461 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 31462 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 31463 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31464 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 31465 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 31466 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 31467 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 31468 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 31469 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 31470 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 31471 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 31472 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 31473 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31474 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31475 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 31476 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 31477 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 31478 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 31479 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 31480 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 31481 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 31482 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 31483 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 31484 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31485 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 31486 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31487 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 31488 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 31489 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 31490 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31491 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| | 31492 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 31493 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31494 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 31495 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31496 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31497 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31498 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31499 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31500 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31501 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31502 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 31503 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31504 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 31505 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31506 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31507 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 31508 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 31509 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31510 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31511 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31512 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31513 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31514 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31515 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31516 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31517 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 31518 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31519 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31520 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31521 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31522 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31523 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31524 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31525 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31526 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31527 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 31528 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 31529 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 31530 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31531 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31532 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31533 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 31534 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -16), .tmp0q, ._, ._ }, |
| | 31535 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 31536 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31537 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31538 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31539 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 31540 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31541 | } }, |
| | 31542 | }, .{ |
| | 31543 | .required_features = .{ .@"64bit", null, null, null }, |
| | 31544 | .src_constraints = .{ |
| | 31545 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31546 | .{ .remainder_signed_int = .{ .of = .xword, .is = .qword } }, |
| | 31547 | .any, |
| | 31548 | }, |
| | 31549 | .patterns = &.{ |
| | 31550 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 31551 | }, |
| | 31552 | .extra_temps = .{ |
| | 31553 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31554 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31555 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 31556 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31557 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31558 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31559 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31560 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 31561 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31562 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 31563 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 31564 | }, |
| | 31565 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 31566 | .clobbers = .{ .eflags = true }, |
| | 31567 | .each = .{ .once = &.{ |
| | 31568 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 31569 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31570 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 31571 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31572 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 31573 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 31574 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 31575 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 31576 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 31577 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31578 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 31579 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 31580 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 31581 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 31582 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 31583 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 31584 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 31585 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 31586 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31587 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 31588 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 31589 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 31590 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 31591 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 31592 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 31593 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 31594 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 31595 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 31596 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31597 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31598 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 31599 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 31600 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 31601 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 31602 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 31603 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 31604 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 31605 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 31606 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 31607 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31608 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 31609 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31610 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 31611 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 31612 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 31613 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31614 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| | 31615 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 31616 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31617 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 31618 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31619 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31620 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31621 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31622 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31623 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31624 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31625 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 31626 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31627 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 31628 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31629 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31630 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 31631 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 31632 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31633 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31634 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31635 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31636 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31637 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31638 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31639 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31640 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 31641 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31642 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31643 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31644 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31645 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31646 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31647 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31648 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31649 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31650 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 31651 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 31652 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 31653 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31654 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31655 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31656 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 31657 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -16), .tmp0q, ._, ._ }, |
| | 31658 | .{ ._, ._r, .sa, .tmp0q, .ui(63), ._, ._ }, |
| | 31659 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31660 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31661 | .{ ._, ._, .xor, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31662 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 31663 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31664 | } }, |
| | 31665 | }, .{ |
| | 31666 | .required_features = .{ .@"64bit", .cmov, .slow_incdec, null }, |
| | 31667 | .src_constraints = .{ |
| | 31668 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 31669 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 31670 | .any, |
| | 31671 | }, |
| | 31672 | .patterns = &.{ |
| | 31673 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 31674 | }, |
| | 31675 | .extra_temps = .{ |
| | 31676 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31677 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31678 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 31679 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31680 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31681 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31682 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31683 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 31684 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31685 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 31686 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 31687 | }, |
| | 31688 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 31689 | .clobbers = .{ .eflags = true }, |
| | 31690 | .each = .{ .once = &.{ |
| | 31691 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 31692 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31693 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 31694 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31695 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 31696 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 31697 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 31698 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 31699 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 31700 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31701 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 31702 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 31703 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 31704 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 31705 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 31706 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 31707 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 31708 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 31709 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31710 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 31711 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 31712 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 31713 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 31714 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 31715 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 31716 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 31717 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 31718 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 31719 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31720 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31721 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 31722 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 31723 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 31724 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 31725 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 31726 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 31727 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 31728 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 31729 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 31730 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31731 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 31732 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31733 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 31734 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 31735 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 31736 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 31737 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31738 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| | 31739 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31740 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 31741 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31742 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31743 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31744 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31745 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31746 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31747 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31748 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 31749 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31750 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 31751 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31752 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31753 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 31754 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 31755 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31756 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31757 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31758 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31759 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31760 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31761 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31762 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31763 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 31764 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31765 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31766 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31767 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31768 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31769 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31770 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31771 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31772 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31773 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 31774 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 31775 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31776 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31777 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31778 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31779 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 31780 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 31781 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31782 | } }, |
| | 31783 | }, .{ |
| | 31784 | .required_features = .{ .@"64bit", .cmov, null, null }, |
| | 31785 | .src_constraints = .{ |
| | 31786 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 31787 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 31788 | .any, |
| | 31789 | }, |
| | 31790 | .patterns = &.{ |
| | 31791 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 31792 | }, |
| | 31793 | .extra_temps = .{ |
| | 31794 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31795 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31796 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 31797 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31798 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31799 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31800 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31801 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 31802 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31803 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 31804 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 31805 | }, |
| | 31806 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 31807 | .clobbers = .{ .eflags = true }, |
| | 31808 | .each = .{ .once = &.{ |
| | 31809 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 31810 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31811 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 31812 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31813 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 31814 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 31815 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 31816 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 31817 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 31818 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31819 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 31820 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 31821 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 31822 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 31823 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 31824 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 31825 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 31826 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 31827 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31828 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 31829 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 31830 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 31831 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 31832 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 31833 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 31834 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 31835 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 31836 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 31837 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31838 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31839 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 31840 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 31841 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 31842 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 31843 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 31844 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 31845 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 31846 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 31847 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 31848 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31849 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 31850 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31851 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 31852 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 31853 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 31854 | .{ ._, ._, .lea, .tmp8q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 31855 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31856 | .{ ._, ._nz, .cmov, .tmp2q, .tmp8q, ._, ._ }, |
| | 31857 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31858 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 31859 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31860 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31861 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31862 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31863 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31864 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31865 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31866 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 31867 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31868 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 31869 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31870 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31871 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 31872 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 31873 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31874 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31875 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31876 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31877 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31878 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31879 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31880 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31881 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 31882 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31883 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31884 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31885 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31886 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31887 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31888 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 31889 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31890 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 31891 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 31892 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 31893 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31894 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 31895 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31896 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 31897 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 31898 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 31899 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 31900 | } }, |
| | 31901 | }, .{ |
| | 31902 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| | 31903 | .src_constraints = .{ |
| | 31904 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 31905 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 31906 | .any, |
| | 31907 | }, |
| | 31908 | .patterns = &.{ |
| | 31909 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 31910 | }, |
| | 31911 | .extra_temps = .{ |
| | 31912 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31913 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31914 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 31915 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31916 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31917 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 31918 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31919 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 31920 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 31921 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 31922 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 31923 | }, |
| | 31924 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 31925 | .clobbers = .{ .eflags = true }, |
| | 31926 | .each = .{ .once = &.{ |
| | 31927 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 31928 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 31929 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 31930 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 31931 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 31932 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 31933 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 31934 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 31935 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 31936 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31937 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 31938 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 31939 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 31940 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 31941 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 31942 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 31943 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 31944 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 31945 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31946 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 31947 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 31948 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 31949 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 31950 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 31951 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 31952 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 31953 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 31954 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 31955 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31956 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 31957 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 31958 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 31959 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 31960 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 31961 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 31962 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 31963 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 31964 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 31965 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 31966 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 31967 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 31968 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 31969 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 31970 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 31971 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 31972 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31973 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| | 31974 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 31975 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31976 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 31977 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31978 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31979 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31980 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31981 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31982 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31983 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 31984 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 31985 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 31986 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 31987 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 31988 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 31989 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 31990 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 31991 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 31992 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31993 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 31994 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 31995 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 31996 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 31997 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 31998 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 31999 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 32000 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 32001 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 32002 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 32003 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 32004 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 32005 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 32006 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 32007 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 32008 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 32009 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 32010 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 32011 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32012 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 32013 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 32014 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 32015 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 32016 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 32017 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 32018 | } }, |
| | 32019 | }, .{ |
| | 32020 | .required_features = .{ .@"64bit", null, null, null }, |
| | 32021 | .src_constraints = .{ |
| | 32022 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 32023 | .{ .remainder_signed_int = .{ .of = .xword, .is = .xword } }, |
| | 32024 | .any, |
| | 32025 | }, |
| | 32026 | .patterns = &.{ |
| | 32027 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32028 | }, |
| | 32029 | .extra_temps = .{ |
| | 32030 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32031 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32032 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32033 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32034 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32035 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32036 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32037 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32038 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32039 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 32040 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32041 | }, |
| | 32042 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32043 | .clobbers = .{ .eflags = true }, |
| | 32044 | .each = .{ .once = &.{ |
| | 32045 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32046 | .{ ._, ._, .mov, .tmp1q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 32047 | .{ ._, ._, .lea, .tmp2p, .memd(.src1, 8), ._, ._ }, |
| | 32048 | .{ ._, ._, .mov, .tmp3q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 32049 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32050 | .{ ._, ._r, .sa, .tmp1q, .ui(63), ._, ._ }, |
| | 32051 | .{ ._, ._r, .sa, .tmp3q, .ui(63), ._, ._ }, |
| | 32052 | .{ .@"0:", ._, .lea, .tmp5p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32053 | .{ ._, ._, .mov, .tmp6q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32054 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 32055 | .{ ._, ._, .xor, .tmp8d, .tmp8d, ._, ._ }, |
| | 32056 | .{ ._, ._, .xor, .tmp6q, .tmp1q, ._, ._ }, |
| | 32057 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32058 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp6q, ._, ._ }, |
| | 32059 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32060 | .{ .@"1:", ._, .adc, .tmp10q, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), ._, ._ }, |
| | 32061 | .{ ._, ._, .adc, .tmp7b, .si(0), ._, ._ }, |
| | 32062 | .{ ._, ._, .mov, .tmp8q, .tmp10q, ._, ._ }, |
| | 32063 | .{ .@"2:", ._, .mov, .tmp9q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 32064 | .{ ._, ._, .xor, .tmp9q, .tmp3q, ._, ._ }, |
| | 32065 | .{ ._, ._, .mul, .tmp6q, ._, ._, ._ }, |
| | 32066 | .{ ._, ._l, .sh, .tmp7b, .ui(4), ._, ._ }, |
| | 32067 | .{ ._, ._, .adc, .tmp9q, .tmp8q, ._, ._ }, |
| | 32068 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp5, .add_src0_size), .tmp9q, ._, ._ }, |
| | 32069 | .{ ._, ._c, .in, .tmp5p, ._, ._, ._ }, |
| | 32070 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32071 | .{ ._, ._, .mov, .tmp5d, .tmp0d, ._, ._ }, |
| | 32072 | .{ ._, ._, .adc, .tmp10q, .si(0), ._, ._ }, |
| | 32073 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32074 | .{ .@"1:", ._, .mov, .tmp6q, .leasi(.tmp2q, .@"8", .tmp5), ._, ._ }, |
| | 32075 | .{ ._, ._, .xor, .tmp6q, .tmp3q, ._, ._ }, |
| | 32076 | .{ ._, ._, .@"or", .tmp10q, .tmp6q, ._, ._ }, |
| | 32077 | .{ .@"2:", ._c, .de, .tmp5d, ._, ._, ._ }, |
| | 32078 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 32079 | .{ ._, ._, .@"or", .tmp4q, .tmp10q, ._, ._ }, |
| | 32080 | .{ .@"3:", ._, .lea, .tmp2p, .lead(.tmp2, 8), ._, ._ }, |
| | 32081 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 32082 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 32083 | .{ ._, ._, .mov, .tmp0q, .sia(1, .src0, .sub_size_div_8), ._, ._ }, |
| | 32084 | .{ ._, ._, .mov, .tmp5q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32085 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32086 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 32087 | .{ ._, ._, .cmp, .tmp1b, .tmp3b, ._, ._ }, |
| | 32088 | .{ ._, ._e, .j, .@"1f", ._, ._, ._ }, |
| | 32089 | .{ ._, ._, .lea, .tmp2q, .memad(.src0, .add_size, -8), ._, ._ }, |
| | 32090 | .{ ._, ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 32091 | .{ ._, ._z, .j, .@"0f", ._, ._, ._ }, |
| | 32092 | .{ ._, ._, .lea, .tmp2q, .memad(.src1, .add_size, -8), ._, ._ }, |
| | 32093 | .{ .@"0:", ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 32094 | .{ ._, ._, .sbb, .tmp8q, .leasi(.tmp2q, .@"8", .tmp0), ._, ._ }, |
| | 32095 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 32096 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 32097 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 32098 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 32099 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 32100 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 32101 | .{ ._, ._, .mov, .tmp8d, .tmp7d, ._, ._ }, |
| | 32102 | .{ ._, ._, .sbb, .tmp8q, .lea(.tmp2q), ._, ._ }, |
| | 32103 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 32104 | .{ ._, ._, .sbb, .tmp8q, .tmp5q, ._, ._ }, |
| | 32105 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32106 | .{ .@"1:", ._, .@"test", .tmp1b, .tmp1b, ._, ._ }, |
| | 32107 | .{ ._, ._z, .j, .@"1f", ._, ._, ._ }, |
| | 32108 | .{ ._, ._c, .st, ._, ._, ._, ._ }, |
| | 32109 | .{ .@"0:", ._, .mov, .tmp8q, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), ._, ._ }, |
| | 32110 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src0q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 32111 | .{ ._, ._, .adc, .tmp6b, .tmp6b, ._, ._ }, |
| | 32112 | .{ ._, ._, .sbb, .tmp8q, .memsiad(.src1q, .@"8", .tmp0, .add_size, -8), ._, ._ }, |
| | 32113 | .{ ._, ._r, .rc, .tmp6b, .ui(1), ._, ._ }, |
| | 32114 | .{ ._, ._, .mov, .memsiad(.dst0q, .@"8", .tmp0, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 32115 | .{ ._, ._c, .in, .tmp0q, ._, ._, ._ }, |
| | 32116 | .{ ._, ._nz, .j, .@"0b", ._, ._, ._ }, |
| | 32117 | .{ ._, ._, .mov, .tmp8q, .tmp5q, ._, ._ }, |
| | 32118 | .{ ._, ._, .sbb, .tmp8q, .memad(.src0q, .add_size, -8), ._, ._ }, |
| | 32119 | .{ ._, ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 32120 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 32121 | .{ ._, ._, .xor, .tmp7d, .tmp7d, ._, ._ }, |
| | 32122 | .{ ._, ._, .add, .tmp6b, .tmp6b, ._, ._ }, |
| | 32123 | .{ ._, ._, .sbb, .tmp8q, .memad(.src1q, .add_size, -8), ._, ._ }, |
| | 32124 | .{ .@"2:", ._o, .set, .tmp7b, ._, ._, ._ }, |
| | 32125 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp8q, ._, ._ }, |
| | 32126 | .{ ._, ._, .@"or", .tmp4b, .tmp7b, ._, ._ }, |
| | 32127 | .{ .@"1:", ._r, .sh, .tmp5q, .ui(63), ._, ._ }, |
| | 32128 | .{ ._, ._, .@"or", .tmp4q, .tmp5q, ._, ._ }, |
| | 32129 | .{ ._, ._, .mov, .tmp0q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32130 | .{ ._, ._, .mov, .tmp1q, .tmp0q, ._, ._ }, |
| | 32131 | .{ ._, ._l, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 32132 | .{ ._, ._r, .sa, .tmp0q, .uia(64, .src0, .sub_bit_size_rem_64), ._, ._ }, |
| | 32133 | .{ ._, ._, .xor, .tmp1q, .tmp0q, ._, ._ }, |
| | 32134 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 32135 | .{ ._, ._, .@"or", .tmp4q, .tmp1q, ._, ._ }, |
| | 32136 | } }, |
| | 32137 | }, .{ |
| | 32138 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| | 32139 | .src_constraints = .{ |
| | 32140 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32141 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32142 | .any, |
| | 32143 | }, |
| | 32144 | .patterns = &.{ |
| | 32145 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32146 | }, |
| | 32147 | .extra_temps = .{ |
| | 32148 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32149 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32150 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32151 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32152 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32153 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 32154 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32155 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32156 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32157 | .unused, |
| | 32158 | .unused, |
| | 32159 | }, |
| | 32160 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32161 | .clobbers = .{ .eflags = true }, |
| | 32162 | .each = .{ .once = &.{ |
| | 32163 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| | 32164 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| | 32165 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32166 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| | 32167 | .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32168 | .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 32169 | .{ ._, ._z, .j, .@"2f", ._, ._, ._ }, |
| | 32170 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ }, |
| | 32171 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32172 | .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ }, |
| | 32173 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32174 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_src0_size, -8), .tmp7q, ._, ._ }, |
| | 32175 | .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ }, |
| | 32176 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_src0_size), ._, ._ }, |
| | 32177 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32178 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| | 32179 | .{ ._, ._mp, .j, .@"1b", ._, ._, ._ }, |
| | 32180 | .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| | 32181 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32182 | .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ }, |
| | 32183 | .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ }, |
| | 32184 | .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ }, |
| | 32185 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32186 | .{ .@"1:", ._, .@"or", .tmp8q, .leaid(.tmp1q, .tmp4, 8), ._, ._ }, |
| | 32187 | .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ }, |
| | 32188 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 32189 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 32190 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32191 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 32192 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 32193 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| | 32194 | } }, |
| | 32195 | }, .{ |
| | 32196 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| | 32197 | .src_constraints = .{ |
| | 32198 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32199 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32200 | .any, |
| | 32201 | }, |
| | 32202 | .patterns = &.{ |
| | 32203 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32204 | }, |
| | 32205 | .extra_temps = .{ |
| | 32206 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32207 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32208 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32209 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32210 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32211 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32212 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32213 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32214 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32215 | .unused, |
| | 32216 | .unused, |
| | 32217 | }, |
| | 32218 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32219 | .clobbers = .{ .eflags = true }, |
| | 32220 | .each = .{ .once = &.{ |
| | 32221 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32222 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32223 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32224 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32225 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32226 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32227 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32228 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32229 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32230 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32231 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32232 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32233 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32234 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32235 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32236 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| | 32237 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32238 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32239 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32240 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32241 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32242 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| | 32243 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| | 32244 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32245 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32246 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 32247 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 32248 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| | 32249 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32250 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 32251 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 32252 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| | 32253 | } }, |
| | 32254 | }, .{ |
| | 32255 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| | 32256 | .src_constraints = .{ |
| | 32257 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32258 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32259 | .any, |
| | 32260 | }, |
| | 32261 | .patterns = &.{ |
| | 32262 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32263 | }, |
| | 32264 | .extra_temps = .{ |
| | 32265 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32266 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32267 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32268 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32269 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32270 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32271 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32272 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32273 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32274 | .unused, |
| | 32275 | .unused, |
| | 32276 | }, |
| | 32277 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32278 | .clobbers = .{ .eflags = true }, |
| | 32279 | .each = .{ .once = &.{ |
| | 32280 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32281 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32282 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32283 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32284 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32285 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32286 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32287 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32288 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32289 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32290 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32291 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32292 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32293 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32294 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32295 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| | 32296 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32297 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32298 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32299 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32300 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32301 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| | 32302 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| | 32303 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32304 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32305 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 32306 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 32307 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| | 32308 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32309 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 32310 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 32311 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| | 32312 | } }, |
| | 32313 | }, .{ |
| | 32314 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| | 32315 | .src_constraints = .{ |
| | 32316 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32317 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32318 | .any, |
| | 32319 | }, |
| | 32320 | .patterns = &.{ |
| | 32321 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32322 | }, |
| | 32323 | .extra_temps = .{ |
| | 32324 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32325 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32326 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32327 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32328 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32329 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32330 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32331 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 32332 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32333 | .unused, |
| | 32334 | .unused, |
| | 32335 | }, |
| | 32336 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32337 | .clobbers = .{ .eflags = true }, |
| | 32338 | .each = .{ .once = &.{ |
| | 32339 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32340 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32341 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32342 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32343 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32344 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32345 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32346 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32347 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32348 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32349 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32350 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32351 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32352 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32353 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| | 32354 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| | 32355 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32356 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32357 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32358 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32359 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32360 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32361 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| | 32362 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32363 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32364 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 32365 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 32366 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 32367 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32368 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 32369 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 32370 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| | 32371 | } }, |
| | 32372 | }, .{ |
| | 32373 | .required_features = .{ .@"64bit", null, null, null }, |
| | 32374 | .src_constraints = .{ |
| | 32375 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32376 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 32377 | .any, |
| | 32378 | }, |
| | 32379 | .patterns = &.{ |
| | 32380 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32381 | }, |
| | 32382 | .extra_temps = .{ |
| | 32383 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32384 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32385 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32386 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32387 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32388 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32389 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32390 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 32391 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32392 | .unused, |
| | 32393 | .unused, |
| | 32394 | }, |
| | 32395 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32396 | .clobbers = .{ .eflags = true }, |
| | 32397 | .each = .{ .once = &.{ |
| | 32398 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32399 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32400 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32401 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32402 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32403 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32404 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32405 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32406 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32407 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32408 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32409 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32410 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32411 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32412 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| | 32413 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| | 32414 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32415 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32416 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32417 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32418 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32419 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32420 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| | 32421 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32422 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32423 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 32424 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 32425 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 32426 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32427 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 32428 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 32429 | .{ ._, ._, .@"test", .tmp2q, .tmp2q, ._, ._ }, |
| | 32430 | } }, |
| | 32431 | }, .{ |
| | 32432 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| | 32433 | .src_constraints = .{ |
| | 32434 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32435 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32436 | .any, |
| | 32437 | }, |
| | 32438 | .patterns = &.{ |
| | 32439 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32440 | }, |
| | 32441 | .extra_temps = .{ |
| | 32442 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32443 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32444 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32445 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32446 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32447 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 32448 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32449 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32450 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32451 | .unused, |
| | 32452 | .unused, |
| | 32453 | }, |
| | 32454 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32455 | .clobbers = .{ .eflags = true }, |
| | 32456 | .each = .{ .once = &.{ |
| | 32457 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| | 32458 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| | 32459 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32460 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| | 32461 | .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32462 | .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 32463 | .{ ._, ._z, .j, .@"2f", ._, ._, ._ }, |
| | 32464 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ }, |
| | 32465 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32466 | .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ }, |
| | 32467 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32468 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_src0_size, -8), .tmp7q, ._, ._ }, |
| | 32469 | .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ }, |
| | 32470 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_src0_size), ._, ._ }, |
| | 32471 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32472 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| | 32473 | .{ ._, ._mp, .j, .@"1b", ._, ._, ._ }, |
| | 32474 | .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| | 32475 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32476 | .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ }, |
| | 32477 | .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ }, |
| | 32478 | .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ }, |
| | 32479 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32480 | .{ .@"1:", ._, .@"or", .tmp8q, .leai(.tmp1q, .tmp4), ._, ._ }, |
| | 32481 | .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ }, |
| | 32482 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 32483 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 32484 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32485 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 32486 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 32487 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32488 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 32489 | } }, |
| | 32490 | }, .{ |
| | 32491 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| | 32492 | .src_constraints = .{ |
| | 32493 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32494 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32495 | .any, |
| | 32496 | }, |
| | 32497 | .patterns = &.{ |
| | 32498 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32499 | }, |
| | 32500 | .extra_temps = .{ |
| | 32501 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32502 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32503 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32504 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32505 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32506 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32507 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32508 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32509 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32510 | .unused, |
| | 32511 | .unused, |
| | 32512 | }, |
| | 32513 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32514 | .clobbers = .{ .eflags = true }, |
| | 32515 | .each = .{ .once = &.{ |
| | 32516 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32517 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32518 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32519 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32520 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32521 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32522 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32523 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32524 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32525 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32526 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32527 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32528 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32529 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32530 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32531 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| | 32532 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32533 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32534 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32535 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32536 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32537 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| | 32538 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| | 32539 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32540 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32541 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 32542 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 32543 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| | 32544 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32545 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 32546 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 32547 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32548 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 32549 | } }, |
| | 32550 | }, .{ |
| | 32551 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| | 32552 | .src_constraints = .{ |
| | 32553 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32554 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32555 | .any, |
| | 32556 | }, |
| | 32557 | .patterns = &.{ |
| | 32558 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32559 | }, |
| | 32560 | .extra_temps = .{ |
| | 32561 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32562 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32563 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32564 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32565 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32566 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32567 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32568 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32569 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32570 | .unused, |
| | 32571 | .unused, |
| | 32572 | }, |
| | 32573 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32574 | .clobbers = .{ .eflags = true }, |
| | 32575 | .each = .{ .once = &.{ |
| | 32576 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32577 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32578 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32579 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32580 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32581 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32582 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32583 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32584 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32585 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32586 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32587 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32588 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32589 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32590 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32591 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| | 32592 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32593 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32594 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32595 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32596 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32597 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| | 32598 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| | 32599 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32600 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32601 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 32602 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 32603 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| | 32604 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32605 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 32606 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 32607 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32608 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 32609 | } }, |
| | 32610 | }, .{ |
| | 32611 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| | 32612 | .src_constraints = .{ |
| | 32613 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32614 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32615 | .any, |
| | 32616 | }, |
| | 32617 | .patterns = &.{ |
| | 32618 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32619 | }, |
| | 32620 | .extra_temps = .{ |
| | 32621 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32622 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32623 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32624 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32625 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32626 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32627 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32628 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 32629 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32630 | .unused, |
| | 32631 | .unused, |
| | 32632 | }, |
| | 32633 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32634 | .clobbers = .{ .eflags = true }, |
| | 32635 | .each = .{ .once = &.{ |
| | 32636 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32637 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32638 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32639 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32640 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32641 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32642 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32643 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32644 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32645 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32646 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32647 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32648 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32649 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32650 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| | 32651 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| | 32652 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32653 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32654 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32655 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32656 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32657 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32658 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| | 32659 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32660 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32661 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 32662 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 32663 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 32664 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32665 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 32666 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 32667 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32668 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 32669 | } }, |
| | 32670 | }, .{ |
| | 32671 | .required_features = .{ .@"64bit", null, null, null }, |
| | 32672 | .src_constraints = .{ |
| | 32673 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32674 | .{ .exact_remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32675 | .any, |
| | 32676 | }, |
| | 32677 | .patterns = &.{ |
| | 32678 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32679 | }, |
| | 32680 | .extra_temps = .{ |
| | 32681 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32682 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32683 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32684 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32685 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32686 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32687 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32688 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 32689 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32690 | .unused, |
| | 32691 | .unused, |
| | 32692 | }, |
| | 32693 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32694 | .clobbers = .{ .eflags = true }, |
| | 32695 | .each = .{ .once = &.{ |
| | 32696 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32697 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32698 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32699 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32700 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32701 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32702 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32703 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32704 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32705 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32706 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32707 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32708 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32709 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32710 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| | 32711 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| | 32712 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32713 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32714 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32715 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32716 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32717 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32718 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| | 32719 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32720 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32721 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 32722 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 32723 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 32724 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32725 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 32726 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 32727 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32728 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 32729 | } }, |
| | 32730 | }, .{ |
| | 32731 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| | 32732 | .src_constraints = .{ |
| | 32733 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32734 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32735 | .any, |
| | 32736 | }, |
| | 32737 | .patterns = &.{ |
| | 32738 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32739 | }, |
| | 32740 | .extra_temps = .{ |
| | 32741 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32742 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32743 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32744 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32745 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32746 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 32747 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32748 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32749 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32750 | .unused, |
| | 32751 | .unused, |
| | 32752 | }, |
| | 32753 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32754 | .clobbers = .{ .eflags = true }, |
| | 32755 | .each = .{ .once = &.{ |
| | 32756 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| | 32757 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| | 32758 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32759 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| | 32760 | .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32761 | .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 32762 | .{ ._, ._z, .j, .@"2f", ._, ._, ._ }, |
| | 32763 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ }, |
| | 32764 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32765 | .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ }, |
| | 32766 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32767 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_src0_size, -8), .tmp7q, ._, ._ }, |
| | 32768 | .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ }, |
| | 32769 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_src0_size), ._, ._ }, |
| | 32770 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32771 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| | 32772 | .{ ._, ._mp, .j, .@"1b", ._, ._, ._ }, |
| | 32773 | .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| | 32774 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32775 | .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ }, |
| | 32776 | .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ }, |
| | 32777 | .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ }, |
| | 32778 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32779 | .{ .@"1:", ._, .@"or", .tmp8q, .leai(.tmp1q, .tmp4), ._, ._ }, |
| | 32780 | .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ }, |
| | 32781 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 32782 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 32783 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32784 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 32785 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 32786 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 32787 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 32788 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32789 | .{ ._, ._, .bzhi, .tmp0q, .tmp1q, .tmp0q, ._ }, |
| | 32790 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 32791 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -16), .tmp0q, ._, ._ }, |
| | 32792 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 32793 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 32794 | } }, |
| | 32795 | }, .{ |
| | 32796 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| | 32797 | .src_constraints = .{ |
| | 32798 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32799 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32800 | .any, |
| | 32801 | }, |
| | 32802 | .patterns = &.{ |
| | 32803 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32804 | }, |
| | 32805 | .extra_temps = .{ |
| | 32806 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32807 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32808 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32809 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32810 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32811 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32812 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32813 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32814 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32815 | .unused, |
| | 32816 | .unused, |
| | 32817 | }, |
| | 32818 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32819 | .clobbers = .{ .eflags = true }, |
| | 32820 | .each = .{ .once = &.{ |
| | 32821 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32822 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32823 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32824 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32825 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32826 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32827 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32828 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32829 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32830 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32831 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32832 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32833 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32834 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32835 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32836 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| | 32837 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32838 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32839 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32840 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32841 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32842 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| | 32843 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| | 32844 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32845 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32846 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 32847 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 32848 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| | 32849 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32850 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 32851 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 32852 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 32853 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 32854 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32855 | .{ ._, ._, .bzhi, .tmp0q, .tmp1q, .tmp0q, ._ }, |
| | 32856 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 32857 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -16), .tmp0q, ._, ._ }, |
| | 32858 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 32859 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 32860 | } }, |
| | 32861 | }, .{ |
| | 32862 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| | 32863 | .src_constraints = .{ |
| | 32864 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32865 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32866 | .any, |
| | 32867 | }, |
| | 32868 | .patterns = &.{ |
| | 32869 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32870 | }, |
| | 32871 | .extra_temps = .{ |
| | 32872 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32873 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32874 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32875 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32876 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32877 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32878 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32879 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32880 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32881 | .unused, |
| | 32882 | .unused, |
| | 32883 | }, |
| | 32884 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32885 | .clobbers = .{ .eflags = true }, |
| | 32886 | .each = .{ .once = &.{ |
| | 32887 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32888 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32889 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32890 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32891 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32892 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32893 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32894 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32895 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32896 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32897 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32898 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32899 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32900 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32901 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32902 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| | 32903 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32904 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32905 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32906 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32907 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32908 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| | 32909 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| | 32910 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32911 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32912 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 32913 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 32914 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| | 32915 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32916 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 32917 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 32918 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 32919 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 32920 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32921 | .{ ._, ._, .bzhi, .tmp0q, .tmp1q, .tmp0q, ._ }, |
| | 32922 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 32923 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -16), .tmp0q, ._, ._ }, |
| | 32924 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 32925 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 32926 | } }, |
| | 32927 | }, .{ |
| | 32928 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| | 32929 | .src_constraints = .{ |
| | 32930 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32931 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32932 | .any, |
| | 32933 | }, |
| | 32934 | .patterns = &.{ |
| | 32935 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 32936 | }, |
| | 32937 | .extra_temps = .{ |
| | 32938 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32939 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 32940 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32941 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 32942 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32943 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 32944 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 32945 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 32946 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 32947 | .unused, |
| | 32948 | .unused, |
| | 32949 | }, |
| | 32950 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 32951 | .clobbers = .{ .eflags = true }, |
| | 32952 | .each = .{ .once = &.{ |
| | 32953 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 32954 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 32955 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 32956 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 32957 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 32958 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 32959 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 32960 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 32961 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 32962 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 32963 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 32964 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 32965 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 32966 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 32967 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| | 32968 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| | 32969 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 32970 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 32971 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 32972 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 32973 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 32974 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 32975 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| | 32976 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 32977 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 32978 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 32979 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 32980 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 32981 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 32982 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 32983 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 32984 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 32985 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 32986 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 32987 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| | 32988 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 32989 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -16), .tmp0q, ._, ._ }, |
| | 32990 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 32991 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 32992 | } }, |
| | 32993 | }, .{ |
| | 32994 | .required_features = .{ .@"64bit", null, null, null }, |
| | 32995 | .src_constraints = .{ |
| | 32996 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32997 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .qword } }, |
| | 32998 | .any, |
| | 32999 | }, |
| | 33000 | .patterns = &.{ |
| | 33001 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 33002 | }, |
| | 33003 | .extra_temps = .{ |
| | 33004 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33005 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 33006 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33007 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33008 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33009 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 33010 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33011 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 33012 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 33013 | .unused, |
| | 33014 | .unused, |
| | 33015 | }, |
| | 33016 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 33017 | .clobbers = .{ .eflags = true }, |
| | 33018 | .each = .{ .once = &.{ |
| | 33019 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 33020 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 33021 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 33022 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 33023 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 33024 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 33025 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 33026 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 33027 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 33028 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 33029 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 33030 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 33031 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 33032 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 33033 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| | 33034 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| | 33035 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 33036 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 33037 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 33038 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 33039 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 33040 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 33041 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| | 33042 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 33043 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 33044 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 33045 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 33046 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 33047 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 33048 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 33049 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 33050 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 33051 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -16), ._, ._ }, |
| | 33052 | .{ ._, ._, .@"or", .tmp2q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 33053 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| | 33054 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 33055 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -16), .tmp0q, ._, ._ }, |
| | 33056 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 33057 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .ui(0), ._, ._ }, |
| | 33058 | } }, |
| | 33059 | }, .{ |
| | 33060 | .required_features = .{ .@"64bit", .bmi2, .adx, null }, |
| | 33061 | .src_constraints = .{ |
| | 33062 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33063 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33064 | .any, |
| | 33065 | }, |
| | 33066 | .patterns = &.{ |
| | 33067 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 33068 | }, |
| | 33069 | .extra_temps = .{ |
| | 33070 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33071 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 33072 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33073 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33074 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 33075 | .{ .type = .isize, .kind = .{ .reg = .rcx } }, |
| | 33076 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33077 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33078 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33079 | .unused, |
| | 33080 | .unused, |
| | 33081 | }, |
| | 33082 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 33083 | .clobbers = .{ .eflags = true }, |
| | 33084 | .each = .{ .once = &.{ |
| | 33085 | .{ ._, ._, .mov, .tmp0d, .sia(-8, .src0, .add_size), ._, ._ }, |
| | 33086 | .{ ._, ._, .lea, .tmp1p, .mem(.src1), ._, ._ }, |
| | 33087 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 33088 | .{ ._, ._, .xor, .tmp3d, .tmp3d, ._, ._ }, |
| | 33089 | .{ .@"0:", ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 33090 | .{ ._, ._, .@"or", .tmp4q, .memi(.src0q, .tmp0), ._, ._ }, |
| | 33091 | .{ ._, ._z, .j, .@"2f", ._, ._, ._ }, |
| | 33092 | .{ ._, ._, .lea, .tmp5p, .leaad(.tmp0, .sub_src0_size, 8), ._, ._ }, |
| | 33093 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 33094 | .{ .@"1:", ._x, .mul, .tmp8q, .tmp7q, .leai(.tmp1q, .tmp5), ._ }, |
| | 33095 | .{ ._, ._x, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 33096 | .{ ._, ._, .mov, .memiad(.dst0q, .tmp5, .add_src0_size, -8), .tmp7q, ._, ._ }, |
| | 33097 | .{ ._, ._rcxz, .j, .@"1f", ._, ._, ._ }, |
| | 33098 | .{ ._, ._x, .ado, .tmp8q, .memia(.dst0q, .tmp5, .add_src0_size), ._, ._ }, |
| | 33099 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 33100 | .{ ._, ._, .lea, .tmp5p, .lead(.tmp5, 8), ._, ._ }, |
| | 33101 | .{ ._, ._mp, .j, .@"1b", ._, ._, ._ }, |
| | 33102 | .{ .@"2:", ._, .mov, .memi(.dst0q, .tmp0), .tmp4q, ._, ._ }, |
| | 33103 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 33104 | .{ .@"1:", ._, .mov, .tmp4d, .tmp0d, ._, ._ }, |
| | 33105 | .{ ._, ._x, .ado, .tmp8q, .tmp3q, ._, ._ }, |
| | 33106 | .{ ._, ._x, .adc, .tmp8q, .tmp3q, ._, ._ }, |
| | 33107 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 33108 | .{ .@"1:", ._, .@"or", .tmp8q, .leai(.tmp1q, .tmp4), ._, ._ }, |
| | 33109 | .{ .@"2:", ._, .sub, .tmp4d, .si(8), ._, ._ }, |
| | 33110 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 33111 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 33112 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 33113 | .{ ._, ._, .sub, .tmp0d, .si(8), ._, ._ }, |
| | 33114 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 33115 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 33116 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 33117 | .{ ._, ._, .bzhi, .tmp0q, .tmp1q, .tmp0q, ._ }, |
| | 33118 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 33119 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 33120 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 33121 | } }, |
| | 33122 | }, .{ |
| | 33123 | .required_features = .{ .@"64bit", .bmi2, .slow_incdec, null }, |
| | 33124 | .src_constraints = .{ |
| | 33125 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33126 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33127 | .any, |
| | 33128 | }, |
| | 33129 | .patterns = &.{ |
| | 33130 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 33131 | }, |
| | 33132 | .extra_temps = .{ |
| | 33133 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33134 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 33135 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33136 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33137 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 33138 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 33139 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33140 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33141 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33142 | .unused, |
| | 33143 | .unused, |
| | 33144 | }, |
| | 33145 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 33146 | .clobbers = .{ .eflags = true }, |
| | 33147 | .each = .{ .once = &.{ |
| | 33148 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 33149 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 33150 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 33151 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 33152 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 33153 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 33154 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 33155 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 33156 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 33157 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 33158 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 33159 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 33160 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 33161 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 33162 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 33163 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| | 33164 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 33165 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 33166 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 33167 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 33168 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 33169 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| | 33170 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| | 33171 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 33172 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 33173 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 33174 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 33175 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| | 33176 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 33177 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 33178 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 33179 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 33180 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 33181 | .{ ._, ._, .bzhi, .tmp0q, .tmp1q, .tmp0q, ._ }, |
| | 33182 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 33183 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 33184 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 33185 | } }, |
| | 33186 | }, .{ |
| | 33187 | .required_features = .{ .@"64bit", .bmi2, null, null }, |
| | 33188 | .src_constraints = .{ |
| | 33189 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33190 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33191 | .any, |
| | 33192 | }, |
| | 33193 | .patterns = &.{ |
| | 33194 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 33195 | }, |
| | 33196 | .extra_temps = .{ |
| | 33197 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33198 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 33199 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33200 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33201 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 33202 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 33203 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33204 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33205 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33206 | .unused, |
| | 33207 | .unused, |
| | 33208 | }, |
| | 33209 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 33210 | .clobbers = .{ .eflags = true }, |
| | 33211 | .each = .{ .once = &.{ |
| | 33212 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 33213 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 33214 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 33215 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 33216 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 33217 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 33218 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 33219 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 33220 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 33221 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 33222 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 33223 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 33224 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 33225 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 33226 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 33227 | .{ .@"2:", ._x, .mul, .tmp8q, .tmp7q, .leasi(.tmp1q, .@"8", .tmp3), ._ }, |
| | 33228 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 33229 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 33230 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 33231 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 33232 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 33233 | .{ ._, ._, .adc, .tmp5d, .tmp5d, ._, ._ }, |
| | 33234 | .{ ._, ._, .@"or", .tmp5q, .tmp8q, ._, ._ }, |
| | 33235 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 33236 | .{ .@"1:", ._, .@"or", .tmp5q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 33237 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 33238 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 33239 | .{ ._, ._, .@"or", .tmp2q, .tmp5q, ._, ._ }, |
| | 33240 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 33241 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 33242 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 33243 | .{ ._, ._, .mov, .tmp0d, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 33244 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 33245 | .{ ._, ._, .bzhi, .tmp0q, .tmp1q, .tmp0q, ._ }, |
| | 33246 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 33247 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 33248 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 33249 | } }, |
| | 33250 | }, .{ |
| | 33251 | .required_features = .{ .@"64bit", .slow_incdec, null, null }, |
| | 33252 | .src_constraints = .{ |
| | 33253 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33254 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33255 | .any, |
| | 33256 | }, |
| | 33257 | .patterns = &.{ |
| | 33258 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 33259 | }, |
| | 33260 | .extra_temps = .{ |
| | 33261 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33262 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 33263 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33264 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33265 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33266 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 33267 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33268 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 33269 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 33270 | .unused, |
| | 33271 | .unused, |
| | 33272 | }, |
| | 33273 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 33274 | .clobbers = .{ .eflags = true }, |
| | 33275 | .each = .{ .once = &.{ |
| | 33276 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 33277 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 33278 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 33279 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 33280 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 33281 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 33282 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 33283 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 33284 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 33285 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 33286 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 33287 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 33288 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 33289 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 33290 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| | 33291 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| | 33292 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 33293 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 33294 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 33295 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 33296 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 33297 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 33298 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| | 33299 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 33300 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 33301 | .{ .@"2:", ._, .sub, .tmp3d, .si(1), ._, ._ }, |
| | 33302 | .{ ._, ._ae, .j, .@"1b", ._, ._, ._ }, |
| | 33303 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 33304 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 33305 | .{ ._, ._, .sub, .tmp0d, .si(1), ._, ._ }, |
| | 33306 | .{ ._, ._ae, .j, .@"0b", ._, ._, ._ }, |
| | 33307 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 33308 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 33309 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| | 33310 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 33311 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 33312 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 33313 | } }, |
| | 33314 | }, .{ |
| | 33315 | .required_features = .{ .@"64bit", null, null, null }, |
| | 33316 | .src_constraints = .{ |
| | 33317 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33318 | .{ .remainder_unsigned_int = .{ .of = .xword, .is = .xword } }, |
| | 33319 | .any, |
| | 33320 | }, |
| | 33321 | .patterns = &.{ |
| | 33322 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 33323 | }, |
| | 33324 | .extra_temps = .{ |
| | 33325 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33326 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 33327 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33328 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 33329 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33330 | .{ .type = .u8, .kind = .{ .rc = .general_purpose } }, |
| | 33331 | .{ .type = .u64, .kind = .{ .rc = .general_purpose } }, |
| | 33332 | .{ .type = .u64, .kind = .{ .reg = .rax } }, |
| | 33333 | .{ .type = .u64, .kind = .{ .reg = .rdx } }, |
| | 33334 | .unused, |
| | 33335 | .unused, |
| | 33336 | }, |
| | 33337 | .dst_temps = .{ .mem, .{ .cc = .nz } }, |
| | 33338 | .clobbers = .{ .eflags = true }, |
| | 33339 | .each = .{ .once = &.{ |
| | 33340 | .{ ._, ._, .mov, .tmp0d, .sia(-1, .src0, .add_size_div_8), ._, ._ }, |
| | 33341 | .{ ._, ._, .lea, .tmp1p, .memd(.src1, 8), ._, ._ }, |
| | 33342 | .{ ._, ._, .xor, .tmp2d, .tmp2d, ._, ._ }, |
| | 33343 | .{ .@"0:", ._, .lea, .tmp3p, .leaa(.tmp0, .sub_src0_size_div_8), ._, ._ }, |
| | 33344 | .{ ._, ._, .xor, .tmp4d, .tmp4d, ._, ._ }, |
| | 33345 | .{ ._, ._, .xor, .tmp5d, .tmp5d, ._, ._ }, |
| | 33346 | .{ ._, ._, .xor, .tmp6d, .tmp6d, ._, ._ }, |
| | 33347 | .{ ._, ._, .@"or", .tmp4q, .memsi(.src0q, .@"8", .tmp0), ._, ._ }, |
| | 33348 | .{ ._, ._nz, .j, .@"2f", ._, ._, ._ }, |
| | 33349 | .{ ._, ._, .mov, .memsi(.dst0q, .@"8", .tmp0), .tmp4q, ._, ._ }, |
| | 33350 | .{ ._, ._mp, .j, .@"3f", ._, ._, ._ }, |
| | 33351 | .{ .@"1:", ._, .adc, .tmp8q, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), ._, ._ }, |
| | 33352 | .{ ._, ._, .adc, .tmp5b, .si(0), ._, ._ }, |
| | 33353 | .{ ._, ._, .mov, .tmp6q, .tmp8q, ._, ._ }, |
| | 33354 | .{ .@"2:", ._, .mov, .tmp7q, .tmp4q, ._, ._ }, |
| | 33355 | .{ ._, ._, .mul, .leasi(.tmp1q, .@"8", .tmp3), ._, ._, ._ }, |
| | 33356 | .{ ._, ._l, .sh, .tmp5b, .ui(4), ._, ._ }, |
| | 33357 | .{ ._, ._, .adc, .tmp7q, .tmp6q, ._, ._ }, |
| | 33358 | .{ ._, ._, .mov, .memsia(.dst0q, .@"8", .tmp3, .add_src0_size), .tmp7q, ._, ._ }, |
| | 33359 | .{ ._, ._c, .in, .tmp3p, ._, ._, ._ }, |
| | 33360 | .{ ._, ._nz, .j, .@"1b", ._, ._, ._ }, |
| | 33361 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 33362 | .{ ._, ._, .adc, .tmp8q, .si(0), ._, ._ }, |
| | 33363 | .{ ._, ._mp, .j, .@"2f", ._, ._, ._ }, |
| | 33364 | .{ .@"1:", ._, .@"or", .tmp8q, .leasi(.tmp1q, .@"8", .tmp3), ._, ._ }, |
| | 33365 | .{ .@"2:", ._c, .de, .tmp3d, ._, ._, ._ }, |
| | 33366 | .{ ._, ._ns, .j, .@"1b", ._, ._, ._ }, |
| | 33367 | .{ ._, ._, .@"or", .tmp2q, .tmp8q, ._, ._ }, |
| | 33368 | .{ .@"3:", ._, .lea, .tmp1p, .lead(.tmp1, 8), ._, ._ }, |
| | 33369 | .{ ._, ._c, .de, .tmp0d, ._, ._, ._ }, |
| | 33370 | .{ ._, ._ns, .j, .@"0b", ._, ._, ._ }, |
| | 33371 | .{ ._, ._, .mov, .tmp0q, .ua(.src0, .add_umax), ._, ._ }, |
| | 33372 | .{ ._, ._, .mov, .tmp1q, .memad(.dst0q, .add_src0_size, -8), ._, ._ }, |
| | 33373 | .{ ._, ._, .@"and", .tmp0q, .tmp1q, ._, ._ }, |
| | 33374 | .{ ._, ._r, .sh, .tmp1q, .ua(.src0, .add_bit_size_rem_64), ._, ._ }, |
| | 33375 | .{ ._, ._, .mov, .memad(.dst0q, .add_src0_size, -8), .tmp0q, ._, ._ }, |
| | 33376 | .{ ._, ._, .@"or", .tmp2q, .tmp1q, ._, ._ }, |
| | 33377 | } }, |
| | 33378 | } }) catch |err| switch (err) { |
| | 33379 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| | 33380 | @tagName(air_tag), |
| | 33381 | ty_pl.ty.toType().fmt(pt), |
| | 33382 | ops[0].tracking(cg), |
| | 33383 | ops[1].tracking(cg), |
| | 33384 | }), |
| | 33385 | else => |e| return e, |
| | 33386 | }; |
| | 33387 | try res[0].withOverflow(&res[1], cg); |
| | 33388 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| | 33389 | }, |
| 29777 | .alloc => if (use_old) try cg.airAlloc(inst) else { | 33390 | .alloc => if (use_old) try cg.airAlloc(inst) else { |
| 29778 | const ty = air_datas[@intFromEnum(inst)].ty; | 33391 | const ty = air_datas[@intFromEnum(inst)].ty; |
| 29779 | const slot = try cg.tempInit(ty, .{ .lea_frame = .{ | 33392 | const slot = try cg.tempInit(ty, .{ .lea_frame = .{ |
| ... | @@ -112826,6 +116439,7 @@ const Select = struct { | ... | @@ -112826,6 +116439,7 @@ const Select = struct { |
| 112826 | const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" }; | 116439 | const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" }; |
| 112827 | const sub_smin: Adjust = .{ .sign = .neg, .lhs = .smin, .op = .mul, .rhs = .@"1" }; | 116440 | const sub_smin: Adjust = .{ .sign = .neg, .lhs = .smin, .op = .mul, .rhs = .@"1" }; |
| 112828 | const add_umax: Adjust = .{ .sign = .pos, .lhs = .umax, .op = .mul, .rhs = .@"1" }; | 116441 | const add_umax: Adjust = .{ .sign = .pos, .lhs = .umax, .op = .mul, .rhs = .@"1" }; |
| | 116442 | const sub_umax: Adjust = .{ .sign = .neg, .lhs = .umax, .op = .mul, .rhs = .@"1" }; |
| 112829 | const repeat: Adjust = .{ .sign = .pos, .lhs = .repeat, .op = .mul, .rhs = .@"1" }; | 116443 | const repeat: Adjust = .{ .sign = .pos, .lhs = .repeat, .op = .mul, .rhs = .@"1" }; |
| 112830 | }; | 116444 | }; |
| 112831 | const Ref = enum(u5) { | 116445 | const Ref = enum(u5) { |