| ... | ... | @@ -156748,10 +156748,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 156748 | 156748 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 156749 | 156749 | .each = .{ .once = &.{ |
| 156750 | 156750 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 156751 | | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 156752 | | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 156753 | 156751 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| 156754 | 156752 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 156753 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 156754 | .{ ._, .v_ss, .add, .dst0x, .dst0x, .tmp0x, ._ }, |
| 156755 | 156755 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 156756 | 156756 | } }, |
| 156757 | 156757 | }, .{ |
| ... | ... | @@ -157043,9 +157043,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157043 | 157043 | }, |
| 157044 | 157044 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 157045 | 157045 | .each = .{ .once = &.{ |
| 157046 | | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| 157046 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| 157047 | 157047 | .{ ._, .v_ss, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| 157048 | | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| 157048 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| 157049 | 157049 | .{ ._, .v_ss, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 157050 | 157050 | } }, |
| 157051 | 157051 | }, .{ |
| ... | ... | @@ -157075,6 +157075,33 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157075 | 157075 | .{ ._, .h_ps, .add, .dst0x, .src0x, ._, ._ }, |
| 157076 | 157076 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| 157077 | 157077 | } }, |
| 157078 | }, .{ |
| 157079 | .required_features = .{ .sse3, null, null, null }, |
| 157080 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 157081 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 157082 | .patterns = &.{ |
| 157083 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 157084 | }, |
| 157085 | .extra_temps = .{ |
| 157086 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 157087 | .unused, |
| 157088 | .unused, |
| 157089 | .unused, |
| 157090 | .unused, |
| 157091 | .unused, |
| 157092 | .unused, |
| 157093 | .unused, |
| 157094 | .unused, |
| 157095 | .unused, |
| 157096 | .unused, |
| 157097 | }, |
| 157098 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 157099 | .each = .{ .once = &.{ |
| 157100 | .{ ._, ._, .movshdup, .tmp0x, .src0x, ._, ._ }, |
| 157101 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| 157102 | .{ ._, ._ps, .movhl, .tmp0x, .dst0x, ._, ._ }, |
| 157103 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| 157104 | } }, |
| 157078 | 157105 | }, .{ |
| 157079 | 157106 | .required_features = .{ .sse, null, null, null }, |
| 157080 | 157107 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| ... | ... | @@ -157097,10 +157124,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157097 | 157124 | }, |
| 157098 | 157125 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 157099 | 157126 | .each = .{ .once = &.{ |
| 157100 | | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| 157127 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| 157128 | .{ ._, ._ps, .shuf, .tmp0x, .src0x, .ui(0b01), ._ }, |
| 157129 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| 157101 | 157130 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| 157102 | | .{ ._, ._ss, .add, .tmp0x, .src0x, ._, ._ }, |
| 157103 | | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| 157104 | 157131 | .{ ._, ._ss, .add, .dst0x, .tmp0x, ._, ._ }, |
| 157105 | 157132 | } }, |
| 157106 | 157133 | }, .{ |
| ... | ... | @@ -157282,9 +157309,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157282 | 157309 | }, |
| 157283 | 157310 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 157284 | 157311 | .each = .{ .once = &.{ |
| 157285 | | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 157312 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| 157286 | 157313 | .{ ._, .v_sd, .add, .tmp0x, .src0x, .tmp0x, ._ }, |
| 157287 | | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| 157314 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| 157288 | 157315 | .{ ._, .v_sd, .add, .dst0x, .tmp0x, .dst0x, ._ }, |
| 157289 | 157316 | } }, |
| 157290 | 157317 | }, .{ |
| ... | ... | @@ -157346,6 +157373,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 157346 | 157373 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 157347 | 157374 | } }, |
| 157348 | 157375 | }, .{ |
| 157376 | .required_abi = .gnu, |
| 157377 | .required_features = .{ .x87, null, null, null }, |
| 157378 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 157379 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 157380 | .patterns = &.{ |
| 157381 | .{ .src = .{ .to_mem, .none, .none } }, |
| 157382 | }, |
| 157383 | .extra_temps = .{ |
| 157384 | .{ .type = .u16, .kind = .mem }, |
| 157385 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 157386 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 157387 | .unused, |
| 157388 | .unused, |
| 157389 | .unused, |
| 157390 | .unused, |
| 157391 | .unused, |
| 157392 | .unused, |
| 157393 | .unused, |
| 157394 | .unused, |
| 157395 | }, |
| 157396 | .dst_temps = .{ .mem, .unused }, |
| 157397 | .clobbers = .{ .eflags = true }, |
| 157398 | .each = .{ .once = &.{ |
| 157399 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| 157400 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| 157401 | .{ ._, ._, .@"and", .memd(.tmp0b, 1), .ui(0b111_1_11_10), ._, ._ }, |
| 157402 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| 157403 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| 157404 | .{ ._, ._, .mov, .tmp1p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| 157405 | .{ ._, .f_, .ld, .mem(.src0q), ._, ._, ._ }, |
| 157406 | .{ .@"0:", .f_, .add, .memia(.src0q, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| 157407 | .{ ._, ._, .add, .tmp1p, .si(8), ._, ._ }, |
| 157408 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 157409 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 157410 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| 157411 | } }, |
| 157412 | }, .{ |
| 157413 | .required_abi = .msvc, |
| 157349 | 157414 | .required_features = .{ .x87, null, null, null }, |
| 157350 | 157415 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 157351 | 157416 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| ... | ... | @@ -160584,10 +160649,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160584 | 160649 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 160585 | 160650 | .each = .{ .once = &.{ |
| 160586 | 160651 | .{ ._, .v_ps, .cvtph2, .dst0x, .src0q, ._, ._ }, |
| 160587 | | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 160588 | | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 160589 | 160652 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b01) }, |
| 160590 | 160653 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 160654 | .{ ._, .v_ps, .shuf, .tmp0x, .dst0x, .dst0x, .ui(0b11_10) }, |
| 160655 | .{ ._, .v_ss, .mul, .dst0x, .dst0x, .tmp0x, ._ }, |
| 160591 | 160656 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| 160592 | 160657 | } }, |
| 160593 | 160658 | }, .{ |
| ... | ... | @@ -160798,11 +160863,38 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160798 | 160863 | }, |
| 160799 | 160864 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 160800 | 160865 | .each = .{ .once = &.{ |
| 160801 | | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| 160866 | .{ ._, .v_ps, .shuf, .tmp0x, .src0x, .src0x, .ui(0b01) }, |
| 160802 | 160867 | .{ ._, .v_ss, .mul, .tmp0x, .src0x, .tmp0x, ._ }, |
| 160803 | | .{ ._, .v_ps, .shuf, .dst0x, .src0x, .src0x, .ui(0b01) }, |
| 160868 | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| 160804 | 160869 | .{ ._, .v_ss, .mul, .dst0x, .tmp0x, .dst0x, ._ }, |
| 160805 | 160870 | } }, |
| 160871 | }, .{ |
| 160872 | .required_features = .{ .sse3, null, null, null }, |
| 160873 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| 160874 | .src_constraints = .{ .{ .exclusive_scalar_float = .{ .of = .xword, .is = .dword } }, .any, .any }, |
| 160875 | .patterns = &.{ |
| 160876 | .{ .src = .{ .to_mut_sse, .none, .none } }, |
| 160877 | }, |
| 160878 | .extra_temps = .{ |
| 160879 | .{ .type = .vector_4_f32, .kind = .{ .rc = .sse } }, |
| 160880 | .unused, |
| 160881 | .unused, |
| 160882 | .unused, |
| 160883 | .unused, |
| 160884 | .unused, |
| 160885 | .unused, |
| 160886 | .unused, |
| 160887 | .unused, |
| 160888 | .unused, |
| 160889 | .unused, |
| 160890 | }, |
| 160891 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 160892 | .each = .{ .once = &.{ |
| 160893 | .{ ._, ._, .movshdup, .tmp0x, .src0x, ._, ._ }, |
| 160894 | .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ }, |
| 160895 | .{ ._, ._ps, .movhl, .tmp0x, .dst0x, ._, ._ }, |
| 160896 | .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ }, |
| 160897 | } }, |
| 160806 | 160898 | }, .{ |
| 160807 | 160899 | .required_features = .{ .sse, null, null, null }, |
| 160808 | 160900 | .dst_constraints = .{ .{ .float = .dword }, .any }, |
| ... | ... | @@ -160825,10 +160917,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160825 | 160917 | }, |
| 160826 | 160918 | .dst_temps = .{ .{ .ref = .src0 }, .unused }, |
| 160827 | 160919 | .each = .{ .once = &.{ |
| 160828 | | .{ ._, ._ps, .xor, .tmp0x, .tmp0x, ._, ._ }, |
| 160920 | .{ ._, ._ps, .mova, .tmp0x, .src0x, ._, ._ }, |
| 160921 | .{ ._, ._ps, .shuf, .tmp0x, .src0x, .ui(0b01), ._ }, |
| 160922 | .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ }, |
| 160829 | 160923 | .{ ._, ._ps, .movhl, .tmp0x, .src0x, ._, ._ }, |
| 160830 | | .{ ._, ._ss, .mul, .tmp0x, .src0x, ._, ._ }, |
| 160831 | | .{ ._, ._ps, .shuf, .dst0x, .src0x, .ui(0b01), ._ }, |
| 160832 | 160924 | .{ ._, ._ss, .mul, .dst0x, .tmp0x, ._, ._ }, |
| 160833 | 160925 | } }, |
| 160834 | 160926 | }, .{ |
| ... | ... | @@ -160962,9 +161054,9 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 160962 | 161054 | }, |
| 160963 | 161055 | .dst_temps = .{ .{ .mut_rc = .{ .ref = .src0, .rc = .sse } }, .unused }, |
| 160964 | 161056 | .each = .{ .once = &.{ |
| 160965 | | .{ ._, .v_f128, .extract, .tmp0x, .src0y, .ui(1), ._ }, |
| 161057 | .{ ._, .v_ps, .movhl, .tmp0x, .src0x, .src0x, ._ }, |
| 160966 | 161058 | .{ ._, .v_sd, .mul, .tmp0x, .src0x, .tmp0x, ._ }, |
| 160967 | | .{ ._, .v_ps, .movhl, .dst0x, .src0x, .src0x, ._ }, |
| 161059 | .{ ._, .v_f128, .extract, .dst0x, .src0y, .ui(1), ._ }, |
| 160968 | 161060 | .{ ._, .v_sd, .mul, .dst0x, .tmp0x, .dst0x, ._ }, |
| 160969 | 161061 | } }, |
| 160970 | 161062 | }, .{ |
| ... | ... | @@ -161026,6 +161118,44 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161026 | 161118 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 161027 | 161119 | } }, |
| 161028 | 161120 | }, .{ |
| 161121 | .required_abi = .gnu, |
| 161122 | .required_features = .{ .x87, null, null, null }, |
| 161123 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 161124 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| 161125 | .patterns = &.{ |
| 161126 | .{ .src = .{ .to_mem, .none, .none } }, |
| 161127 | }, |
| 161128 | .extra_temps = .{ |
| 161129 | .{ .type = .u16, .kind = .mem }, |
| 161130 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| 161131 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| 161132 | .unused, |
| 161133 | .unused, |
| 161134 | .unused, |
| 161135 | .unused, |
| 161136 | .unused, |
| 161137 | .unused, |
| 161138 | .unused, |
| 161139 | .unused, |
| 161140 | }, |
| 161141 | .dst_temps = .{ .mem, .unused }, |
| 161142 | .clobbers = .{ .eflags = true }, |
| 161143 | .each = .{ .once = &.{ |
| 161144 | .{ ._, .fn_cw, .st, .tmp0w, ._, ._, ._ }, |
| 161145 | .{ ._, ._, .movzx, .tmp1d, .memd(.tmp0b, 1), ._, ._ }, |
| 161146 | .{ ._, ._, .@"and", .memd(.tmp0b, 1), .ui(0b111_1_11_10), ._, ._ }, |
| 161147 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| 161148 | .{ ._, ._, .mov, .memd(.tmp0b, 1), .tmp1b, ._, ._ }, |
| 161149 | .{ ._, ._, .mov, .tmp1p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| 161150 | .{ ._, .f_, .ld, .mem(.src0q), ._, ._, ._ }, |
| 161151 | .{ .@"0:", .f_, .mul, .memia(.src0q, .tmp1, .add_unaligned_size), ._, ._, ._ }, |
| 161152 | .{ ._, ._, .add, .tmp1p, .si(8), ._, ._ }, |
| 161153 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 161154 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 161155 | .{ ._, .f_cw, .ld, .tmp0w, ._, ._, ._ }, |
| 161156 | } }, |
| 161157 | }, .{ |
| 161158 | .required_abi = .msvc, |
| 161029 | 161159 | .required_features = .{ .x87, null, null, null }, |
| 161030 | 161160 | .dst_constraints = .{ .{ .float = .qword }, .any }, |
| 161031 | 161161 | .src_constraints = .{ .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, .any, .any }, |
| ... | ... | @@ -161050,13 +161180,10 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 161050 | 161180 | .each = .{ .once = &.{ |
| 161051 | 161181 | .{ ._, ._, .mov, .tmp0p, .sia(8, .src0, .sub_unaligned_size), ._, ._ }, |
| 161052 | 161182 | .{ ._, .f_, .ld, .mem(.src0q), ._, ._, ._ }, |
| 161053 | | .{ ._, ._mp, .j, .@"1f", ._, ._, ._ }, |
| 161054 | | .{ .pseudo, .f_cstp, .in, ._, ._, ._, ._ }, |
| 161055 | | .{ .@"0:", .f_, .ld, .dst0q, ._, ._, ._ }, |
| 161056 | | .{ .@"1:", .f_, .mul, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 161183 | .{ .@"0:", .f_, .mul, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| 161057 | 161184 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| 161058 | | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 161059 | 161185 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| 161186 | .{ ._, .f_p, .st, .dst0q, ._, ._, ._ }, |
| 161060 | 161187 | } }, |
| 161061 | 161188 | }, .{ |
| 161062 | 161189 | .required_abi = .gnu, |