| ... | @@ -103826,314 +103826,1260 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -103826,314 +103826,1260 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 103826 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; | 103826 | const ty_op = air_datas[@intFromEnum(inst)].ty_op; |
| 103827 | const unrestricted_ty = ty_op.ty.toType(); | 103827 | const unrestricted_ty = ty_op.ty.toType(); |
| 103828 | const restricted_ty = cg.typeOf(ty_op.operand); | 103828 | const restricted_ty = cg.typeOf(ty_op.operand); |
| 103829 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}) ++ .{try cg.tempInit(ty_op.ty.toType(), .none)}; | 103829 | var ops = try cg.tempsFromOperands(inst, .{ty_op.operand}) ++ .{ |
| 103830 | const res = res: switch (restricted_ty.restrictedRepr(zcu)) { | 103830 | try cg.tempInit(.usize, .{ .immediate = unrestricted_ty.abiAlignment(zcu).forward(restricted_ty.abiSize(zcu)) }), |
| 103831 | .indirect => { | 103831 | }; |
| 103832 | if (zcu.comp.config.use_new_linker) switch (air_tag) { | 103832 | var res: [1]Temp = undefined; |
| 103833 | else => unreachable, | 103833 | cg.select(&res, &.{unrestricted_ty}, &ops, switch (air_tag) { |
| 103834 | .unwrap_restricted => {}, | 103834 | else => unreachable, |
| 103835 | .unwrap_restricted_safe => cg.select(&.{}, &.{}, &ops, &.{ .{ | 103835 | .unwrap_restricted => &.{ .{ |
| 103836 | .required_features = .{ .avx, .bmi2, null, null }, | 103836 | .required_features = .{ .@"64bit", null, null, null }, |
| 103837 | .src_constraints = .{ .any, .po2_any, .any }, | 103837 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| 103838 | .patterns = &.{ | 103838 | .patterns = &.{ |
| 103839 | .{ .src = .{ .mem, .none, .none } }, | 103839 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 103840 | .{ .src = .{ .to_gpr, .none, .none } }, | 103840 | }, |
| 103841 | }, | 103841 | .extra_temps = .{ |
| 103842 | .call_frame = .{ .alignment = .@"32" }, | 103842 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 103843 | .extra_temps = .{ | 103843 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 103844 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103844 | .unused, |
| 103845 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, | 103845 | .unused, |
| 103846 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103846 | .unused, |
| 103847 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, | 103847 | .unused, |
| 103848 | .unused, | 103848 | .unused, |
| 103849 | .unused, | 103849 | .unused, |
| 103850 | .unused, | 103850 | .unused, |
| 103851 | .unused, | 103851 | .unused, |
| 103852 | .unused, | 103852 | .unused, |
| 103853 | .unused, | 103853 | }, |
| 103854 | .unused, | 103854 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 103855 | }, | 103855 | .each = .{ .once = &.{ |
| 103856 | .clobbers = .{ .eflags = true }, | 103856 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 103857 | .each = .{ .once = &.{ | 103857 | .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ }, |
| 103858 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_ptr_size), ._, ._ }, | 103858 | .{ ._, ._, .movzx, .dst0d, .leai(.tmp0b, .dst0), ._, ._ }, |
| 103859 | .{ ._, ._, .mov, .tmp2p, .src0p, ._, ._ }, | 103859 | } }, |
| 103860 | .{ ._, ._, .sub, .tmp2p, .tmp0p, ._, ._ }, | 103860 | }, .{ |
| 103861 | .{ ._, ._rx, .ro, .tmp2p, .tmp2p, .sa(.src1, .add_log2_size), ._ }, | 103861 | .required_features = .{ .@"64bit", null, null, null }, |
| 103862 | .{ ._, ._, .cmp, .tmp2p, .leaa(.tmp0p, .sub_ptr_size), ._, ._ }, | 103862 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| 103863 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, | 103863 | .patterns = &.{ |
| 103864 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 103864 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 103865 | } }, | 103865 | }, |
| 103866 | }, .{ | 103866 | .extra_temps = .{ |
| 103867 | .required_features = .{ .avx, null, null, null }, | 103867 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 103868 | .src_constraints = .{ .any, .po2_any, .any }, | 103868 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 103869 | .patterns = &.{ | 103869 | .unused, |
| 103870 | .{ .src = .{ .mem, .none, .none } }, | 103870 | .unused, |
| 103871 | .{ .src = .{ .to_gpr, .none, .none } }, | 103871 | .unused, |
| 103872 | }, | 103872 | .unused, |
| 103873 | .call_frame = .{ .alignment = .@"32" }, | 103873 | .unused, |
| 103874 | .extra_temps = .{ | 103874 | .unused, |
| 103875 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103875 | .unused, |
| 103876 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, | 103876 | .unused, |
| 103877 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103877 | .unused, |
| 103878 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, | 103878 | }, |
| 103879 | .unused, | 103879 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 103880 | .unused, | 103880 | .each = .{ .once = &.{ |
| 103881 | .unused, | 103881 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 103882 | .unused, | 103882 | .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ }, |
| 103883 | .unused, | 103883 | .{ ._, ._, .movsx, .dst0d, .leai(.tmp0b, .dst0), ._, ._ }, |
| 103884 | .unused, | 103884 | } }, |
| 103885 | .unused, | 103885 | }, .{ |
| 103886 | }, | 103886 | .required_features = .{ .@"64bit", null, null, null }, |
| 103887 | .clobbers = .{ .eflags = true }, | 103887 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| 103888 | .each = .{ .once = &.{ | 103888 | .patterns = &.{ |
| 103889 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_ptr_size), ._, ._ }, | 103889 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 103890 | .{ ._, ._, .mov, .tmp2p, .src0p, ._, ._ }, | 103890 | }, |
| 103891 | .{ ._, ._, .sub, .tmp2p, .tmp0p, ._, ._ }, | 103891 | .extra_temps = .{ |
| 103892 | .{ ._, ._r, .ro, .tmp2p, .sa(.src1, .add_log2_size), ._, ._ }, | 103892 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 103893 | .{ ._, ._, .cmp, .tmp2p, .leaa(.tmp0p, .sub_ptr_size), ._, ._ }, | 103893 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 103894 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, | 103894 | .unused, |
| 103895 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 103895 | .unused, |
| 103896 | } }, | 103896 | .unused, |
| 103897 | }, .{ | 103897 | .unused, |
| 103898 | .required_features = .{ .avx, null, null, null }, | 103898 | .unused, |
| 103899 | .patterns = &.{ | 103899 | .unused, |
| 103900 | .{ .src = .{ .mem, .none, .none } }, | 103900 | .unused, |
| 103901 | .{ .src = .{ .to_gpr, .none, .none } }, | 103901 | .unused, |
| 103902 | }, | 103902 | .unused, |
| 103903 | .call_frame = .{ .alignment = .@"32" }, | 103903 | }, |
| 103904 | .extra_temps = .{ | 103904 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 103905 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103905 | .each = .{ .once = &.{ |
| 103906 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, | 103906 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 103907 | .{ .type = .usize, .kind = .{ .reg = .rax } }, | 103907 | .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ }, |
| 103908 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103908 | .{ ._, ._, .movzx, .dst0d, .leasi(.tmp0w, .@"2", .dst0), ._, ._ }, |
| 103909 | .{ .type = .usize, .kind = .{ .reg = .rdx } }, | 103909 | } }, |
| 103910 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, | 103910 | }, .{ |
| 103911 | .unused, | 103911 | .required_features = .{ .@"64bit", null, null, null }, |
| 103912 | .unused, | 103912 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| 103913 | .unused, | 103913 | .patterns = &.{ |
| 103914 | .unused, | 103914 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 103915 | .unused, | 103915 | }, |
| 103916 | }, | 103916 | .extra_temps = .{ |
| 103917 | .clobbers = .{ .eflags = true }, | 103917 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 103918 | .each = .{ .once = &.{ | 103918 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 103919 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_ptr_size), ._, ._ }, | 103919 | .unused, |
| 103920 | .{ ._, ._, .mov, .tmp2p, .src0p, ._, ._ }, | 103920 | .unused, |
| 103921 | .{ ._, ._, .sub, .tmp2p, .tmp0p, ._, ._ }, | 103921 | .unused, |
| 103922 | .{ ._, ._, .mov, .tmp3d, .sa(.src1, .add_size), ._, ._ }, | 103922 | .unused, |
| 103923 | .{ ._, ._, .xor, .tmp4p, .tmp4p, ._, ._ }, | 103923 | .unused, |
| 103924 | .{ ._, ._, .div, .tmp3p, ._, ._, ._ }, | 103924 | .unused, |
| 103925 | .{ ._, ._, .@"test", .tmp4p, .tmp4p, ._, ._ }, | 103925 | .unused, |
| 103926 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, | 103926 | .unused, |
| 103927 | .{ ._, ._, .cmp, .tmp2p, .leaa(.tmp0p, .sub_ptr_size), ._, ._ }, | 103927 | .unused, |
| 103928 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, | 103928 | }, |
| 103929 | .{ .@"1:", ._, .call, .tmp5d, ._, ._, ._ }, | 103929 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 103930 | } }, | 103930 | .each = .{ .once = &.{ |
| 103931 | }, .{ | 103931 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 103932 | .required_features = .{ .sse, .bmi2, null, null }, | 103932 | .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ }, |
| 103933 | .src_constraints = .{ .any, .po2_any, .any }, | 103933 | .{ ._, ._, .movsx, .dst0d, .leasi(.tmp0w, .@"2", .dst0), ._, ._ }, |
| 103934 | .patterns = &.{ | 103934 | } }, |
| 103935 | .{ .src = .{ .mem, .none, .none } }, | 103935 | }, .{ |
| 103936 | .{ .src = .{ .to_gpr, .none, .none } }, | 103936 | .required_features = .{ .@"64bit", null, null, null }, |
| 103937 | }, | 103937 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 103938 | .call_frame = .{ .alignment = .@"16" }, | 103938 | .patterns = &.{ |
| 103939 | .extra_temps = .{ | 103939 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 103940 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103940 | }, |
| 103941 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, | 103941 | .extra_temps = .{ |
| 103942 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103942 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 103943 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, | 103943 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 103944 | .unused, | 103944 | .unused, |
| 103945 | .unused, | 103945 | .unused, |
| 103946 | .unused, | 103946 | .unused, |
| 103947 | .unused, | 103947 | .unused, |
| 103948 | .unused, | 103948 | .unused, |
| 103949 | .unused, | 103949 | .unused, |
| 103950 | .unused, | 103950 | .unused, |
| 103951 | }, | 103951 | .unused, |
| 103952 | .clobbers = .{ .eflags = true }, | 103952 | .unused, |
| 103953 | .each = .{ .once = &.{ | 103953 | }, |
| 103954 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_ptr_size), ._, ._ }, | 103954 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 103955 | .{ ._, ._, .mov, .tmp2p, .src0p, ._, ._ }, | 103955 | .each = .{ .once = &.{ |
| 103956 | .{ ._, ._, .sub, .tmp2p, .tmp0p, ._, ._ }, | 103956 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 103957 | .{ ._, ._rx, .ro, .tmp2p, .tmp2p, .sa(.src1, .add_log2_size), ._ }, | 103957 | .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ }, |
| 103958 | .{ ._, ._, .cmp, .tmp2p, .leaa(.tmp0p, .sub_ptr_size), ._, ._ }, | 103958 | .{ ._, ._, .mov, .dst0d, .leasi(.tmp0d, .@"4", .dst0), ._, ._ }, |
| 103959 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, | 103959 | } }, |
| 103960 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 103960 | }, .{ |
| 103961 | } }, | 103961 | .required_features = .{ .@"64bit", null, null, null }, |
| 103962 | }, .{ | 103962 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| 103963 | .required_features = .{ .sse, null, null, null }, | 103963 | .patterns = &.{ |
| 103964 | .src_constraints = .{ .any, .po2_any, .any }, | 103964 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 103965 | .patterns = &.{ | 103965 | }, |
| 103966 | .{ .src = .{ .mem, .none, .none } }, | 103966 | .extra_temps = .{ |
| 103967 | .{ .src = .{ .to_gpr, .none, .none } }, | 103967 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 103968 | }, | 103968 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 103969 | .call_frame = .{ .alignment = .@"16" }, | 103969 | .unused, |
| 103970 | .extra_temps = .{ | 103970 | .unused, |
| 103971 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103971 | .unused, |
| 103972 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, | 103972 | .unused, |
| 103973 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 103973 | .unused, |
| 103974 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, | 103974 | .unused, |
| 103975 | .unused, | 103975 | .unused, |
| 103976 | .unused, | 103976 | .unused, |
| 103977 | .unused, | 103977 | .unused, |
| 103978 | .unused, | 103978 | }, |
| 103979 | .unused, | 103979 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 103980 | .unused, | 103980 | .each = .{ .once = &.{ |
| 103981 | .unused, | 103981 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 103982 | }, | 103982 | .{ ._, ._, .mov, .dst0d, .src0d, ._, ._ }, |
| 103983 | .clobbers = .{ .eflags = true }, | 103983 | .{ ._, ._, .mov, .dst0q, .leasi(.tmp0q, .@"8", .dst0), ._, ._ }, |
| 103984 | .each = .{ .once = &.{ | 103984 | } }, |
| 103985 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_ptr_size), ._, ._ }, | 103985 | }, .{ |
| 103986 | .{ ._, ._, .mov, .tmp2p, .src0p, ._, ._ }, | 103986 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| 103987 | .{ ._, ._, .sub, .tmp2p, .tmp0p, ._, ._ }, | 103987 | .patterns = &.{ |
| 103988 | .{ ._, ._r, .ro, .tmp2p, .sa(.src1, .add_log2_size), ._, ._ }, | 103988 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 103989 | .{ ._, ._, .cmp, .tmp2p, .leaa(.tmp0p, .sub_ptr_size), ._, ._ }, | 103989 | }, |
| 103990 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, | 103990 | .extra_temps = .{ |
| 103991 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 103991 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 103992 | } }, | 103992 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 103993 | }, .{ | 103993 | .unused, |
| 103994 | .required_features = .{ .sse, null, null, null }, | 103994 | .unused, |
| 103995 | .patterns = &.{ | 103995 | .unused, |
| 103996 | .{ .src = .{ .mem, .none, .none } }, | 103996 | .unused, |
| 103997 | .{ .src = .{ .to_gpr, .none, .none } }, | 103997 | .unused, |
| 103998 | }, | 103998 | .unused, |
| 103999 | .call_frame = .{ .alignment = .@"16" }, | 103999 | .unused, |
| 104000 | .extra_temps = .{ | 104000 | .unused, |
| 104001 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 104001 | .unused, |
| 104002 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, | 104002 | }, |
| 104003 | .{ .type = .usize, .kind = .{ .reg = .rax } }, | 104003 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 104004 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 104004 | .each = .{ .once = &.{ |
| 104005 | .{ .type = .usize, .kind = .{ .reg = .rdx } }, | 104005 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 104006 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, | 104006 | .{ ._, ._, .movzx, .dst0d, .leai(.tmp0b, .src0), ._, ._ }, |
| 104007 | .unused, | 104007 | } }, |
| 104008 | .unused, | 104008 | }, .{ |
| 104009 | .unused, | 104009 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| 104010 | .unused, | 104010 | .patterns = &.{ |
| 104011 | .unused, | 104011 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 104012 | }, | 104012 | }, |
| 104013 | .clobbers = .{ .eflags = true }, | 104013 | .extra_temps = .{ |
| 104014 | .each = .{ .once = &.{ | 104014 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104015 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_ptr_size), ._, ._ }, | 104015 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 104016 | .{ ._, ._, .mov, .tmp2p, .src0p, ._, ._ }, | 104016 | .unused, |
| 104017 | .{ ._, ._, .sub, .tmp2p, .tmp0p, ._, ._ }, | 104017 | .unused, |
| 104018 | .{ ._, ._, .mov, .tmp3d, .sa(.src1, .add_size), ._, ._ }, | 104018 | .unused, |
| 104019 | .{ ._, ._, .xor, .tmp4p, .tmp4p, ._, ._ }, | 104019 | .unused, |
| 104020 | .{ ._, ._, .div, .tmp3p, ._, ._, ._ }, | 104020 | .unused, |
| 104021 | .{ ._, ._, .@"test", .tmp4p, .tmp4p, ._, ._ }, | 104021 | .unused, |
| 104022 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, | 104022 | .unused, |
| 104023 | .{ ._, ._, .cmp, .tmp2p, .leaa(.tmp0p, .sub_ptr_size), ._, ._ }, | 104023 | .unused, |
| 104024 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, | 104024 | .unused, |
| 104025 | .{ .@"1:", ._, .call, .tmp5d, ._, ._, ._ }, | 104025 | }, |
| 104026 | } }, | 104026 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 104027 | }, .{ | 104027 | .each = .{ .once = &.{ |
| 104028 | .required_features = .{ .bmi2, null, null, null }, | 104028 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 104029 | .src_constraints = .{ .any, .po2_any, .any }, | 104029 | .{ ._, ._, .movsx, .dst0d, .leai(.tmp0b, .src0), ._, ._ }, |
| 104030 | .patterns = &.{ | 104030 | } }, |
| 104031 | .{ .src = .{ .mem, .none, .none } }, | 104031 | }, .{ |
| 104032 | .{ .src = .{ .to_gpr, .none, .none } }, | 104032 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| 104033 | }, | 104033 | .patterns = &.{ |
| 104034 | .call_frame = .{ .alignment = .@"8" }, | 104034 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 104035 | .extra_temps = .{ | 104035 | }, |
| 104036 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 104036 | .extra_temps = .{ |
| 104037 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, | 104037 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104038 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 104038 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 104039 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, | 104039 | .unused, |
| 104040 | .unused, | 104040 | .unused, |
| 104041 | .unused, | 104041 | .unused, |
| 104042 | .unused, | 104042 | .unused, |
| 104043 | .unused, | 104043 | .unused, |
| 104044 | .unused, | 104044 | .unused, |
| 104045 | .unused, | 104045 | .unused, |
| 104046 | .unused, | 104046 | .unused, |
| 104047 | }, | 104047 | .unused, |
| 104048 | .clobbers = .{ .eflags = true }, | 104048 | }, |
| 104049 | .each = .{ .once = &.{ | 104049 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 104050 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_ptr_size), ._, ._ }, | 104050 | .each = .{ .once = &.{ |
| 104051 | .{ ._, ._, .mov, .tmp2p, .src0p, ._, ._ }, | 104051 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 104052 | .{ ._, ._, .sub, .tmp2p, .tmp0p, ._, ._ }, | 104052 | .{ ._, ._, .movzx, .dst0d, .leasi(.tmp0w, .@"2", .src0), ._, ._ }, |
| 104053 | .{ ._, ._rx, .ro, .tmp2p, .tmp2p, .sa(.src1, .add_log2_size), ._ }, | 104053 | } }, |
| 104054 | .{ ._, ._, .cmp, .tmp2p, .leaa(.tmp0p, .sub_ptr_size), ._, ._ }, | 104054 | }, .{ |
| 104055 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, | 104055 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| 104056 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 104056 | .patterns = &.{ |
| 104057 | } }, | 104057 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 104058 | }, .{ | 104058 | }, |
| 104059 | .src_constraints = .{ .any, .po2_any, .any }, | 104059 | .extra_temps = .{ |
| 104060 | .patterns = &.{ | 104060 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104061 | .{ .src = .{ .mem, .none, .none } }, | 104061 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 104062 | .{ .src = .{ .to_gpr, .none, .none } }, | 104062 | .unused, |
| 104063 | }, | 104063 | .unused, |
| 104064 | .call_frame = .{ .alignment = .@"8" }, | 104064 | .unused, |
| 104065 | .extra_temps = .{ | 104065 | .unused, |
| 104066 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 104066 | .unused, |
| 104067 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, | 104067 | .unused, |
| 104068 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 104068 | .unused, |
| 104069 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, | 104069 | .unused, |
| 104070 | .unused, | 104070 | .unused, |
| 104071 | .unused, | 104071 | }, |
| 104072 | .unused, | 104072 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 104073 | .unused, | 104073 | .each = .{ .once = &.{ |
| 104074 | .unused, | 104074 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 104075 | .unused, | 104075 | .{ ._, ._, .movsx, .dst0d, .leasi(.tmp0w, .@"2", .src0), ._, ._ }, |
| 104076 | .unused, | 104076 | } }, |
| 104077 | }, | 104077 | }, .{ |
| 104078 | .clobbers = .{ .eflags = true }, | 104078 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 104079 | .each = .{ .once = &.{ | 104079 | .patterns = &.{ |
| 104080 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_ptr_size), ._, ._ }, | 104080 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 104081 | .{ ._, ._, .mov, .tmp2p, .src0p, ._, ._ }, | 104081 | }, |
| 104082 | .{ ._, ._, .sub, .tmp2p, .tmp0p, ._, ._ }, | 104082 | .extra_temps = .{ |
| 104083 | .{ ._, ._r, .ro, .tmp2p, .sa(.src1, .add_log2_size), ._, ._ }, | 104083 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104084 | .{ ._, ._, .cmp, .tmp2p, .leaa(.tmp0p, .sub_ptr_size), ._, ._ }, | 104084 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 104085 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, | 104085 | .unused, |
| 104086 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, | 104086 | .unused, |
| 104087 | } }, | 104087 | .unused, |
| 104088 | }, .{ | 104088 | .unused, |
| 104089 | .patterns = &.{ | 104089 | .unused, |
| 104090 | .{ .src = .{ .mem, .none, .none } }, | 104090 | .unused, |
| 104091 | .{ .src = .{ .to_gpr, .none, .none } }, | 104091 | .unused, |
| 104092 | }, | 104092 | .unused, |
| 104093 | .call_frame = .{ .alignment = .@"8" }, | 104093 | .unused, |
| 104094 | .extra_temps = .{ | 104094 | }, |
| 104095 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 104095 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 104096 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, | 104096 | .each = .{ .once = &.{ |
| 104097 | .{ .type = .usize, .kind = .{ .reg = .rax } }, | 104097 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 104098 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, | 104098 | .{ ._, ._, .mov, .dst0d, .leasi(.tmp0d, .@"4", .src0), ._, ._ }, |
| 104099 | .{ .type = .usize, .kind = .{ .reg = .rdx } }, | 104099 | } }, |
| 104100 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, | 104100 | } }, |
| 104101 | .unused, | 104101 | .unwrap_restricted_safe => &.{ .{ |
| 104102 | .unused, | 104102 | .required_features = .{ .@"64bit", .avx, null, null }, |
| 104103 | .unused, | 104103 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| 104104 | .unused, | 104104 | .patterns = &.{ |
| 104105 | .unused, | 104105 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| 104106 | }, | 104106 | }, |
| 104107 | .clobbers = .{ .eflags = true }, | 104107 | .call_frame = .{ .alignment = .@"32" }, |
| 104108 | .each = .{ .once = &.{ | 104108 | .extra_temps = .{ |
| 104109 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_ptr_size), ._, ._ }, | 104109 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| 104110 | .{ ._, ._, .mov, .tmp2p, .src0p, ._, ._ }, | 104110 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| 104111 | .{ ._, ._, .sub, .tmp2p, .tmp0p, ._, ._ }, | 104111 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| 104112 | .{ ._, ._, .mov, .tmp3d, .sa(.src1, .add_size), ._, ._ }, | 104112 | .unused, |
| 104113 | .{ ._, ._, .xor, .tmp4p, .tmp4p, ._, ._ }, | 104113 | .unused, |
| 104114 | .{ ._, ._, .div, .tmp3p, ._, ._, ._ }, | 104114 | .unused, |
| 104115 | .{ ._, ._, .@"test", .tmp4p, .tmp4p, ._, ._ }, | 104115 | .unused, |
| 104116 | .{ ._, ._nz, .j, .@"1f", ._, ._, ._ }, | 104116 | .unused, |
| 104117 | .{ ._, ._, .cmp, .tmp2p, .leaa(.tmp0p, .sub_ptr_size), ._, ._ }, | 104117 | .unused, |
| 104118 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, | 104118 | .unused, |
| 104119 | .{ .@"1:", ._, .call, .tmp5d, ._, ._, ._ }, | 104119 | .unused, |
| 104120 | } }, | 104120 | }, |
| 104121 | } }) catch |err| switch (err) { | 104121 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| 104122 | error.SelectFailed => return cg.fail("failed to select {t} {f} {f} {f}", .{ | 104122 | .clobbers = .{ .eflags = true }, |
| 104123 | air_tag, | 104123 | .each = .{ .once = &.{ |
| 104124 | unrestricted_ty.fmt(pt), | 104124 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| 104125 | restricted_ty.fmt(pt), | 104125 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| 104126 | ops[0].tracking(cg), | 104126 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| 104127 | }), | 104127 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| 104128 | else => |e| return e, | 104128 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| 104129 | }, | 104129 | .{ ._, ._, .movzx, .dst0d, .leai(.tmp0b, .dst0), ._, ._ }, |
| 104130 | }; | 104130 | } }, |
| 104131 | break :res try ops[0].load(unrestricted_ty, .{}, cg); | 104131 | }, .{ |
| 104132 | }, | 104132 | .required_features = .{ .@"64bit", .sse, null, null }, |
| 104133 | .direct => ops[0], | 104133 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 104134 | .patterns = &.{ |
| | 104135 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104136 | }, |
| | 104137 | .call_frame = .{ .alignment = .@"16" }, |
| | 104138 | .extra_temps = .{ |
| | 104139 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104140 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104141 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104142 | .unused, |
| | 104143 | .unused, |
| | 104144 | .unused, |
| | 104145 | .unused, |
| | 104146 | .unused, |
| | 104147 | .unused, |
| | 104148 | .unused, |
| | 104149 | .unused, |
| | 104150 | }, |
| | 104151 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104152 | .clobbers = .{ .eflags = true }, |
| | 104153 | .each = .{ .once = &.{ |
| | 104154 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104155 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104156 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104157 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104158 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104159 | .{ ._, ._, .movzx, .dst0d, .leai(.tmp0b, .dst0), ._, ._ }, |
| | 104160 | } }, |
| | 104161 | }, .{ |
| | 104162 | .required_features = .{ .@"64bit", null, null, null }, |
| | 104163 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 104164 | .patterns = &.{ |
| | 104165 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104166 | }, |
| | 104167 | .call_frame = .{ .alignment = .@"8" }, |
| | 104168 | .extra_temps = .{ |
| | 104169 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104170 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104171 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104172 | .unused, |
| | 104173 | .unused, |
| | 104174 | .unused, |
| | 104175 | .unused, |
| | 104176 | .unused, |
| | 104177 | .unused, |
| | 104178 | .unused, |
| | 104179 | .unused, |
| | 104180 | }, |
| | 104181 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104182 | .clobbers = .{ .eflags = true }, |
| | 104183 | .each = .{ .once = &.{ |
| | 104184 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104185 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104186 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104187 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104188 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104189 | .{ ._, ._, .movzx, .dst0d, .leai(.tmp0b, .dst0), ._, ._ }, |
| | 104190 | } }, |
| | 104191 | }, .{ |
| | 104192 | .required_features = .{ .@"64bit", .avx, null, null }, |
| | 104193 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 104194 | .patterns = &.{ |
| | 104195 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104196 | }, |
| | 104197 | .call_frame = .{ .alignment = .@"32" }, |
| | 104198 | .extra_temps = .{ |
| | 104199 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104200 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104201 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104202 | .unused, |
| | 104203 | .unused, |
| | 104204 | .unused, |
| | 104205 | .unused, |
| | 104206 | .unused, |
| | 104207 | .unused, |
| | 104208 | .unused, |
| | 104209 | .unused, |
| | 104210 | }, |
| | 104211 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104212 | .clobbers = .{ .eflags = true }, |
| | 104213 | .each = .{ .once = &.{ |
| | 104214 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104215 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104216 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104217 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104218 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104219 | .{ ._, ._, .movsx, .dst0d, .leai(.tmp0b, .dst0), ._, ._ }, |
| | 104220 | } }, |
| | 104221 | }, .{ |
| | 104222 | .required_features = .{ .@"64bit", .sse, null, null }, |
| | 104223 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 104224 | .patterns = &.{ |
| | 104225 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104226 | }, |
| | 104227 | .call_frame = .{ .alignment = .@"16" }, |
| | 104228 | .extra_temps = .{ |
| | 104229 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104230 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104231 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104232 | .unused, |
| | 104233 | .unused, |
| | 104234 | .unused, |
| | 104235 | .unused, |
| | 104236 | .unused, |
| | 104237 | .unused, |
| | 104238 | .unused, |
| | 104239 | .unused, |
| | 104240 | }, |
| | 104241 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104242 | .clobbers = .{ .eflags = true }, |
| | 104243 | .each = .{ .once = &.{ |
| | 104244 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104245 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104246 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104247 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104248 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104249 | .{ ._, ._, .movsx, .dst0d, .leai(.tmp0b, .dst0), ._, ._ }, |
| | 104250 | } }, |
| | 104251 | }, .{ |
| | 104252 | .required_features = .{ .@"64bit", null, null, null }, |
| | 104253 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 104254 | .patterns = &.{ |
| | 104255 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104256 | }, |
| | 104257 | .call_frame = .{ .alignment = .@"8" }, |
| | 104258 | .extra_temps = .{ |
| | 104259 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104260 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104261 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104262 | .unused, |
| | 104263 | .unused, |
| | 104264 | .unused, |
| | 104265 | .unused, |
| | 104266 | .unused, |
| | 104267 | .unused, |
| | 104268 | .unused, |
| | 104269 | .unused, |
| | 104270 | }, |
| | 104271 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104272 | .clobbers = .{ .eflags = true }, |
| | 104273 | .each = .{ .once = &.{ |
| | 104274 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104275 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104276 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104277 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104278 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104279 | .{ ._, ._, .movsx, .dst0d, .leai(.tmp0b, .dst0), ._, ._ }, |
| | 104280 | } }, |
| | 104281 | }, .{ |
| | 104282 | .required_features = .{ .@"64bit", .avx, null, null }, |
| | 104283 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 104284 | .patterns = &.{ |
| | 104285 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104286 | }, |
| | 104287 | .call_frame = .{ .alignment = .@"32" }, |
| | 104288 | .extra_temps = .{ |
| | 104289 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104290 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104291 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104292 | .unused, |
| | 104293 | .unused, |
| | 104294 | .unused, |
| | 104295 | .unused, |
| | 104296 | .unused, |
| | 104297 | .unused, |
| | 104298 | .unused, |
| | 104299 | .unused, |
| | 104300 | }, |
| | 104301 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104302 | .clobbers = .{ .eflags = true }, |
| | 104303 | .each = .{ .once = &.{ |
| | 104304 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104305 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104306 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104307 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104308 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104309 | .{ ._, ._, .movzx, .dst0d, .leasi(.tmp0w, .@"2", .dst0), ._, ._ }, |
| | 104310 | } }, |
| | 104311 | }, .{ |
| | 104312 | .required_features = .{ .@"64bit", .sse, null, null }, |
| | 104313 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 104314 | .patterns = &.{ |
| | 104315 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104316 | }, |
| | 104317 | .call_frame = .{ .alignment = .@"16" }, |
| | 104318 | .extra_temps = .{ |
| | 104319 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104320 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104321 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104322 | .unused, |
| | 104323 | .unused, |
| | 104324 | .unused, |
| | 104325 | .unused, |
| | 104326 | .unused, |
| | 104327 | .unused, |
| | 104328 | .unused, |
| | 104329 | .unused, |
| | 104330 | }, |
| | 104331 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104332 | .clobbers = .{ .eflags = true }, |
| | 104333 | .each = .{ .once = &.{ |
| | 104334 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104335 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104336 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104337 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104338 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104339 | .{ ._, ._, .movzx, .dst0d, .leasi(.tmp0w, .@"2", .dst0), ._, ._ }, |
| | 104340 | } }, |
| | 104341 | }, .{ |
| | 104342 | .required_features = .{ .@"64bit", null, null, null }, |
| | 104343 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 104344 | .patterns = &.{ |
| | 104345 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104346 | }, |
| | 104347 | .call_frame = .{ .alignment = .@"8" }, |
| | 104348 | .extra_temps = .{ |
| | 104349 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104350 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104351 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104352 | .unused, |
| | 104353 | .unused, |
| | 104354 | .unused, |
| | 104355 | .unused, |
| | 104356 | .unused, |
| | 104357 | .unused, |
| | 104358 | .unused, |
| | 104359 | .unused, |
| | 104360 | }, |
| | 104361 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104362 | .clobbers = .{ .eflags = true }, |
| | 104363 | .each = .{ .once = &.{ |
| | 104364 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104365 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104366 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104367 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104368 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104369 | .{ ._, ._, .movzx, .dst0d, .leasi(.tmp0w, .@"2", .dst0), ._, ._ }, |
| | 104370 | } }, |
| | 104371 | }, .{ |
| | 104372 | .required_features = .{ .@"64bit", .avx, null, null }, |
| | 104373 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 104374 | .patterns = &.{ |
| | 104375 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104376 | }, |
| | 104377 | .call_frame = .{ .alignment = .@"32" }, |
| | 104378 | .extra_temps = .{ |
| | 104379 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104380 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104381 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104382 | .unused, |
| | 104383 | .unused, |
| | 104384 | .unused, |
| | 104385 | .unused, |
| | 104386 | .unused, |
| | 104387 | .unused, |
| | 104388 | .unused, |
| | 104389 | .unused, |
| | 104390 | }, |
| | 104391 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104392 | .clobbers = .{ .eflags = true }, |
| | 104393 | .each = .{ .once = &.{ |
| | 104394 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104395 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104396 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104397 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104398 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104399 | .{ ._, ._, .movsx, .dst0d, .leasi(.tmp0w, .@"2", .dst0), ._, ._ }, |
| | 104400 | } }, |
| | 104401 | }, .{ |
| | 104402 | .required_features = .{ .@"64bit", .sse, null, null }, |
| | 104403 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 104404 | .patterns = &.{ |
| | 104405 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104406 | }, |
| | 104407 | .call_frame = .{ .alignment = .@"16" }, |
| | 104408 | .extra_temps = .{ |
| | 104409 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104410 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104411 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104412 | .unused, |
| | 104413 | .unused, |
| | 104414 | .unused, |
| | 104415 | .unused, |
| | 104416 | .unused, |
| | 104417 | .unused, |
| | 104418 | .unused, |
| | 104419 | .unused, |
| | 104420 | }, |
| | 104421 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104422 | .clobbers = .{ .eflags = true }, |
| | 104423 | .each = .{ .once = &.{ |
| | 104424 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104425 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104426 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104427 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104428 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104429 | .{ ._, ._, .movsx, .dst0d, .leasi(.tmp0w, .@"2", .dst0), ._, ._ }, |
| | 104430 | } }, |
| | 104431 | }, .{ |
| | 104432 | .required_features = .{ .@"64bit", null, null, null }, |
| | 104433 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 104434 | .patterns = &.{ |
| | 104435 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104436 | }, |
| | 104437 | .call_frame = .{ .alignment = .@"8" }, |
| | 104438 | .extra_temps = .{ |
| | 104439 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104440 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104441 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104442 | .unused, |
| | 104443 | .unused, |
| | 104444 | .unused, |
| | 104445 | .unused, |
| | 104446 | .unused, |
| | 104447 | .unused, |
| | 104448 | .unused, |
| | 104449 | .unused, |
| | 104450 | }, |
| | 104451 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104452 | .clobbers = .{ .eflags = true }, |
| | 104453 | .each = .{ .once = &.{ |
| | 104454 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104455 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104456 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104457 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104458 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104459 | .{ ._, ._, .movsx, .dst0d, .leasi(.tmp0w, .@"2", .dst0), ._, ._ }, |
| | 104460 | } }, |
| | 104461 | }, .{ |
| | 104462 | .required_features = .{ .@"64bit", .avx, null, null }, |
| | 104463 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 104464 | .patterns = &.{ |
| | 104465 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104466 | }, |
| | 104467 | .call_frame = .{ .alignment = .@"32" }, |
| | 104468 | .extra_temps = .{ |
| | 104469 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104470 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104471 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104472 | .unused, |
| | 104473 | .unused, |
| | 104474 | .unused, |
| | 104475 | .unused, |
| | 104476 | .unused, |
| | 104477 | .unused, |
| | 104478 | .unused, |
| | 104479 | .unused, |
| | 104480 | }, |
| | 104481 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104482 | .clobbers = .{ .eflags = true }, |
| | 104483 | .each = .{ .once = &.{ |
| | 104484 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104485 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104486 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104487 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104488 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104489 | .{ ._, ._, .mov, .dst0d, .leasi(.tmp0d, .@"4", .dst0), ._, ._ }, |
| | 104490 | } }, |
| | 104491 | }, .{ |
| | 104492 | .required_features = .{ .@"64bit", .sse, null, null }, |
| | 104493 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 104494 | .patterns = &.{ |
| | 104495 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104496 | }, |
| | 104497 | .call_frame = .{ .alignment = .@"16" }, |
| | 104498 | .extra_temps = .{ |
| | 104499 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104500 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104501 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104502 | .unused, |
| | 104503 | .unused, |
| | 104504 | .unused, |
| | 104505 | .unused, |
| | 104506 | .unused, |
| | 104507 | .unused, |
| | 104508 | .unused, |
| | 104509 | .unused, |
| | 104510 | }, |
| | 104511 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104512 | .clobbers = .{ .eflags = true }, |
| | 104513 | .each = .{ .once = &.{ |
| | 104514 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104515 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104516 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104517 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104518 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104519 | .{ ._, ._, .mov, .dst0d, .leasi(.tmp0d, .@"4", .dst0), ._, ._ }, |
| | 104520 | } }, |
| | 104521 | }, .{ |
| | 104522 | .required_features = .{ .@"64bit", null, null, null }, |
| | 104523 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 104524 | .patterns = &.{ |
| | 104525 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104526 | }, |
| | 104527 | .call_frame = .{ .alignment = .@"8" }, |
| | 104528 | .extra_temps = .{ |
| | 104529 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104530 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104531 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104532 | .unused, |
| | 104533 | .unused, |
| | 104534 | .unused, |
| | 104535 | .unused, |
| | 104536 | .unused, |
| | 104537 | .unused, |
| | 104538 | .unused, |
| | 104539 | .unused, |
| | 104540 | }, |
| | 104541 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104542 | .clobbers = .{ .eflags = true }, |
| | 104543 | .each = .{ .once = &.{ |
| | 104544 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104545 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104546 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104547 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104548 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104549 | .{ ._, ._, .mov, .dst0d, .leasi(.tmp0d, .@"4", .dst0), ._, ._ }, |
| | 104550 | } }, |
| | 104551 | }, .{ |
| | 104552 | .required_features = .{ .@"64bit", .avx, null, null }, |
| | 104553 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 104554 | .patterns = &.{ |
| | 104555 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104556 | }, |
| | 104557 | .call_frame = .{ .alignment = .@"32" }, |
| | 104558 | .extra_temps = .{ |
| | 104559 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104560 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104561 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104562 | .unused, |
| | 104563 | .unused, |
| | 104564 | .unused, |
| | 104565 | .unused, |
| | 104566 | .unused, |
| | 104567 | .unused, |
| | 104568 | .unused, |
| | 104569 | .unused, |
| | 104570 | }, |
| | 104571 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104572 | .clobbers = .{ .eflags = true }, |
| | 104573 | .each = .{ .once = &.{ |
| | 104574 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104575 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104576 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104577 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104578 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104579 | .{ ._, ._, .mov, .dst0q, .leasi(.tmp0q, .@"8", .dst0), ._, ._ }, |
| | 104580 | } }, |
| | 104581 | }, .{ |
| | 104582 | .required_features = .{ .@"64bit", .sse, null, null }, |
| | 104583 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 104584 | .patterns = &.{ |
| | 104585 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104586 | }, |
| | 104587 | .call_frame = .{ .alignment = .@"16" }, |
| | 104588 | .extra_temps = .{ |
| | 104589 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104590 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104591 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104592 | .unused, |
| | 104593 | .unused, |
| | 104594 | .unused, |
| | 104595 | .unused, |
| | 104596 | .unused, |
| | 104597 | .unused, |
| | 104598 | .unused, |
| | 104599 | .unused, |
| | 104600 | }, |
| | 104601 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104602 | .clobbers = .{ .eflags = true }, |
| | 104603 | .each = .{ .once = &.{ |
| | 104604 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104605 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104606 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104607 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104608 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104609 | .{ ._, ._, .mov, .dst0q, .leasi(.tmp0q, .@"8", .dst0), ._, ._ }, |
| | 104610 | } }, |
| | 104611 | }, .{ |
| | 104612 | .required_features = .{ .@"64bit", null, null, null }, |
| | 104613 | .dst_constraints = .{ .{ .int = .qword }, .any }, |
| | 104614 | .patterns = &.{ |
| | 104615 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104616 | }, |
| | 104617 | .call_frame = .{ .alignment = .@"8" }, |
| | 104618 | .extra_temps = .{ |
| | 104619 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104620 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104621 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104622 | .unused, |
| | 104623 | .unused, |
| | 104624 | .unused, |
| | 104625 | .unused, |
| | 104626 | .unused, |
| | 104627 | .unused, |
| | 104628 | .unused, |
| | 104629 | .unused, |
| | 104630 | }, |
| | 104631 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104632 | .clobbers = .{ .eflags = true }, |
| | 104633 | .each = .{ .once = &.{ |
| | 104634 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104635 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104636 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104637 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104638 | .{ .@"0:", ._, .mov, .dst0d, .src0d, ._, ._ }, |
| | 104639 | .{ ._, ._, .mov, .dst0q, .leasi(.tmp0q, .@"8", .dst0), ._, ._ }, |
| | 104640 | } }, |
| | 104641 | }, .{ |
| | 104642 | .required_features = .{ .avx, null, null, null }, |
| | 104643 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 104644 | .patterns = &.{ |
| | 104645 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104646 | }, |
| | 104647 | .call_frame = .{ .alignment = .@"32" }, |
| | 104648 | .extra_temps = .{ |
| | 104649 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104650 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104651 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104652 | .unused, |
| | 104653 | .unused, |
| | 104654 | .unused, |
| | 104655 | .unused, |
| | 104656 | .unused, |
| | 104657 | .unused, |
| | 104658 | .unused, |
| | 104659 | .unused, |
| | 104660 | }, |
| | 104661 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104662 | .clobbers = .{ .eflags = true }, |
| | 104663 | .each = .{ .once = &.{ |
| | 104664 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104665 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104666 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104667 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104668 | .{ .@"0:", ._, .movzx, .dst0d, .leai(.tmp0b, .src0), ._, ._ }, |
| | 104669 | } }, |
| | 104670 | }, .{ |
| | 104671 | .required_features = .{ .sse, null, null, null }, |
| | 104672 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 104673 | .patterns = &.{ |
| | 104674 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104675 | }, |
| | 104676 | .call_frame = .{ .alignment = .@"16" }, |
| | 104677 | .extra_temps = .{ |
| | 104678 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104679 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104680 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104681 | .unused, |
| | 104682 | .unused, |
| | 104683 | .unused, |
| | 104684 | .unused, |
| | 104685 | .unused, |
| | 104686 | .unused, |
| | 104687 | .unused, |
| | 104688 | .unused, |
| | 104689 | }, |
| | 104690 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104691 | .clobbers = .{ .eflags = true }, |
| | 104692 | .each = .{ .once = &.{ |
| | 104693 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104694 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104695 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104696 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104697 | .{ .@"0:", ._, .movzx, .dst0d, .leai(.tmp0b, .src0), ._, ._ }, |
| | 104698 | } }, |
| | 104699 | }, .{ |
| | 104700 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| | 104701 | .patterns = &.{ |
| | 104702 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104703 | }, |
| | 104704 | .call_frame = .{ .alignment = .@"8" }, |
| | 104705 | .extra_temps = .{ |
| | 104706 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104707 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104708 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104709 | .unused, |
| | 104710 | .unused, |
| | 104711 | .unused, |
| | 104712 | .unused, |
| | 104713 | .unused, |
| | 104714 | .unused, |
| | 104715 | .unused, |
| | 104716 | .unused, |
| | 104717 | }, |
| | 104718 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104719 | .clobbers = .{ .eflags = true }, |
| | 104720 | .each = .{ .once = &.{ |
| | 104721 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104722 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104723 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104724 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104725 | .{ .@"0:", ._, .movzx, .dst0d, .leai(.tmp0b, .src0), ._, ._ }, |
| | 104726 | } }, |
| | 104727 | }, .{ |
| | 104728 | .required_features = .{ .avx, null, null, null }, |
| | 104729 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 104730 | .patterns = &.{ |
| | 104731 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104732 | }, |
| | 104733 | .call_frame = .{ .alignment = .@"32" }, |
| | 104734 | .extra_temps = .{ |
| | 104735 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104736 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104737 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104738 | .unused, |
| | 104739 | .unused, |
| | 104740 | .unused, |
| | 104741 | .unused, |
| | 104742 | .unused, |
| | 104743 | .unused, |
| | 104744 | .unused, |
| | 104745 | .unused, |
| | 104746 | }, |
| | 104747 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104748 | .clobbers = .{ .eflags = true }, |
| | 104749 | .each = .{ .once = &.{ |
| | 104750 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104751 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104752 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104753 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104754 | .{ .@"0:", ._, .movsx, .dst0d, .leai(.tmp0b, .src0), ._, ._ }, |
| | 104755 | } }, |
| | 104756 | }, .{ |
| | 104757 | .required_features = .{ .sse, null, null, null }, |
| | 104758 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 104759 | .patterns = &.{ |
| | 104760 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104761 | }, |
| | 104762 | .call_frame = .{ .alignment = .@"16" }, |
| | 104763 | .extra_temps = .{ |
| | 104764 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104765 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104766 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104767 | .unused, |
| | 104768 | .unused, |
| | 104769 | .unused, |
| | 104770 | .unused, |
| | 104771 | .unused, |
| | 104772 | .unused, |
| | 104773 | .unused, |
| | 104774 | .unused, |
| | 104775 | }, |
| | 104776 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104777 | .clobbers = .{ .eflags = true }, |
| | 104778 | .each = .{ .once = &.{ |
| | 104779 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104780 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104781 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104782 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104783 | .{ .@"0:", ._, .movsx, .dst0d, .leai(.tmp0b, .src0), ._, ._ }, |
| | 104784 | } }, |
| | 104785 | }, .{ |
| | 104786 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| | 104787 | .patterns = &.{ |
| | 104788 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104789 | }, |
| | 104790 | .call_frame = .{ .alignment = .@"8" }, |
| | 104791 | .extra_temps = .{ |
| | 104792 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104793 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104794 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104795 | .unused, |
| | 104796 | .unused, |
| | 104797 | .unused, |
| | 104798 | .unused, |
| | 104799 | .unused, |
| | 104800 | .unused, |
| | 104801 | .unused, |
| | 104802 | .unused, |
| | 104803 | }, |
| | 104804 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104805 | .clobbers = .{ .eflags = true }, |
| | 104806 | .each = .{ .once = &.{ |
| | 104807 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104808 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104809 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104810 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104811 | .{ .@"0:", ._, .movsx, .dst0d, .leai(.tmp0b, .src0), ._, ._ }, |
| | 104812 | } }, |
| | 104813 | }, .{ |
| | 104814 | .required_features = .{ .avx, null, null, null }, |
| | 104815 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 104816 | .patterns = &.{ |
| | 104817 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104818 | }, |
| | 104819 | .call_frame = .{ .alignment = .@"32" }, |
| | 104820 | .extra_temps = .{ |
| | 104821 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104822 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104823 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104824 | .unused, |
| | 104825 | .unused, |
| | 104826 | .unused, |
| | 104827 | .unused, |
| | 104828 | .unused, |
| | 104829 | .unused, |
| | 104830 | .unused, |
| | 104831 | .unused, |
| | 104832 | }, |
| | 104833 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104834 | .clobbers = .{ .eflags = true }, |
| | 104835 | .each = .{ .once = &.{ |
| | 104836 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104837 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104838 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104839 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104840 | .{ .@"0:", ._, .movzx, .dst0d, .leasi(.tmp0w, .@"2", .src0), ._, ._ }, |
| | 104841 | } }, |
| | 104842 | }, .{ |
| | 104843 | .required_features = .{ .sse, null, null, null }, |
| | 104844 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 104845 | .patterns = &.{ |
| | 104846 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104847 | }, |
| | 104848 | .call_frame = .{ .alignment = .@"16" }, |
| | 104849 | .extra_temps = .{ |
| | 104850 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104851 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104852 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104853 | .unused, |
| | 104854 | .unused, |
| | 104855 | .unused, |
| | 104856 | .unused, |
| | 104857 | .unused, |
| | 104858 | .unused, |
| | 104859 | .unused, |
| | 104860 | .unused, |
| | 104861 | }, |
| | 104862 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104863 | .clobbers = .{ .eflags = true }, |
| | 104864 | .each = .{ .once = &.{ |
| | 104865 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104866 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104867 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104868 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104869 | .{ .@"0:", ._, .movzx, .dst0d, .leasi(.tmp0w, .@"2", .src0), ._, ._ }, |
| | 104870 | } }, |
| | 104871 | }, .{ |
| | 104872 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 104873 | .patterns = &.{ |
| | 104874 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104875 | }, |
| | 104876 | .call_frame = .{ .alignment = .@"8" }, |
| | 104877 | .extra_temps = .{ |
| | 104878 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104879 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104880 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104881 | .unused, |
| | 104882 | .unused, |
| | 104883 | .unused, |
| | 104884 | .unused, |
| | 104885 | .unused, |
| | 104886 | .unused, |
| | 104887 | .unused, |
| | 104888 | .unused, |
| | 104889 | }, |
| | 104890 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104891 | .clobbers = .{ .eflags = true }, |
| | 104892 | .each = .{ .once = &.{ |
| | 104893 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104894 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104895 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104896 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104897 | .{ .@"0:", ._, .movzx, .dst0d, .leasi(.tmp0w, .@"2", .src0), ._, ._ }, |
| | 104898 | } }, |
| | 104899 | }, .{ |
| | 104900 | .required_features = .{ .avx, null, null, null }, |
| | 104901 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 104902 | .patterns = &.{ |
| | 104903 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104904 | }, |
| | 104905 | .call_frame = .{ .alignment = .@"32" }, |
| | 104906 | .extra_temps = .{ |
| | 104907 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104908 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104909 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104910 | .unused, |
| | 104911 | .unused, |
| | 104912 | .unused, |
| | 104913 | .unused, |
| | 104914 | .unused, |
| | 104915 | .unused, |
| | 104916 | .unused, |
| | 104917 | .unused, |
| | 104918 | }, |
| | 104919 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104920 | .clobbers = .{ .eflags = true }, |
| | 104921 | .each = .{ .once = &.{ |
| | 104922 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104923 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104924 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104925 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104926 | .{ .@"0:", ._, .movsx, .dst0d, .leasi(.tmp0w, .@"2", .src0), ._, ._ }, |
| | 104927 | } }, |
| | 104928 | }, .{ |
| | 104929 | .required_features = .{ .sse, null, null, null }, |
| | 104930 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 104931 | .patterns = &.{ |
| | 104932 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104933 | }, |
| | 104934 | .call_frame = .{ .alignment = .@"16" }, |
| | 104935 | .extra_temps = .{ |
| | 104936 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104937 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104938 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104939 | .unused, |
| | 104940 | .unused, |
| | 104941 | .unused, |
| | 104942 | .unused, |
| | 104943 | .unused, |
| | 104944 | .unused, |
| | 104945 | .unused, |
| | 104946 | .unused, |
| | 104947 | }, |
| | 104948 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104949 | .clobbers = .{ .eflags = true }, |
| | 104950 | .each = .{ .once = &.{ |
| | 104951 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104952 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104953 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104954 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104955 | .{ .@"0:", ._, .movsx, .dst0d, .leasi(.tmp0w, .@"2", .src0), ._, ._ }, |
| | 104956 | } }, |
| | 104957 | }, .{ |
| | 104958 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 104959 | .patterns = &.{ |
| | 104960 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104961 | }, |
| | 104962 | .call_frame = .{ .alignment = .@"8" }, |
| | 104963 | .extra_temps = .{ |
| | 104964 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104965 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104966 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104967 | .unused, |
| | 104968 | .unused, |
| | 104969 | .unused, |
| | 104970 | .unused, |
| | 104971 | .unused, |
| | 104972 | .unused, |
| | 104973 | .unused, |
| | 104974 | .unused, |
| | 104975 | }, |
| | 104976 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 104977 | .clobbers = .{ .eflags = true }, |
| | 104978 | .each = .{ .once = &.{ |
| | 104979 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 104980 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 104981 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 104982 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 104983 | .{ .@"0:", ._, .movsx, .dst0d, .leasi(.tmp0w, .@"2", .src0), ._, ._ }, |
| | 104984 | } }, |
| | 104985 | }, .{ |
| | 104986 | .required_features = .{ .avx, null, null, null }, |
| | 104987 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 104988 | .patterns = &.{ |
| | 104989 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 104990 | }, |
| | 104991 | .call_frame = .{ .alignment = .@"32" }, |
| | 104992 | .extra_temps = .{ |
| | 104993 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 104994 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 104995 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 104996 | .unused, |
| | 104997 | .unused, |
| | 104998 | .unused, |
| | 104999 | .unused, |
| | 105000 | .unused, |
| | 105001 | .unused, |
| | 105002 | .unused, |
| | 105003 | .unused, |
| | 105004 | }, |
| | 105005 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 105006 | .clobbers = .{ .eflags = true }, |
| | 105007 | .each = .{ .once = &.{ |
| | 105008 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 105009 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 105010 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 105011 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 105012 | .{ .@"0:", ._, .mov, .dst0d, .leasi(.tmp0d, .@"4", .src0), ._, ._ }, |
| | 105013 | } }, |
| | 105014 | }, .{ |
| | 105015 | .required_features = .{ .sse, null, null, null }, |
| | 105016 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 105017 | .patterns = &.{ |
| | 105018 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 105019 | }, |
| | 105020 | .call_frame = .{ .alignment = .@"16" }, |
| | 105021 | .extra_temps = .{ |
| | 105022 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 105023 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 105024 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 105025 | .unused, |
| | 105026 | .unused, |
| | 105027 | .unused, |
| | 105028 | .unused, |
| | 105029 | .unused, |
| | 105030 | .unused, |
| | 105031 | .unused, |
| | 105032 | .unused, |
| | 105033 | }, |
| | 105034 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 105035 | .clobbers = .{ .eflags = true }, |
| | 105036 | .each = .{ .once = &.{ |
| | 105037 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 105038 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 105039 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 105040 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 105041 | .{ .@"0:", ._, .mov, .dst0d, .leasi(.tmp0d, .@"4", .src0), ._, ._ }, |
| | 105042 | } }, |
| | 105043 | }, .{ |
| | 105044 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| | 105045 | .patterns = &.{ |
| | 105046 | .{ .src = .{ .to_gpr, .simm32, .none } }, |
| | 105047 | }, |
| | 105048 | .call_frame = .{ .alignment = .@"8" }, |
| | 105049 | .extra_temps = .{ |
| | 105050 | .{ .type = .usize, .kind = .{ .rc = .general_purpose } }, |
| | 105051 | .{ .type = .usize, .kind = .{ .lazy_sym = .{ .kind = .deferred_const_data, .ref = .src0 } } }, |
| | 105052 | .{ .type = .usize, .kind = .{ .panic_func = .corrupt_restricted_value } }, |
| | 105053 | .unused, |
| | 105054 | .unused, |
| | 105055 | .unused, |
| | 105056 | .unused, |
| | 105057 | .unused, |
| | 105058 | .unused, |
| | 105059 | .unused, |
| | 105060 | .unused, |
| | 105061 | }, |
| | 105062 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .general_purpose } }, .unused }, |
| | 105063 | .clobbers = .{ .eflags = true }, |
| | 105064 | .each = .{ .once = &.{ |
| | 105065 | .{ ._, ._, .lea, .tmp0p, .leaa(.tmp1, .add_src1), ._, ._ }, |
| | 105066 | .{ ._, ._, .cmp, .src0d, .leaa(.tmp0d, .sub_src1), ._, ._ }, |
| | 105067 | .{ ._, ._b, .j, .@"0f", ._, ._, ._ }, |
| | 105068 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 105069 | .{ .@"0:", ._, .mov, .dst0d, .leasi(.tmp0d, .@"4", .src0), ._, ._ }, |
| | 105070 | } }, |
| | 105071 | } }, |
| | 105072 | }) catch |err| switch (err) { |
| | 105073 | error.SelectFailed => return cg.fail("failed to select {t} {f} {f} {f}", .{ |
| | 105074 | air_tag, |
| | 105075 | unrestricted_ty.fmt(pt), |
| | 105076 | restricted_ty.fmt(pt), |
| | 105077 | ops[0].tracking(cg), |
| | 105078 | }), |
| | 105079 | else => |e| return e, |
| 104134 | }; | 105080 | }; |
| 104135 | for (ops[1..]) |op| try op.die(cg); | 105081 | for (ops[1..]) |op| try op.die(cg); |
| 104136 | try res.finish(inst, &.{ty_op.operand}, ops[0..1], cg); | 105082 | try res[0].finish(inst, &.{ty_op.operand}, ops[0..1], cg); |
| 104137 | }, | 105083 | }, |
| 104138 | .struct_field_ptr => { | 105084 | .struct_field_ptr => { |
| 104139 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 105085 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| ... | @@ -104306,7 +105252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104306,7 +105252,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104306 | .{ ._, ._, .bt, .src0d, .src1d, ._, ._ }, | 105252 | .{ ._, ._, .bt, .src0d, .src1d, ._, ._ }, |
| 104307 | } }, | 105253 | } }, |
| 104308 | }, .{ | 105254 | }, .{ |
| 104309 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 105255 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| 104310 | .patterns = &.{ | 105256 | .patterns = &.{ |
| 104311 | .{ .src = .{ .to_mem, .simm32, .none } }, | 105257 | .{ .src = .{ .to_mem, .simm32, .none } }, |
| 104312 | }, | 105258 | }, |
| ... | @@ -104315,32 +105261,68 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104315,32 +105261,68 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104315 | .{ ._, ._, .movzx, .dst0d, .mema(.src0b, .add_src0_elem_size_mul_src1), ._, ._ }, | 105261 | .{ ._, ._, .movzx, .dst0d, .mema(.src0b, .add_src0_elem_size_mul_src1), ._, ._ }, |
| 104316 | } }, | 105262 | } }, |
| 104317 | }, .{ | 105263 | }, .{ |
| 104318 | .dst_constraints = .{ .{ .int = .byte }, .any }, | 105264 | .dst_constraints = .{ .{ .unsigned_int = .byte }, .any }, |
| 104319 | .patterns = &.{ | 105265 | .patterns = &.{ |
| 104320 | .{ .src = .{ .to_mem, .to_gpr, .none } }, | 105266 | .{ .src = .{ .to_mem, .to_gpr, .none } }, |
| 104321 | }, | 105267 | }, |
| 104322 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 105268 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .unused }, |
| 104323 | .each = .{ .once = &.{ | 105269 | .each = .{ .once = &.{ |
| 104324 | .{ ._, ._, .movzx, .dst0d, .memi(.src0b, .src1), ._, ._ }, | 105270 | .{ ._, ._, .movzx, .dst0d, .memi(.src0b, .src1), ._, ._ }, |
| 104325 | } }, | 105271 | } }, |
| 104326 | }, .{ | 105272 | }, .{ |
| 104327 | .dst_constraints = .{ .{ .int = .word }, .any }, | 105273 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| 104328 | .patterns = &.{ | 105274 | .patterns = &.{ |
| 104329 | .{ .src = .{ .to_mem, .simm32, .none } }, | 105275 | .{ .src = .{ .to_mem, .simm32, .none } }, |
| 104330 | }, | 105276 | }, |
| 104331 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 105277 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| 104332 | .each = .{ .once = &.{ | 105278 | .each = .{ .once = &.{ |
| 104333 | .{ ._, ._, .movzx, .dst0d, .mema(.src0w, .add_src0_elem_size_mul_src1), ._, ._ }, | 105279 | .{ ._, ._, .movsx, .dst0d, .mema(.src0b, .add_src0_elem_size_mul_src1), ._, ._ }, |
| 104334 | } }, | 105280 | } }, |
| 104335 | }, .{ | 105281 | }, .{ |
| 104336 | .dst_constraints = .{ .{ .int = .word }, .any }, | 105282 | .dst_constraints = .{ .{ .signed_int = .byte }, .any }, |
| 104337 | .patterns = &.{ | 105283 | .patterns = &.{ |
| 104338 | .{ .src = .{ .to_mem, .to_gpr, .none } }, | 105284 | .{ .src = .{ .to_mem, .to_gpr, .none } }, |
| 104339 | }, | 105285 | }, |
| | 105286 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .unused }, |
| | 105287 | .each = .{ .once = &.{ |
| | 105288 | .{ ._, ._, .movsx, .dst0d, .memi(.src0b, .src1), ._, ._ }, |
| | 105289 | } }, |
| | 105290 | }, .{ |
| | 105291 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 105292 | .patterns = &.{ |
| | 105293 | .{ .src = .{ .to_mem, .simm32, .none } }, |
| | 105294 | }, |
| 104340 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 105295 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 105296 | .each = .{ .once = &.{ |
| | 105297 | .{ ._, ._, .movzx, .dst0d, .mema(.src0w, .add_src0_elem_size_mul_src1), ._, ._ }, |
| | 105298 | } }, |
| | 105299 | }, .{ |
| | 105300 | .dst_constraints = .{ .{ .unsigned_int = .word }, .any }, |
| | 105301 | .patterns = &.{ |
| | 105302 | .{ .src = .{ .to_mem, .to_gpr, .none } }, |
| | 105303 | }, |
| | 105304 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .unused }, |
| 104341 | .each = .{ .once = &.{ | 105305 | .each = .{ .once = &.{ |
| 104342 | .{ ._, ._, .movzx, .dst0d, .memsi(.src0w, .@"2", .src1), ._, ._ }, | 105306 | .{ ._, ._, .movzx, .dst0d, .memsi(.src0w, .@"2", .src1), ._, ._ }, |
| 104343 | } }, | 105307 | } }, |
| | 105308 | }, .{ |
| | 105309 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 105310 | .patterns = &.{ |
| | 105311 | .{ .src = .{ .to_mem, .simm32, .none } }, |
| | 105312 | }, |
| | 105313 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, |
| | 105314 | .each = .{ .once = &.{ |
| | 105315 | .{ ._, ._, .movsx, .dst0d, .mema(.src0w, .add_src0_elem_size_mul_src1), ._, ._ }, |
| | 105316 | } }, |
| | 105317 | }, .{ |
| | 105318 | .dst_constraints = .{ .{ .signed_int = .word }, .any }, |
| | 105319 | .patterns = &.{ |
| | 105320 | .{ .src = .{ .to_mem, .to_gpr, .none } }, |
| | 105321 | }, |
| | 105322 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .unused }, |
| | 105323 | .each = .{ .once = &.{ |
| | 105324 | .{ ._, ._, .movsx, .dst0d, .memsi(.src0w, .@"2", .src1), ._, ._ }, |
| | 105325 | } }, |
| 104344 | }, .{ | 105326 | }, .{ |
| 104345 | .dst_constraints = .{ .{ .int = .dword }, .any }, | 105327 | .dst_constraints = .{ .{ .int = .dword }, .any }, |
| 104346 | .patterns = &.{ | 105328 | .patterns = &.{ |
| ... | @@ -104355,7 +105337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104355,7 +105337,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104355 | .patterns = &.{ | 105337 | .patterns = &.{ |
| 104356 | .{ .src = .{ .to_mem, .to_gpr, .none } }, | 105338 | .{ .src = .{ .to_mem, .to_gpr, .none } }, |
| 104357 | }, | 105339 | }, |
| 104358 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 105340 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .unused }, |
| 104359 | .each = .{ .once = &.{ | 105341 | .each = .{ .once = &.{ |
| 104360 | .{ ._, ._, .mov, .dst0d, .memsi(.src0d, .@"4", .src1), ._, ._ }, | 105342 | .{ ._, ._, .mov, .dst0d, .memsi(.src0d, .@"4", .src1), ._, ._ }, |
| 104361 | } }, | 105343 | } }, |
| ... | @@ -104375,7 +105357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -104375,7 +105357,7 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 104375 | .patterns = &.{ | 105357 | .patterns = &.{ |
| 104376 | .{ .src = .{ .to_mem, .to_gpr, .none } }, | 105358 | .{ .src = .{ .to_mem, .to_gpr, .none } }, |
| 104377 | }, | 105359 | }, |
| 104378 | .dst_temps = .{ .{ .rc = .general_purpose }, .unused }, | 105360 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src1, .rc = .general_purpose } }, .unused }, |
| 104379 | .each = .{ .once = &.{ | 105361 | .each = .{ .once = &.{ |
| 104380 | .{ ._, ._, .mov, .dst0q, .memsi(.src0q, .@"8", .src1), ._, ._ }, | 105362 | .{ ._, ._, .mov, .dst0q, .memsi(.src0q, .@"8", .src1), ._, ._ }, |
| 104381 | } }, | 105363 | } }, |
| ... | @@ -174389,28 +175371,26 @@ fn allocRegOrMemAdvanced(self: *CodeGen, ty: Type, inst: ?Air.Inst.Index, reg_ok | ... | @@ -174389,28 +175371,26 @@ fn allocRegOrMemAdvanced(self: *CodeGen, ty: Type, inst: ?Air.Inst.Index, reg_ok |
| 174389 | | 175371 | |
| 174390 | if (reg_ok) need_mem: { | 175372 | if (reg_ok) need_mem: { |
| 174391 | if (!std.math.isPowerOfTwo(abi_size)) break :need_mem; | 175373 | if (!std.math.isPowerOfTwo(abi_size)) break :need_mem; |
| 174392 | const unrestricted_ty: Type = if (ty.unrestrictedType(zcu)) |unrestricted_ty| switch (ty.restrictedRepr(zcu)) { | 175374 | if (zcu.intern_pool.isRestrictedType(ty.toIntern()) or |
| 174393 | .indirect => .usize, | 175375 | abi_size <= @as(u32, max_abi_size: switch (ty.zigTypeTag(zcu)) { |
| 174394 | .direct => unrestricted_ty, | 175376 | .float => switch (ty.floatBits(self.target)) { |
| 174395 | } else ty; | 175377 | 16, 32, 64, 128 => 16, |
| 174396 | if (abi_size <= @as(u32, max_abi_size: switch (unrestricted_ty.zigTypeTag(zcu)) { | | |
| 174397 | .float => switch (ty.floatBits(self.target)) { | | |
| 174398 | 16, 32, 64, 128 => 16, | | |
| 174399 | 80 => break :need_mem, | | |
| 174400 | else => unreachable, | | |
| 174401 | }, | | |
| 174402 | .vector => { | | |
| 174403 | const elem_ty = ty.childType(zcu); | | |
| 174404 | break :max_abi_size if (elem_ty.toIntern() == .bool_type) | | |
| 174405 | 8 | | |
| 174406 | else if (self.floatBits(elem_ty)) |float_bits| switch (float_bits) { | | |
| 174407 | 16, 32, 64, 128 => self.vectorSize(.float), | | |
| 174408 | 80 => break :need_mem, | 175378 | 80 => break :need_mem, |
| 174409 | else => unreachable, | 175379 | else => unreachable, |
| 174410 | } else self.vectorSize(.int); | 175380 | }, |
| 174411 | }, | 175381 | .vector => { |
| 174412 | else => 8, | 175382 | const elem_ty = ty.childType(zcu); |
| 174413 | })) { | 175383 | break :max_abi_size if (elem_ty.toIntern() == .bool_type) |
| | 175384 | 8 |
| | 175385 | else if (self.floatBits(elem_ty)) |float_bits| switch (float_bits) { |
| | 175386 | 16, 32, 64, 128 => self.vectorSize(.float), |
| | 175387 | 80 => break :need_mem, |
| | 175388 | else => unreachable, |
| | 175389 | } else self.vectorSize(.int); |
| | 175390 | }, |
| | 175391 | else => 8, |
| | 175392 | })) |
| | 175393 | { |
| 174414 | if (self.register_manager.tryAllocReg(inst, self.regSetForType(ty))) |reg| { | 175394 | if (self.register_manager.tryAllocReg(inst, self.regSetForType(ty))) |reg| { |
| 174415 | return MCValue{ .register = registerAlias(reg, abi_size) }; | 175395 | return MCValue{ .register = registerAlias(reg, abi_size) }; |
| 174416 | } | 175396 | } |
| ... | @@ -181410,7 +182390,6 @@ fn lowerValue(cg: *CodeGen, val: Value) Allocator.Error!MCValue { | ... | @@ -181410,7 +182390,6 @@ fn lowerValue(cg: *CodeGen, val: Value) Allocator.Error!MCValue { |
| 181410 | .lea_nav => |nav| .{ .lea_nav = nav }, | 182390 | .lea_nav => |nav| .{ .lea_nav = nav }, |
| 181411 | .lea_uav => |uav| .{ .lea_uav = uav }, | 182391 | .lea_uav => |uav| .{ .lea_uav = uav }, |
| 181412 | .load_uav => |uav| .{ .load_uav = uav }, | 182392 | .load_uav => |uav| .{ .load_uav = uav }, |
| 181413 | .lea_lazy_sym => |lazy_sym| .{ .lea_lazy_sym = lazy_sym }, | | |
| 181414 | }; | 182393 | }; |
| 181415 | } | 182394 | } |
| 181416 | | 182395 | |
| ... | @@ -189344,7 +190323,6 @@ const Select = struct { | ... | @@ -189344,7 +190323,6 @@ const Select = struct { |
| 189344 | ptr_size, | 190323 | ptr_size, |
| 189345 | ptr_bit_size, | 190324 | ptr_bit_size, |
| 189346 | size, | 190325 | size, |
| 189347 | log2_size, | | |
| 189348 | src0_size, | 190326 | src0_size, |
| 189349 | dst0_size, | 190327 | dst0_size, |
| 189350 | delta_size, | 190328 | delta_size, |
| ... | @@ -189379,7 +190357,6 @@ const Select = struct { | ... | @@ -189379,7 +190357,6 @@ const Select = struct { |
| 189379 | rhs: Memory.Scale, | 190357 | rhs: Memory.Scale, |
| 189380 | | 190358 | |
| 189381 | const none: Adjust = .{ .sign = .pos, .lhs = .none, .op = .mul, .rhs = .@"1" }; | 190359 | const none: Adjust = .{ .sign = .pos, .lhs = .none, .op = .mul, .rhs = .@"1" }; |
| 189382 | const add_ptr_size: Adjust = .{ .sign = .pos, .lhs = .ptr_size, .op = .mul, .rhs = .@"1" }; | | |
| 189383 | const sub_ptr_size: Adjust = .{ .sign = .neg, .lhs = .ptr_size, .op = .mul, .rhs = .@"1" }; | 190360 | const sub_ptr_size: Adjust = .{ .sign = .neg, .lhs = .ptr_size, .op = .mul, .rhs = .@"1" }; |
| 189384 | const add_ptr_bit_size: Adjust = .{ .sign = .pos, .lhs = .ptr_bit_size, .op = .mul, .rhs = .@"1" }; | 190361 | const add_ptr_bit_size: Adjust = .{ .sign = .pos, .lhs = .ptr_bit_size, .op = .mul, .rhs = .@"1" }; |
| 189385 | const add_size: Adjust = .{ .sign = .pos, .lhs = .size, .op = .mul, .rhs = .@"1" }; | 190362 | const add_size: Adjust = .{ .sign = .pos, .lhs = .size, .op = .mul, .rhs = .@"1" }; |
| ... | @@ -189388,7 +190365,6 @@ const Select = struct { | ... | @@ -189388,7 +190365,6 @@ const Select = struct { |
| 189388 | const sub_size_div_8: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"8" }; | 190365 | const sub_size_div_8: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"8" }; |
| 189389 | const sub_size_div_4: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"4" }; | 190366 | const sub_size_div_4: Adjust = .{ .sign = .neg, .lhs = .size, .op = .div, .rhs = .@"4" }; |
| 189390 | const sub_size: Adjust = .{ .sign = .neg, .lhs = .size, .op = .mul, .rhs = .@"1" }; | 190367 | const sub_size: Adjust = .{ .sign = .neg, .lhs = .size, .op = .mul, .rhs = .@"1" }; |
| 189391 | const add_log2_size: Adjust = .{ .sign = .pos, .lhs = .log2_size, .op = .mul, .rhs = .@"1" }; | | |
| 189392 | const sub_src0_size_div_8: Adjust = .{ .sign = .neg, .lhs = .src0_size, .op = .div, .rhs = .@"8" }; | 190368 | const sub_src0_size_div_8: Adjust = .{ .sign = .neg, .lhs = .src0_size, .op = .div, .rhs = .@"8" }; |
| 189393 | const sub_src0_size: Adjust = .{ .sign = .neg, .lhs = .src0_size, .op = .mul, .rhs = .@"1" }; | 190369 | const sub_src0_size: Adjust = .{ .sign = .neg, .lhs = .src0_size, .op = .mul, .rhs = .@"1" }; |
| 189394 | const add_src0_size: Adjust = .{ .sign = .pos, .lhs = .src0_size, .op = .mul, .rhs = .@"1" }; | 190370 | const add_src0_size: Adjust = .{ .sign = .pos, .lhs = .src0_size, .op = .mul, .rhs = .@"1" }; |
| ... | @@ -189449,6 +190425,7 @@ const Select = struct { | ... | @@ -189449,6 +190425,7 @@ const Select = struct { |
| 189449 | const add_src1: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .mul, .rhs = .@"1" }; | 190425 | const add_src1: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .mul, .rhs = .@"1" }; |
| 189450 | const add_src1_rem_32: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"4" }; | 190426 | const add_src1_rem_32: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"4" }; |
| 189451 | const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" }; | 190427 | const add_src1_rem_64: Adjust = .{ .sign = .pos, .lhs = .src1, .op = .rem_8_mul, .rhs = .@"8" }; |
| | 190428 | const sub_src1: Adjust = .{ .sign = .neg, .lhs = .src1, .op = .mul, .rhs = .@"1" }; |
| 189452 | const add_src1_sub_bit_size: Adjust = .{ .sign = .pos, .lhs = .src1_sub_bit_size, .op = .mul, .rhs = .@"1" }; | 190429 | const add_src1_sub_bit_size: Adjust = .{ .sign = .pos, .lhs = .src1_sub_bit_size, .op = .mul, .rhs = .@"1" }; |
| 189453 | const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" }; | 190430 | const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 189454 | const elem_mask: Adjust = .{ .sign = .pos, .lhs = .elem_mask, .op = .mul, .rhs = .@"1" }; | 190431 | const elem_mask: Adjust = .{ .sign = .pos, .lhs = .elem_mask, .op = .mul, .rhs = .@"1" }; |
| ... | @@ -190323,7 +191300,6 @@ const Select = struct { | ... | @@ -190323,7 +191300,6 @@ const Select = struct { |
| 190323 | .none => 0, | 191300 | .none => 0, |
| 190324 | .ptr_size => @divExact(s.cg.target.ptrBitWidth(), 8), | 191301 | .ptr_size => @divExact(s.cg.target.ptrBitWidth(), 8), |
| 190325 | .ptr_bit_size => s.cg.target.ptrBitWidth(), | 191302 | .ptr_bit_size => s.cg.target.ptrBitWidth(), |
| 190326 | .log2_size => std.math.log2_int_ceil(u64, op.flags.base.ref.typeOf(s).abiSize(s.cg.pt.zcu)), | | |
| 190327 | .size => @intCast(op.flags.base.ref.typeOf(s).abiSize(s.cg.pt.zcu)), | 191303 | .size => @intCast(op.flags.base.ref.typeOf(s).abiSize(s.cg.pt.zcu)), |
| 190328 | .src0_size => @intCast(Select.Operand.Ref.src0.typeOf(s).abiSize(s.cg.pt.zcu)), | 191304 | .src0_size => @intCast(Select.Operand.Ref.src0.typeOf(s).abiSize(s.cg.pt.zcu)), |
| 190329 | .dst0_size => @intCast(Select.Operand.Ref.dst0.typeOf(s).abiSize(s.cg.pt.zcu)), | 191305 | .dst0_size => @intCast(Select.Operand.Ref.dst0.typeOf(s).abiSize(s.cg.pt.zcu)), |