| ... | @@ -2414,7 +2414,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2414,7 +2414,7 @@ fn genBodyBlock(self: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2414 | } | 2414 | } |
| 2415 | | 2415 | |
| 2416 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | 2416 | fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2417 | @setEvalBranchQuota(9_200); | 2417 | @setEvalBranchQuota(9_600); |
| 2418 | const pt = cg.pt; | 2418 | const pt = cg.pt; |
| 2419 | const zcu = pt.zcu; | 2419 | const zcu = pt.zcu; |
| 2420 | const ip = &zcu.intern_pool; | 2420 | const ip = &zcu.intern_pool; |
| ... | @@ -2458,7 +2458,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2458,7 +2458,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2458 | .shl, .shl_exact => try cg.airShlShrBinOp(inst), | 2458 | .shl, .shl_exact => try cg.airShlShrBinOp(inst), |
| 2459 | | 2459 | |
| 2460 | .mul_wrap, | 2460 | .mul_wrap, |
| 2461 | .mod, | | |
| 2462 | => |air_tag| try cg.airMulDivBinOp(inst, air_tag), | 2461 | => |air_tag| try cg.airMulDivBinOp(inst, air_tag), |
| 2463 | | 2462 | |
| 2464 | .add_sat => try cg.airAddSat(inst), | 2463 | .add_sat => try cg.airAddSat(inst), |
| ... | @@ -2522,7 +2521,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -2522,7 +2521,6 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 2522 | .intcast_safe, | 2521 | .intcast_safe, |
| 2523 | => return cg.fail("TODO implement safety_checked_instructions", .{}), | 2522 | => return cg.fail("TODO implement safety_checked_instructions", .{}), |
| 2524 | | 2523 | |
| 2525 | .mod_optimized => try cg.airMulDivBinOp(inst, .mod), | | |
| 2526 | .reduce_optimized => try cg.airReduce(inst), | 2524 | .reduce_optimized => try cg.airReduce(inst), |
| 2527 | .int_from_float_optimized => try cg.airIntFromFloat(inst), | 2525 | .int_from_float_optimized => try cg.airIntFromFloat(inst), |
| 2528 | | 2526 | |
| ... | @@ -8983,6 +8981,2096 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { | ... | @@ -8983,6 +8981,2096 @@ fn genBody(cg: *CodeGen, body: []const Air.Inst.Index) InnerError!void { |
| 8983 | }; | 8981 | }; |
| 8984 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); | 8982 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| 8985 | }, | 8983 | }, |
| | 8984 | .mod, .mod_optimized => |air_tag| if (use_old) try cg.airMulDivBinOp(inst, .mod) else fallback: { |
| | 8985 | const bin_op = air_datas[@intFromEnum(inst)].bin_op; |
| | 8986 | if (cg.floatBits(cg.typeOf(bin_op.lhs).scalarType(zcu)) == null) break :fallback try cg.airMulDivBinOp(inst, .mod); |
| | 8987 | var ops = try cg.tempsFromOperands(inst, .{ bin_op.lhs, bin_op.rhs }); |
| | 8988 | var res: [1]Temp = undefined; |
| | 8989 | cg.select(&res, &.{cg.typeOf(bin_op.lhs)}, &ops, comptime &.{ .{ |
| | 8990 | .required_features = .{ .f16c, .fast_imm16, null, null }, |
| | 8991 | .src_constraints = .{ |
| | 8992 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 8993 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 8994 | .any, |
| | 8995 | }, |
| | 8996 | .patterns = &.{ |
| | 8997 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 8998 | }, |
| | 8999 | .call_frame = .{ .alignment = .@"16" }, |
| | 9000 | .extra_temps = .{ |
| | 9001 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9002 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9003 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9004 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9005 | .unused, |
| | 9006 | .unused, |
| | 9007 | .unused, |
| | 9008 | .unused, |
| | 9009 | .unused, |
| | 9010 | }, |
| | 9011 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9012 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9013 | .each = .{ .once = &.{ |
| | 9014 | .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ }, |
| | 9015 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9016 | .{ ._, .v_d, .mov, .tmp2d, .dst0x, ._, ._ }, |
| | 9017 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 9018 | .{ ._, ._, .@"and", .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9019 | .{ ._, ._, .xor, .tmp3d, .tmp2d, ._, ._ }, |
| | 9020 | .{ ._, ._, .cmp, .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9021 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9022 | .{ ._, .v_d, .mov, .src1x, .tmp0d, ._, ._ }, |
| | 9023 | .{ ._, .v_ps, .cvtph2, .src0x, .src0q, ._, ._ }, |
| | 9024 | .{ ._, .v_ps, .cvtph2, .src1x, .src1q, ._, ._ }, |
| | 9025 | .{ ._, .v_ss, .add, .dst0x, .src0x, .src1d, ._ }, |
| | 9026 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 9027 | } }, |
| | 9028 | }, .{ |
| | 9029 | .required_features = .{ .f16c, null, null, null }, |
| | 9030 | .src_constraints = .{ |
| | 9031 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9032 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9033 | .any, |
| | 9034 | }, |
| | 9035 | .patterns = &.{ |
| | 9036 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9037 | }, |
| | 9038 | .call_frame = .{ .alignment = .@"16" }, |
| | 9039 | .extra_temps = .{ |
| | 9040 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9041 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9042 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9043 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9044 | .unused, |
| | 9045 | .unused, |
| | 9046 | .unused, |
| | 9047 | .unused, |
| | 9048 | .unused, |
| | 9049 | }, |
| | 9050 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9051 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9052 | .each = .{ .once = &.{ |
| | 9053 | .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ }, |
| | 9054 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9055 | .{ ._, .v_d, .mov, .tmp2d, .dst0x, ._, ._ }, |
| | 9056 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 9057 | .{ ._, ._, .@"and", .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9058 | .{ ._, ._, .xor, .tmp3d, .tmp2d, ._, ._ }, |
| | 9059 | .{ ._, ._, .cmp, .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9060 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9061 | .{ ._, .v_d, .mov, .src1x, .tmp0d, ._, ._ }, |
| | 9062 | .{ ._, .v_ps, .cvtph2, .src0x, .src0q, ._, ._ }, |
| | 9063 | .{ ._, .v_ps, .cvtph2, .src1x, .src1q, ._, ._ }, |
| | 9064 | .{ ._, .v_ss, .add, .dst0x, .src0x, .src1d, ._ }, |
| | 9065 | .{ ._, .v_, .cvtps2ph, .dst0q, .dst0x, .rm(.{}), ._ }, |
| | 9066 | } }, |
| | 9067 | }, .{ |
| | 9068 | .required_features = .{ .avx, .fast_imm16, null, null }, |
| | 9069 | .src_constraints = .{ |
| | 9070 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9071 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9072 | .any, |
| | 9073 | }, |
| | 9074 | .patterns = &.{ |
| | 9075 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9076 | }, |
| | 9077 | .call_frame = .{ .alignment = .@"16" }, |
| | 9078 | .extra_temps = .{ |
| | 9079 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9080 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9081 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9082 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9083 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9084 | .unused, |
| | 9085 | .unused, |
| | 9086 | .unused, |
| | 9087 | .unused, |
| | 9088 | }, |
| | 9089 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9090 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9091 | .each = .{ .once = &.{ |
| | 9092 | .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ }, |
| | 9093 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9094 | .{ ._, .v_d, .mov, .tmp2d, .dst0x, ._, ._ }, |
| | 9095 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 9096 | .{ ._, ._, .@"and", .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9097 | .{ ._, ._, .xor, .tmp3d, .tmp2d, ._, ._ }, |
| | 9098 | .{ ._, ._, .cmp, .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9099 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9100 | .{ ._, .v_d, .mov, .src1x, .tmp0d, ._, ._ }, |
| | 9101 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9102 | } }, |
| | 9103 | }, .{ |
| | 9104 | .required_features = .{ .avx, null, null, null }, |
| | 9105 | .src_constraints = .{ |
| | 9106 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9107 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9108 | .any, |
| | 9109 | }, |
| | 9110 | .patterns = &.{ |
| | 9111 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9112 | }, |
| | 9113 | .call_frame = .{ .alignment = .@"16" }, |
| | 9114 | .extra_temps = .{ |
| | 9115 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9116 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9117 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9118 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9119 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9120 | .unused, |
| | 9121 | .unused, |
| | 9122 | .unused, |
| | 9123 | .unused, |
| | 9124 | }, |
| | 9125 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9126 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9127 | .each = .{ .once = &.{ |
| | 9128 | .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ }, |
| | 9129 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9130 | .{ ._, .v_d, .mov, .tmp2d, .dst0x, ._, ._ }, |
| | 9131 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 9132 | .{ ._, ._, .@"and", .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9133 | .{ ._, ._, .xor, .tmp3d, .tmp2d, ._, ._ }, |
| | 9134 | .{ ._, ._, .cmp, .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9135 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9136 | .{ ._, .v_d, .mov, .src1x, .tmp0d, ._, ._ }, |
| | 9137 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9138 | } }, |
| | 9139 | }, .{ |
| | 9140 | .required_features = .{ .sse2, .fast_imm16, null, null }, |
| | 9141 | .src_constraints = .{ |
| | 9142 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9143 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9144 | .any, |
| | 9145 | }, |
| | 9146 | .patterns = &.{ |
| | 9147 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9148 | }, |
| | 9149 | .call_frame = .{ .alignment = .@"16" }, |
| | 9150 | .extra_temps = .{ |
| | 9151 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9152 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9153 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9154 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9155 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9156 | .unused, |
| | 9157 | .unused, |
| | 9158 | .unused, |
| | 9159 | .unused, |
| | 9160 | }, |
| | 9161 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9162 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9163 | .each = .{ .once = &.{ |
| | 9164 | .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ }, |
| | 9165 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9166 | .{ ._, ._d, .mov, .tmp2d, .dst0x, ._, ._ }, |
| | 9167 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 9168 | .{ ._, ._, .@"and", .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9169 | .{ ._, ._, .xor, .tmp3d, .tmp2d, ._, ._ }, |
| | 9170 | .{ ._, ._, .cmp, .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9171 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9172 | .{ ._, ._d, .mov, .src1x, .tmp0d, ._, ._ }, |
| | 9173 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9174 | } }, |
| | 9175 | }, .{ |
| | 9176 | .required_features = .{ .sse2, null, null, null }, |
| | 9177 | .src_constraints = .{ |
| | 9178 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9179 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9180 | .any, |
| | 9181 | }, |
| | 9182 | .patterns = &.{ |
| | 9183 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9184 | }, |
| | 9185 | .call_frame = .{ .alignment = .@"16" }, |
| | 9186 | .extra_temps = .{ |
| | 9187 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9188 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9189 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9190 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9191 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9192 | .unused, |
| | 9193 | .unused, |
| | 9194 | .unused, |
| | 9195 | .unused, |
| | 9196 | }, |
| | 9197 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9198 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9199 | .each = .{ .once = &.{ |
| | 9200 | .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ }, |
| | 9201 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9202 | .{ ._, ._d, .mov, .tmp2d, .dst0x, ._, ._ }, |
| | 9203 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 9204 | .{ ._, ._, .@"and", .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9205 | .{ ._, ._, .xor, .tmp3d, .tmp2d, ._, ._ }, |
| | 9206 | .{ ._, ._, .cmp, .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9207 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9208 | .{ ._, ._d, .mov, .src1x, .tmp0d, ._, ._ }, |
| | 9209 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9210 | } }, |
| | 9211 | }, .{ |
| | 9212 | .required_features = .{ .sse, .fast_imm16, null, null }, |
| | 9213 | .src_constraints = .{ |
| | 9214 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9215 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9216 | .any, |
| | 9217 | }, |
| | 9218 | .patterns = &.{ |
| | 9219 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9220 | }, |
| | 9221 | .call_frame = .{ .alignment = .@"16" }, |
| | 9222 | .extra_temps = .{ |
| | 9223 | .{ .type = .f32, .kind = .mem }, |
| | 9224 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9225 | .{ .type = .f32, .kind = .mem }, |
| | 9226 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9227 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9228 | .unused, |
| | 9229 | .unused, |
| | 9230 | .unused, |
| | 9231 | .unused, |
| | 9232 | }, |
| | 9233 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9234 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9235 | .each = .{ .once = &.{ |
| | 9236 | .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ }, |
| | 9237 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9238 | .{ ._, ._ss, .mov, .mem(.tmp2d), .dst0x, ._, ._ }, |
| | 9239 | .{ ._, ._, .mov, .tmp3d, .mem(.tmp0d), ._, ._ }, |
| | 9240 | .{ ._, ._, .@"and", .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9241 | .{ ._, ._, .xor, .tmp3d, .mem(.tmp2d), ._, ._ }, |
| | 9242 | .{ ._, ._, .cmp, .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9243 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9244 | .{ ._, ._ss, .mov, .src1x, .mem(.tmp0d), ._, ._ }, |
| | 9245 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9246 | } }, |
| | 9247 | }, .{ |
| | 9248 | .required_features = .{ .sse, null, null, null }, |
| | 9249 | .src_constraints = .{ |
| | 9250 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9251 | .{ .scalar_float = .{ .of = .word, .is = .word } }, |
| | 9252 | .any, |
| | 9253 | }, |
| | 9254 | .patterns = &.{ |
| | 9255 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9256 | }, |
| | 9257 | .call_frame = .{ .alignment = .@"16" }, |
| | 9258 | .extra_temps = .{ |
| | 9259 | .{ .type = .f32, .kind = .mem }, |
| | 9260 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9261 | .{ .type = .f32, .kind = .mem }, |
| | 9262 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9263 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9264 | .unused, |
| | 9265 | .unused, |
| | 9266 | .unused, |
| | 9267 | .unused, |
| | 9268 | }, |
| | 9269 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9270 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9271 | .each = .{ .once = &.{ |
| | 9272 | .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ }, |
| | 9273 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9274 | .{ ._, ._ss, .mov, .mem(.tmp2d), .dst0x, ._, ._ }, |
| | 9275 | .{ ._, ._, .mov, .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9276 | .{ ._, ._, .@"and", .tmp3d, .mem(.tmp0d), ._, ._ }, |
| | 9277 | .{ ._, ._, .xor, .tmp3d, .mem(.tmp2d), ._, ._ }, |
| | 9278 | .{ ._, ._, .cmp, .tmp3w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9279 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9280 | .{ ._, ._ss, .mov, .src1x, .mem(.tmp0d), ._, ._ }, |
| | 9281 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9282 | } }, |
| | 9283 | }, .{ |
| | 9284 | .required_features = .{ .f16c, .fast_imm16, null, null }, |
| | 9285 | .src_constraints = .{ |
| | 9286 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9287 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9288 | .any, |
| | 9289 | }, |
| | 9290 | .patterns = &.{ |
| | 9291 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9292 | }, |
| | 9293 | .call_frame = .{ .alignment = .@"16" }, |
| | 9294 | .extra_temps = .{ |
| | 9295 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9296 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9297 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9298 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9299 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9300 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9301 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9302 | .unused, |
| | 9303 | .unused, |
| | 9304 | }, |
| | 9305 | .dst_temps = .{.mem}, |
| | 9306 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9307 | .each = .{ .once = &.{ |
| | 9308 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9309 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 9310 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, |
| | 9311 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9312 | .{ ._, .v_d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9313 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9314 | .{ ._, .v_d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9315 | .{ ._, ._, .mov, .tmp6d, .tmp2d, ._, ._ }, |
| | 9316 | .{ ._, ._, .@"and", .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9317 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9318 | .{ ._, ._, .cmp, .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9319 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9320 | .{ ._, .v_d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9321 | .{ ._, .v_ps, .cvtph2, .tmp1x, .tmp1x, ._, ._ }, |
| | 9322 | .{ ._, .v_ps, .cvtph2, .tmp3x, .tmp3x, ._, ._ }, |
| | 9323 | .{ ._, .v_ss, .add, .tmp1x, .tmp1x, .tmp3d, ._ }, |
| | 9324 | .{ ._, .v_, .cvtps2ph, .tmp1q, .tmp1x, .rm(.{}), ._ }, |
| | 9325 | .{ .@"1:", .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| | 9326 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9327 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9328 | } }, |
| | 9329 | }, .{ |
| | 9330 | .required_features = .{ .f16c, null, null, null }, |
| | 9331 | .src_constraints = .{ |
| | 9332 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9333 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9334 | .any, |
| | 9335 | }, |
| | 9336 | .patterns = &.{ |
| | 9337 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9338 | }, |
| | 9339 | .call_frame = .{ .alignment = .@"16" }, |
| | 9340 | .extra_temps = .{ |
| | 9341 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9342 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9343 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9344 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9345 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9346 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9347 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9348 | .unused, |
| | 9349 | .unused, |
| | 9350 | }, |
| | 9351 | .dst_temps = .{.mem}, |
| | 9352 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9353 | .each = .{ .once = &.{ |
| | 9354 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9355 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 9356 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, |
| | 9357 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9358 | .{ ._, .v_d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9359 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9360 | .{ ._, .v_d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9361 | .{ ._, ._, .mov, .tmp6d, .tmp2d, ._, ._ }, |
| | 9362 | .{ ._, ._, .@"and", .tmp6d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9363 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9364 | .{ ._, ._, .cmp, .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9365 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9366 | .{ ._, .v_d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9367 | .{ ._, .v_ps, .cvtph2, .tmp1x, .tmp1x, ._, ._ }, |
| | 9368 | .{ ._, .v_ps, .cvtph2, .tmp3x, .tmp3x, ._, ._ }, |
| | 9369 | .{ ._, .v_ss, .add, .tmp1x, .tmp1x, .tmp3d, ._ }, |
| | 9370 | .{ ._, .v_, .cvtps2ph, .tmp1q, .tmp1x, .rm(.{}), ._ }, |
| | 9371 | .{ .@"1:", .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| | 9372 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9373 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9374 | } }, |
| | 9375 | }, .{ |
| | 9376 | .required_features = .{ .avx, .fast_imm16, null, null }, |
| | 9377 | .src_constraints = .{ |
| | 9378 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9379 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9380 | .any, |
| | 9381 | }, |
| | 9382 | .patterns = &.{ |
| | 9383 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9384 | }, |
| | 9385 | .call_frame = .{ .alignment = .@"16" }, |
| | 9386 | .extra_temps = .{ |
| | 9387 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9388 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9389 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9390 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9391 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9392 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9393 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9394 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9395 | .unused, |
| | 9396 | }, |
| | 9397 | .dst_temps = .{.mem}, |
| | 9398 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9399 | .each = .{ .once = &.{ |
| | 9400 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9401 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 9402 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, |
| | 9403 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9404 | .{ ._, .v_d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9405 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9406 | .{ ._, .v_d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9407 | .{ ._, ._, .mov, .tmp6d, .tmp2d, ._, ._ }, |
| | 9408 | .{ ._, ._, .@"and", .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9409 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9410 | .{ ._, ._, .cmp, .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9411 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9412 | .{ ._, .v_d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9413 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 9414 | .{ .@"1:", .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| | 9415 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9416 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9417 | } }, |
| | 9418 | }, .{ |
| | 9419 | .required_features = .{ .avx, null, null, null }, |
| | 9420 | .src_constraints = .{ |
| | 9421 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9422 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9423 | .any, |
| | 9424 | }, |
| | 9425 | .patterns = &.{ |
| | 9426 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9427 | }, |
| | 9428 | .call_frame = .{ .alignment = .@"16" }, |
| | 9429 | .extra_temps = .{ |
| | 9430 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9431 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9432 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9433 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9434 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9435 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9436 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9437 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9438 | .unused, |
| | 9439 | }, |
| | 9440 | .dst_temps = .{.mem}, |
| | 9441 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9442 | .each = .{ .once = &.{ |
| | 9443 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9444 | .{ .@"0:", .vp_, .xor, .tmp1x, .tmp1x, .tmp1x, ._ }, |
| | 9445 | .{ ._, .vp_w, .insr, .tmp1x, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0) }, |
| | 9446 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9447 | .{ ._, .v_d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9448 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9449 | .{ ._, .v_d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9450 | .{ ._, ._, .mov, .tmp6d, .tmp2d, ._, ._ }, |
| | 9451 | .{ ._, ._, .@"and", .tmp6d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9452 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9453 | .{ ._, ._, .cmp, .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9454 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9455 | .{ ._, .v_d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9456 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 9457 | .{ .@"1:", .vp_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| | 9458 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9459 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9460 | } }, |
| | 9461 | }, .{ |
| | 9462 | .required_features = .{ .sse4_1, .fast_imm16, null, null }, |
| | 9463 | .src_constraints = .{ |
| | 9464 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9465 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9466 | .any, |
| | 9467 | }, |
| | 9468 | .patterns = &.{ |
| | 9469 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9470 | }, |
| | 9471 | .call_frame = .{ .alignment = .@"16" }, |
| | 9472 | .extra_temps = .{ |
| | 9473 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9474 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9475 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9476 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9477 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9478 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9479 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9480 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9481 | .unused, |
| | 9482 | }, |
| | 9483 | .dst_temps = .{.mem}, |
| | 9484 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9485 | .each = .{ .once = &.{ |
| | 9486 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9487 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 9488 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| | 9489 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9490 | .{ ._, ._d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9491 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9492 | .{ ._, ._d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9493 | .{ ._, ._, .mov, .tmp6d, .tmp2d, ._, ._ }, |
| | 9494 | .{ ._, ._, .@"and", .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9495 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9496 | .{ ._, ._, .cmp, .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9497 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9498 | .{ ._, ._d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9499 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 9500 | .{ .@"1:", .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| | 9501 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9502 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9503 | } }, |
| | 9504 | }, .{ |
| | 9505 | .required_features = .{ .sse4_1, null, null, null }, |
| | 9506 | .src_constraints = .{ |
| | 9507 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9508 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9509 | .any, |
| | 9510 | }, |
| | 9511 | .patterns = &.{ |
| | 9512 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9513 | }, |
| | 9514 | .call_frame = .{ .alignment = .@"16" }, |
| | 9515 | .extra_temps = .{ |
| | 9516 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9517 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9518 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9519 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9520 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9521 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9522 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9523 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9524 | .unused, |
| | 9525 | }, |
| | 9526 | .dst_temps = .{.mem}, |
| | 9527 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9528 | .each = .{ .once = &.{ |
| | 9529 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9530 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 9531 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| | 9532 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9533 | .{ ._, ._d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9534 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9535 | .{ ._, ._d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9536 | .{ ._, ._, .mov, .tmp6d, .tmp2d, ._, ._ }, |
| | 9537 | .{ ._, ._, .@"and", .tmp6d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9538 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9539 | .{ ._, ._, .cmp, .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9540 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9541 | .{ ._, ._d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9542 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 9543 | .{ .@"1:", .p_w, .extr, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1x, .ui(0), ._ }, |
| | 9544 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9545 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9546 | } }, |
| | 9547 | }, .{ |
| | 9548 | .required_features = .{ .sse2, .fast_imm16, null, null }, |
| | 9549 | .src_constraints = .{ |
| | 9550 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9551 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9552 | .any, |
| | 9553 | }, |
| | 9554 | .patterns = &.{ |
| | 9555 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9556 | }, |
| | 9557 | .call_frame = .{ .alignment = .@"16" }, |
| | 9558 | .extra_temps = .{ |
| | 9559 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9560 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9561 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9562 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9563 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9564 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9565 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9566 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9567 | .unused, |
| | 9568 | }, |
| | 9569 | .dst_temps = .{.mem}, |
| | 9570 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9571 | .each = .{ .once = &.{ |
| | 9572 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9573 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 9574 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| | 9575 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9576 | .{ ._, ._d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9577 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9578 | .{ ._, ._d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9579 | .{ ._, ._, .mov, .tmp6d, .tmp2d, ._, ._ }, |
| | 9580 | .{ ._, ._, .@"and", .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9581 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9582 | .{ ._, ._, .cmp, .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9583 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9584 | .{ ._, ._d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9585 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 9586 | .{ ._, ._d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9587 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp5w, ._, ._ }, |
| | 9588 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9589 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9590 | } }, |
| | 9591 | }, .{ |
| | 9592 | .required_features = .{ .sse2, null, null, null }, |
| | 9593 | .src_constraints = .{ |
| | 9594 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9595 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9596 | .any, |
| | 9597 | }, |
| | 9598 | .patterns = &.{ |
| | 9599 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9600 | }, |
| | 9601 | .call_frame = .{ .alignment = .@"16" }, |
| | 9602 | .extra_temps = .{ |
| | 9603 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9604 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9605 | .{ .type = .f16, .kind = .{ .rc = .general_purpose } }, |
| | 9606 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9607 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9608 | .{ .type = .f16, .kind = .{ .reg = .dx } }, |
| | 9609 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9610 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9611 | .unused, |
| | 9612 | }, |
| | 9613 | .dst_temps = .{.mem}, |
| | 9614 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9615 | .each = .{ .once = &.{ |
| | 9616 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9617 | .{ .@"0:", .p_, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 9618 | .{ ._, .p_w, .insr, .tmp1x, .memia(.src0w, .tmp0, .add_unaligned_size), .ui(0), ._ }, |
| | 9619 | .{ ._, ._, .movzx, .tmp2d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9620 | .{ ._, ._d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9621 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9622 | .{ ._, ._d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9623 | .{ ._, ._, .mov, .tmp6d, .tmp2d, ._, ._ }, |
| | 9624 | .{ ._, ._, .@"and", .tmp6d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9625 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9626 | .{ ._, ._, .cmp, .tmp6w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9627 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9628 | .{ ._, ._d, .mov, .tmp3x, .tmp2d, ._, ._ }, |
| | 9629 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 9630 | .{ ._, ._d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9631 | .{ .@"1:", ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp5w, ._, ._ }, |
| | 9632 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9633 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9634 | } }, |
| | 9635 | }, .{ |
| | 9636 | .required_features = .{ .sse, .fast_imm16, null, null }, |
| | 9637 | .src_constraints = .{ |
| | 9638 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9639 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9640 | .any, |
| | 9641 | }, |
| | 9642 | .patterns = &.{ |
| | 9643 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9644 | }, |
| | 9645 | .call_frame = .{ .alignment = .@"16" }, |
| | 9646 | .extra_temps = .{ |
| | 9647 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9648 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9649 | .{ .type = .f32, .kind = .mem }, |
| | 9650 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9651 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9652 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9653 | .{ .type = .f32, .kind = .mem }, |
| | 9654 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9655 | .unused, |
| | 9656 | }, |
| | 9657 | .dst_temps = .{.mem}, |
| | 9658 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9659 | .each = .{ .once = &.{ |
| | 9660 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9661 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9662 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 9663 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| | 9664 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9665 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 9666 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, |
| | 9667 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 9668 | .{ ._, ._ss, .mov, .mem(.tmp6d), .tmp3x, ._, ._ }, |
| | 9669 | .{ ._, ._, .mov, .tmp1d, .mem(.tmp2d), ._, ._ }, |
| | 9670 | .{ ._, ._, .@"and", .tmp1w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9671 | .{ ._, ._, .xor, .tmp1d, .mem(.tmp6d), ._, ._ }, |
| | 9672 | .{ ._, ._, .cmp, .tmp1w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9673 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9674 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, |
| | 9675 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 9676 | .{ ._, ._ss, .mov, .mem(.tmp6d), .tmp3x, ._, ._ }, |
| | 9677 | .{ .@"1:", ._, .mov, .tmp1d, .mem(.tmp6d), ._, ._ }, |
| | 9678 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| | 9679 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9680 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9681 | } }, |
| | 9682 | }, .{ |
| | 9683 | .required_features = .{ .sse, null, null, null }, |
| | 9684 | .src_constraints = .{ |
| | 9685 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9686 | .{ .multiple_scalar_float = .{ .of = .word, .is = .word } }, |
| | 9687 | .any, |
| | 9688 | }, |
| | 9689 | .patterns = &.{ |
| | 9690 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9691 | }, |
| | 9692 | .call_frame = .{ .alignment = .@"16" }, |
| | 9693 | .extra_temps = .{ |
| | 9694 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9695 | .{ .type = .f16, .kind = .{ .reg = .ax } }, |
| | 9696 | .{ .type = .f32, .kind = .mem }, |
| | 9697 | .{ .type = .f16, .kind = .{ .reg = .xmm0 } }, |
| | 9698 | .{ .type = .f16, .kind = .{ .reg = .xmm1 } }, |
| | 9699 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodh" } } }, |
| | 9700 | .{ .type = .f32, .kind = .mem }, |
| | 9701 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addhf3" } } }, |
| | 9702 | .unused, |
| | 9703 | }, |
| | 9704 | .dst_temps = .{.mem}, |
| | 9705 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9706 | .each = .{ .once = &.{ |
| | 9707 | .{ ._, ._, .mov, .tmp0p, .sa(.src0x, .sub_unaligned_size), ._, ._ }, |
| | 9708 | .{ .@"0:", ._, .movzx, .tmp1d, .memia(.src0w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9709 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 9710 | .{ ._, ._ss, .mov, .tmp3x, .mem(.tmp2d), ._, ._ }, |
| | 9711 | .{ ._, ._, .movzx, .tmp1d, .memia(.src1w, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9712 | .{ ._, ._, .mov, .mem(.tmp2d), .tmp1d, ._, ._ }, |
| | 9713 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, |
| | 9714 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 9715 | .{ ._, ._ss, .mov, .mem(.tmp6d), .tmp3x, ._, ._ }, |
| | 9716 | .{ ._, ._, .mov, .tmp1d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9717 | .{ ._, ._, .@"and", .tmp1d, .mem(.tmp2d), ._, ._ }, |
| | 9718 | .{ ._, ._, .xor, .tmp1d, .mem(.tmp6d), ._, ._ }, |
| | 9719 | .{ ._, ._, .cmp, .tmp1w, .sa(.src0, .add_smin), ._, ._ }, |
| | 9720 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9721 | .{ ._, ._ss, .mov, .tmp4x, .mem(.tmp2d), ._, ._ }, |
| | 9722 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 9723 | .{ ._, ._ss, .mov, .mem(.tmp6d), .tmp3x, ._, ._ }, |
| | 9724 | .{ .@"1:", ._, .mov, .tmp1d, .mem(.tmp6d), ._, ._ }, |
| | 9725 | .{ ._, ._, .mov, .memia(.dst0w, .tmp0, .add_unaligned_size), .tmp1w, ._, ._ }, |
| | 9726 | .{ ._, ._, .add, .tmp0p, .si(2), ._, ._ }, |
| | 9727 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9728 | } }, |
| | 9729 | }, .{ |
| | 9730 | .required_features = .{ .avx, null, null, null }, |
| | 9731 | .src_constraints = .{ |
| | 9732 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9733 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9734 | .any, |
| | 9735 | }, |
| | 9736 | .patterns = &.{ |
| | 9737 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9738 | }, |
| | 9739 | .call_frame = .{ .alignment = .@"16" }, |
| | 9740 | .extra_temps = .{ |
| | 9741 | .{ .type = .f32, .kind = .{ .rc = .general_purpose } }, |
| | 9742 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodf" } } }, |
| | 9743 | .{ .type = .f32, .kind = .{ .reg = .edx } }, |
| | 9744 | .{ .type = .f32, .kind = .{ .reg = .eax } }, |
| | 9745 | .unused, |
| | 9746 | .unused, |
| | 9747 | .unused, |
| | 9748 | .unused, |
| | 9749 | .unused, |
| | 9750 | }, |
| | 9751 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9752 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9753 | .each = .{ .once = &.{ |
| | 9754 | .{ ._, .v_d, .mov, .tmp0d, .src1x, ._, ._ }, |
| | 9755 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9756 | .{ ._, .v_d, .mov, .tmp2d, .dst0x, ._, ._ }, |
| | 9757 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 9758 | .{ ._, ._, .@"and", .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9759 | .{ ._, ._, .xor, .tmp3d, .tmp2d, ._, ._ }, |
| | 9760 | .{ ._, ._, .cmp, .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9761 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9762 | .{ ._, .v_d, .mov, .src1x, .tmp0d, ._, ._ }, |
| | 9763 | .{ ._, .v_ss, .add, .dst0x, .src0x, .src1d, ._ }, |
| | 9764 | } }, |
| | 9765 | }, .{ |
| | 9766 | .required_features = .{ .sse2, null, null, null }, |
| | 9767 | .src_constraints = .{ |
| | 9768 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9769 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9770 | .any, |
| | 9771 | }, |
| | 9772 | .patterns = &.{ |
| | 9773 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9774 | }, |
| | 9775 | .call_frame = .{ .alignment = .@"16" }, |
| | 9776 | .extra_temps = .{ |
| | 9777 | .{ .type = .f32, .kind = .{ .rc = .general_purpose } }, |
| | 9778 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodf" } } }, |
| | 9779 | .{ .type = .f32, .kind = .{ .reg = .edx } }, |
| | 9780 | .{ .type = .f32, .kind = .{ .reg = .eax } }, |
| | 9781 | .unused, |
| | 9782 | .unused, |
| | 9783 | .unused, |
| | 9784 | .unused, |
| | 9785 | .unused, |
| | 9786 | }, |
| | 9787 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9788 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9789 | .each = .{ .once = &.{ |
| | 9790 | .{ ._, ._d, .mov, .tmp0d, .src1x, ._, ._ }, |
| | 9791 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9792 | .{ ._, ._d, .mov, .tmp2d, .dst0x, ._, ._ }, |
| | 9793 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 9794 | .{ ._, ._, .@"and", .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9795 | .{ ._, ._, .xor, .tmp3d, .tmp2d, ._, ._ }, |
| | 9796 | .{ ._, ._, .cmp, .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9797 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9798 | .{ ._, ._d, .mov, .src1x, .tmp0d, ._, ._ }, |
| | 9799 | .{ ._, ._ss, .add, .dst0x, .src1d, ._, ._ }, |
| | 9800 | } }, |
| | 9801 | }, .{ |
| | 9802 | .required_features = .{ .sse, null, null, null }, |
| | 9803 | .src_constraints = .{ |
| | 9804 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9805 | .{ .scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9806 | .any, |
| | 9807 | }, |
| | 9808 | .patterns = &.{ |
| | 9809 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9810 | }, |
| | 9811 | .call_frame = .{ .alignment = .@"16" }, |
| | 9812 | .extra_temps = .{ |
| | 9813 | .{ .type = .f32, .kind = .mem }, |
| | 9814 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodf" } } }, |
| | 9815 | .{ .type = .f32, .kind = .mem }, |
| | 9816 | .{ .type = .f32, .kind = .{ .reg = .eax } }, |
| | 9817 | .unused, |
| | 9818 | .unused, |
| | 9819 | .unused, |
| | 9820 | .unused, |
| | 9821 | .unused, |
| | 9822 | }, |
| | 9823 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9824 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9825 | .each = .{ .once = &.{ |
| | 9826 | .{ ._, ._ss, .mov, .mem(.tmp0d), .src1x, ._, ._ }, |
| | 9827 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9828 | .{ ._, ._ss, .mov, .mem(.tmp2d), .dst0x, ._, ._ }, |
| | 9829 | .{ ._, ._, .mov, .tmp3d, .tmp0d, ._, ._ }, |
| | 9830 | .{ ._, ._, .@"and", .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9831 | .{ ._, ._, .xor, .tmp3d, .mem(.tmp2d), ._, ._ }, |
| | 9832 | .{ ._, ._, .cmp, .tmp3d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9833 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9834 | .{ ._, ._ss, .add, .dst0x, .mem(.tmp0d), ._, ._ }, |
| | 9835 | } }, |
| | 9836 | }, .{ |
| | 9837 | .required_features = .{ .avx, null, null, null }, |
| | 9838 | .src_constraints = .{ |
| | 9839 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9840 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9841 | .any, |
| | 9842 | }, |
| | 9843 | .patterns = &.{ |
| | 9844 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9845 | }, |
| | 9846 | .call_frame = .{ .alignment = .@"16" }, |
| | 9847 | .extra_temps = .{ |
| | 9848 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9849 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, |
| | 9850 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, |
| | 9851 | .{ .type = .f32, .kind = .{ .rc = .general_purpose } }, |
| | 9852 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodf" } } }, |
| | 9853 | .{ .type = .f32, .kind = .{ .reg = .edx } }, |
| | 9854 | .{ .type = .f32, .kind = .{ .reg = .eax } }, |
| | 9855 | .unused, |
| | 9856 | .unused, |
| | 9857 | }, |
| | 9858 | .dst_temps = .{.mem}, |
| | 9859 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9860 | .each = .{ .once = &.{ |
| | 9861 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 9862 | .{ .@"0:", .v_ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9863 | .{ ._, .v_ss, .mov, .tmp2x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9864 | .{ ._, .v_d, .mov, .tmp3d, .tmp2x, ._, ._ }, |
| | 9865 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9866 | .{ ._, .v_d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9867 | .{ ._, ._, .mov, .tmp6d, .tmp3d, ._, ._ }, |
| | 9868 | .{ ._, ._, .@"and", .tmp6d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9869 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9870 | .{ ._, ._, .cmp, .tmp6d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9871 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9872 | .{ ._, .v_d, .mov, .tmp2x, .tmp3d, ._, ._ }, |
| | 9873 | .{ ._, .v_ss, .add, .tmp1x, .tmp1x, .tmp2d, ._ }, |
| | 9874 | .{ .@"1:", .v_ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 9875 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| | 9876 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9877 | } }, |
| | 9878 | }, .{ |
| | 9879 | .required_features = .{ .sse2, null, null, null }, |
| | 9880 | .src_constraints = .{ |
| | 9881 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9882 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9883 | .any, |
| | 9884 | }, |
| | 9885 | .patterns = &.{ |
| | 9886 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9887 | }, |
| | 9888 | .call_frame = .{ .alignment = .@"16" }, |
| | 9889 | .extra_temps = .{ |
| | 9890 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9891 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, |
| | 9892 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, |
| | 9893 | .{ .type = .f32, .kind = .{ .rc = .general_purpose } }, |
| | 9894 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodf" } } }, |
| | 9895 | .{ .type = .f32, .kind = .{ .reg = .edx } }, |
| | 9896 | .{ .type = .f32, .kind = .{ .reg = .eax } }, |
| | 9897 | .unused, |
| | 9898 | .unused, |
| | 9899 | }, |
| | 9900 | .dst_temps = .{.mem}, |
| | 9901 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9902 | .each = .{ .once = &.{ |
| | 9903 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 9904 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9905 | .{ ._, ._ss, .mov, .tmp2x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9906 | .{ ._, ._d, .mov, .tmp3d, .tmp2x, ._, ._ }, |
| | 9907 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 9908 | .{ ._, ._d, .mov, .tmp5d, .tmp1x, ._, ._ }, |
| | 9909 | .{ ._, ._, .mov, .tmp6d, .tmp3d, ._, ._ }, |
| | 9910 | .{ ._, ._, .@"and", .tmp6d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9911 | .{ ._, ._, .xor, .tmp6d, .tmp5d, ._, ._ }, |
| | 9912 | .{ ._, ._, .cmp, .tmp6d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9913 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9914 | .{ ._, ._d, .mov, .tmp2x, .tmp3d, ._, ._ }, |
| | 9915 | .{ ._, ._ss, .add, .tmp1x, .tmp2d, ._, ._ }, |
| | 9916 | .{ .@"1:", ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 9917 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| | 9918 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9919 | } }, |
| | 9920 | }, .{ |
| | 9921 | .required_features = .{ .sse, null, null, null }, |
| | 9922 | .src_constraints = .{ |
| | 9923 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9924 | .{ .multiple_scalar_float = .{ .of = .dword, .is = .dword } }, |
| | 9925 | .any, |
| | 9926 | }, |
| | 9927 | .patterns = &.{ |
| | 9928 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 9929 | }, |
| | 9930 | .call_frame = .{ .alignment = .@"16" }, |
| | 9931 | .extra_temps = .{ |
| | 9932 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 9933 | .{ .type = .f32, .kind = .{ .reg = .xmm0 } }, |
| | 9934 | .{ .type = .f32, .kind = .{ .reg = .xmm1 } }, |
| | 9935 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodf" } } }, |
| | 9936 | .{ .type = .f32, .kind = .mem }, |
| | 9937 | .{ .type = .f32, .kind = .{ .reg = .eax } }, |
| | 9938 | .unused, |
| | 9939 | .unused, |
| | 9940 | .unused, |
| | 9941 | }, |
| | 9942 | .dst_temps = .{.mem}, |
| | 9943 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9944 | .each = .{ .once = &.{ |
| | 9945 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 9946 | .{ .@"0:", ._ss, .mov, .tmp1x, .memia(.src0d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9947 | .{ ._, ._ss, .mov, .tmp2x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9948 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 9949 | .{ ._, ._ss, .mov, .mem(.tmp4d), .tmp1x, ._, ._ }, |
| | 9950 | .{ ._, ._, .mov, .tmp5d, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9951 | .{ ._, ._, .@"and", .tmp5d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9952 | .{ ._, ._, .xor, .tmp5d, .mem(.tmp4d), ._, ._ }, |
| | 9953 | .{ ._, ._, .cmp, .tmp5d, .sa(.src0, .add_smin), ._, ._ }, |
| | 9954 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 9955 | .{ ._, ._ss, .add, .tmp1x, .memia(.src1d, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 9956 | .{ .@"1:", ._ss, .mov, .memia(.dst0d, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 9957 | .{ ._, ._, .add, .tmp0p, .si(4), ._, ._ }, |
| | 9958 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 9959 | } }, |
| | 9960 | }, .{ |
| | 9961 | .required_features = .{ .@"64bit", .avx, null, null }, |
| | 9962 | .src_constraints = .{ |
| | 9963 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 9964 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 9965 | .any, |
| | 9966 | }, |
| | 9967 | .patterns = &.{ |
| | 9968 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 9969 | }, |
| | 9970 | .call_frame = .{ .alignment = .@"16" }, |
| | 9971 | .extra_temps = .{ |
| | 9972 | .{ .type = .f64, .kind = .{ .rc = .general_purpose } }, |
| | 9973 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmod" } } }, |
| | 9974 | .{ .type = .f64, .kind = .{ .reg = .rcx } }, |
| | 9975 | .{ .type = .f64, .kind = .{ .reg = .rdx } }, |
| | 9976 | .{ .type = .f64, .kind = .{ .reg = .rax } }, |
| | 9977 | .unused, |
| | 9978 | .unused, |
| | 9979 | .unused, |
| | 9980 | .unused, |
| | 9981 | }, |
| | 9982 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 9983 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 9984 | .each = .{ .once = &.{ |
| | 9985 | .{ ._, .v_q, .mov, .tmp0q, .src1x, ._, ._ }, |
| | 9986 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 9987 | .{ ._, ._, .mov, .tmp2q, .ua(.src0, .add_smin), ._, ._ }, |
| | 9988 | .{ ._, .v_q, .mov, .tmp3q, .dst0x, ._, ._ }, |
| | 9989 | .{ ._, ._, .mov, .tmp4q, .tmp0q, ._, ._ }, |
| | 9990 | .{ ._, ._, .@"and", .tmp4q, .tmp2q, ._, ._ }, |
| | 9991 | .{ ._, ._, .xor, .tmp4q, .tmp3q, ._, ._ }, |
| | 9992 | .{ ._, ._, .cmp, .tmp4q, .tmp2q, ._, ._ }, |
| | 9993 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 9994 | .{ ._, .v_q, .mov, .src1q, .tmp0q, ._, ._ }, |
| | 9995 | .{ ._, .v_sd, .add, .dst0x, .src0x, .src1q, ._ }, |
| | 9996 | } }, |
| | 9997 | }, .{ |
| | 9998 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| | 9999 | .src_constraints = .{ |
| | 10000 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10001 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10002 | .any, |
| | 10003 | }, |
| | 10004 | .patterns = &.{ |
| | 10005 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 10006 | }, |
| | 10007 | .call_frame = .{ .alignment = .@"16" }, |
| | 10008 | .extra_temps = .{ |
| | 10009 | .{ .type = .f64, .kind = .{ .rc = .general_purpose } }, |
| | 10010 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmod" } } }, |
| | 10011 | .{ .type = .f64, .kind = .{ .reg = .rcx } }, |
| | 10012 | .{ .type = .f64, .kind = .{ .reg = .rdx } }, |
| | 10013 | .{ .type = .f64, .kind = .{ .reg = .rax } }, |
| | 10014 | .unused, |
| | 10015 | .unused, |
| | 10016 | .unused, |
| | 10017 | .unused, |
| | 10018 | }, |
| | 10019 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 10020 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10021 | .each = .{ .once = &.{ |
| | 10022 | .{ ._, ._q, .mov, .tmp0q, .src1x, ._, ._ }, |
| | 10023 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 10024 | .{ ._, ._, .mov, .tmp2q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10025 | .{ ._, ._q, .mov, .tmp3q, .dst0x, ._, ._ }, |
| | 10026 | .{ ._, ._, .mov, .tmp4q, .tmp0q, ._, ._ }, |
| | 10027 | .{ ._, ._, .@"and", .tmp4q, .tmp2q, ._, ._ }, |
| | 10028 | .{ ._, ._, .xor, .tmp4q, .tmp3q, ._, ._ }, |
| | 10029 | .{ ._, ._, .cmp, .tmp4q, .tmp2q, ._, ._ }, |
| | 10030 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 10031 | .{ ._, ._q, .mov, .src1x, .tmp0q, ._, ._ }, |
| | 10032 | .{ ._, ._sd, .add, .dst0x, .src1q, ._, ._ }, |
| | 10033 | } }, |
| | 10034 | }, .{ |
| | 10035 | .required_features = .{ .@"64bit", .sse, null, null }, |
| | 10036 | .src_constraints = .{ |
| | 10037 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10038 | .{ .scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10039 | .any, |
| | 10040 | }, |
| | 10041 | .patterns = &.{ |
| | 10042 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 10043 | }, |
| | 10044 | .call_frame = .{ .alignment = .@"16" }, |
| | 10045 | .extra_temps = .{ |
| | 10046 | .{ .type = .f64, .kind = .mem }, |
| | 10047 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmod" } } }, |
| | 10048 | .{ .type = .f64, .kind = .mem }, |
| | 10049 | .{ .type = .f64, .kind = .{ .reg = .rdx } }, |
| | 10050 | .{ .type = .f64, .kind = .{ .reg = .rax } }, |
| | 10051 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 10052 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 10053 | .unused, |
| | 10054 | .unused, |
| | 10055 | }, |
| | 10056 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 10057 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10058 | .each = .{ .once = &.{ |
| | 10059 | .{ ._, ._ps, .movl, .mem(.tmp0q), .src1x, ._, ._ }, |
| | 10060 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 10061 | .{ ._, ._, .mov, .tmp3q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10062 | .{ ._, ._ps, .movl, .mem(.tmp2q), .dst0x, ._, ._ }, |
| | 10063 | .{ ._, ._, .mov, .tmp4q, .tmp0q, ._, ._ }, |
| | 10064 | .{ ._, ._, .@"and", .tmp4q, .tmp3q, ._, ._ }, |
| | 10065 | .{ ._, ._, .xor, .tmp4q, .mem(.tmp2q), ._, ._ }, |
| | 10066 | .{ ._, ._, .cmp, .tmp4q, .tmp3q, ._, ._ }, |
| | 10067 | .{ ._, ._na, .j, .@"0f", ._, ._, ._ }, |
| | 10068 | .{ ._, .f_, .ld, .mem(.tmp2q), ._, ._, ._ }, |
| | 10069 | .{ ._, .f_, .ld, .mem(.tmp0q), ._, ._, ._ }, |
| | 10070 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10071 | .{ ._, .f_p, .st, .mem(.tmp2q), ._, ._, ._ }, |
| | 10072 | .{ ._, ._ps, .xor, .dst0x, .dst0x, ._, ._ }, |
| | 10073 | .{ ._, ._ps, .movl, .dst0x, .mem(.tmp2q), ._, ._ }, |
| | 10074 | } }, |
| | 10075 | }, .{ |
| | 10076 | .required_features = .{ .@"64bit", .avx, null, null }, |
| | 10077 | .src_constraints = .{ |
| | 10078 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10079 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10080 | .any, |
| | 10081 | }, |
| | 10082 | .patterns = &.{ |
| | 10083 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10084 | }, |
| | 10085 | .call_frame = .{ .alignment = .@"16" }, |
| | 10086 | .extra_temps = .{ |
| | 10087 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10088 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, |
| | 10089 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, |
| | 10090 | .{ .type = .f64, .kind = .{ .rc = .general_purpose } }, |
| | 10091 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmod" } } }, |
| | 10092 | .{ .type = .f64, .kind = .{ .reg = .rcx } }, |
| | 10093 | .{ .type = .f64, .kind = .{ .reg = .rdx } }, |
| | 10094 | .{ .type = .f64, .kind = .{ .reg = .rax } }, |
| | 10095 | .unused, |
| | 10096 | }, |
| | 10097 | .dst_temps = .{.mem}, |
| | 10098 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10099 | .each = .{ .once = &.{ |
| | 10100 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10101 | .{ .@"0:", .v_sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10102 | .{ ._, .v_sd, .mov, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10103 | .{ ._, .v_q, .mov, .tmp3q, .tmp2x, ._, ._ }, |
| | 10104 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 10105 | .{ ._, ._, .mov, .tmp5q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10106 | .{ ._, .v_q, .mov, .tmp6q, .tmp1x, ._, ._ }, |
| | 10107 | .{ ._, ._, .mov, .tmp7q, .tmp3q, ._, ._ }, |
| | 10108 | .{ ._, ._, .@"and", .tmp7q, .tmp5q, ._, ._ }, |
| | 10109 | .{ ._, ._, .xor, .tmp7q, .tmp6q, ._, ._ }, |
| | 10110 | .{ ._, ._, .cmp, .tmp7q, .tmp5q, ._, ._ }, |
| | 10111 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 10112 | .{ ._, .v_q, .mov, .tmp2x, .tmp3q, ._, ._ }, |
| | 10113 | .{ ._, .v_sd, .add, .tmp1x, .tmp1x, .tmp2q, ._ }, |
| | 10114 | .{ .@"1:", .v_sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 10115 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 10116 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10117 | } }, |
| | 10118 | }, .{ |
| | 10119 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| | 10120 | .src_constraints = .{ |
| | 10121 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10122 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10123 | .any, |
| | 10124 | }, |
| | 10125 | .patterns = &.{ |
| | 10126 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10127 | }, |
| | 10128 | .call_frame = .{ .alignment = .@"16" }, |
| | 10129 | .extra_temps = .{ |
| | 10130 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10131 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, |
| | 10132 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, |
| | 10133 | .{ .type = .f64, .kind = .{ .rc = .general_purpose } }, |
| | 10134 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmod" } } }, |
| | 10135 | .{ .type = .f64, .kind = .{ .reg = .rcx } }, |
| | 10136 | .{ .type = .f64, .kind = .{ .reg = .rdx } }, |
| | 10137 | .{ .type = .f64, .kind = .{ .reg = .rax } }, |
| | 10138 | .unused, |
| | 10139 | }, |
| | 10140 | .dst_temps = .{.mem}, |
| | 10141 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10142 | .each = .{ .once = &.{ |
| | 10143 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10144 | .{ .@"0:", ._sd, .mov, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10145 | .{ ._, ._sd, .mov, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10146 | .{ ._, ._q, .mov, .tmp3q, .tmp2x, ._, ._ }, |
| | 10147 | .{ ._, ._, .call, .tmp4d, ._, ._, ._ }, |
| | 10148 | .{ ._, ._, .mov, .tmp5q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10149 | .{ ._, ._q, .mov, .tmp6q, .tmp1x, ._, ._ }, |
| | 10150 | .{ ._, ._, .mov, .tmp7q, .tmp3q, ._, ._ }, |
| | 10151 | .{ ._, ._, .@"and", .tmp7q, .tmp5q, ._, ._ }, |
| | 10152 | .{ ._, ._, .xor, .tmp7q, .tmp6q, ._, ._ }, |
| | 10153 | .{ ._, ._, .cmp, .tmp7q, .tmp5q, ._, ._ }, |
| | 10154 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 10155 | .{ ._, ._q, .mov, .tmp2x, .tmp3q, ._, ._ }, |
| | 10156 | .{ ._, ._sd, .add, .tmp1x, .tmp2q, ._, ._ }, |
| | 10157 | .{ .@"1:", ._sd, .mov, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 10158 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 10159 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10160 | } }, |
| | 10161 | }, .{ |
| | 10162 | .required_features = .{ .@"64bit", .sse, null, null }, |
| | 10163 | .src_constraints = .{ |
| | 10164 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10165 | .{ .multiple_scalar_float = .{ .of = .qword, .is = .qword } }, |
| | 10166 | .any, |
| | 10167 | }, |
| | 10168 | .patterns = &.{ |
| | 10169 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10170 | }, |
| | 10171 | .call_frame = .{ .alignment = .@"16" }, |
| | 10172 | .extra_temps = .{ |
| | 10173 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10174 | .{ .type = .f64, .kind = .{ .reg = .xmm0 } }, |
| | 10175 | .{ .type = .f64, .kind = .{ .reg = .xmm1 } }, |
| | 10176 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmod" } } }, |
| | 10177 | .{ .type = .f64, .kind = .{ .reg = .rdx } }, |
| | 10178 | .{ .type = .f64, .kind = .mem }, |
| | 10179 | .{ .type = .f64, .kind = .{ .reg = .rax } }, |
| | 10180 | .{ .type = .f64, .kind = .{ .reg = .st6 } }, |
| | 10181 | .{ .type = .f64, .kind = .{ .reg = .st7 } }, |
| | 10182 | }, |
| | 10183 | .dst_temps = .{.mem}, |
| | 10184 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10185 | .each = .{ .once = &.{ |
| | 10186 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10187 | .{ .@"0:", ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 10188 | .{ ._, ._ps, .xor, .tmp2x, .tmp2x, ._, ._ }, |
| | 10189 | .{ ._, ._ps, .movl, .tmp1x, .memia(.src0q, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10190 | .{ ._, ._ps, .movl, .tmp2x, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10191 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 10192 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10193 | .{ ._, ._ps, .movl, .mem(.tmp5q), .tmp1x, ._, ._ }, |
| | 10194 | .{ ._, ._, .mov, .tmp6q, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10195 | .{ ._, ._, .@"and", .tmp6q, .tmp4q, ._, ._ }, |
| | 10196 | .{ ._, ._, .xor, .tmp6q, .mem(.tmp5q), ._, ._ }, |
| | 10197 | .{ ._, ._, .cmp, .tmp6q, .tmp4q, ._, ._ }, |
| | 10198 | .{ ._, ._na, .j, .@"1f", ._, ._, ._ }, |
| | 10199 | .{ ._, .f_, .ld, .mem(.tmp5q), ._, ._, ._ }, |
| | 10200 | .{ ._, .f_, .ld, .memia(.src1q, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 10201 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10202 | .{ ._, .f_p, .st, .mem(.tmp5q), ._, ._, ._ }, |
| | 10203 | .{ ._, ._ps, .xor, .tmp1x, .tmp1x, ._, ._ }, |
| | 10204 | .{ ._, ._ps, .movl, .tmp1x, .mem(.tmp5q), ._, ._ }, |
| | 10205 | .{ .@"1:", ._ps, .movl, .memia(.dst0q, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 10206 | .{ ._, ._, .add, .tmp0p, .si(8), ._, ._ }, |
| | 10207 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10208 | } }, |
| | 10209 | }, .{ |
| | 10210 | .required_features = .{ .@"64bit", .avx, .x87, .fast_imm16 }, |
| | 10211 | .src_constraints = .{ |
| | 10212 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10213 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10214 | .any, |
| | 10215 | }, |
| | 10216 | .patterns = &.{ |
| | 10217 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10218 | }, |
| | 10219 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10220 | .extra_temps = .{ |
| | 10221 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10222 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10223 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10224 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10225 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10226 | .unused, |
| | 10227 | .unused, |
| | 10228 | .unused, |
| | 10229 | .unused, |
| | 10230 | }, |
| | 10231 | .dst_temps = .{.{ .reg = .st0 }}, |
| | 10232 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10233 | .each = .{ .once = &.{ |
| | 10234 | .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ }, |
| | 10235 | .{ ._, .v_dqa, .mov, .mem(.tmp1x), .tmp0x, ._, ._ }, |
| | 10236 | .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src1x), ._, ._ }, |
| | 10237 | .{ ._, .v_dqa, .mov, .memd(.tmp1x, 16), .tmp0x, ._, ._ }, |
| | 10238 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 10239 | .{ ._, .f_, .ld, .dst0t, ._, ._, ._ }, |
| | 10240 | .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ }, |
| | 10241 | .{ ._, ._, .movzx, .tmp4d, .memd(.tmp1w, 16 + 8), ._, ._ }, |
| | 10242 | .{ ._, ._, .@"and", .tmp4w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10243 | .{ ._, ._, .xor, .tmp4w, .memd(.tmp1w, 8), ._, ._ }, |
| | 10244 | .{ ._, ._, .cmp, .mem(.tmp1q), .si(1), ._, ._ }, |
| | 10245 | .{ ._, ._, .sbb, .tmp4w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10246 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10247 | .{ ._, .f_, .ld, .memd(.tmp1t, 16), ._, ._, ._ }, |
| | 10248 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10249 | } }, |
| | 10250 | }, .{ |
| | 10251 | .required_features = .{ .@"64bit", .avx, .x87, null }, |
| | 10252 | .src_constraints = .{ |
| | 10253 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10254 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10255 | .any, |
| | 10256 | }, |
| | 10257 | .patterns = &.{ |
| | 10258 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10259 | }, |
| | 10260 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10261 | .extra_temps = .{ |
| | 10262 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10263 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10264 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10265 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10266 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10267 | .unused, |
| | 10268 | .unused, |
| | 10269 | .unused, |
| | 10270 | .unused, |
| | 10271 | }, |
| | 10272 | .dst_temps = .{.{ .reg = .st0 }}, |
| | 10273 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10274 | .each = .{ .once = &.{ |
| | 10275 | .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ }, |
| | 10276 | .{ ._, .v_dqa, .mov, .mem(.tmp1x), .tmp0x, ._, ._ }, |
| | 10277 | .{ ._, .v_dqa, .mov, .tmp0x, .mem(.src1x), ._, ._ }, |
| | 10278 | .{ ._, .v_dqa, .mov, .memd(.tmp1x, 16), .tmp0x, ._, ._ }, |
| | 10279 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 10280 | .{ ._, .f_, .ld, .dst0t, ._, ._, ._ }, |
| | 10281 | .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ }, |
| | 10282 | .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_smin), ._, ._ }, |
| | 10283 | .{ ._, ._, .@"and", .tmp4w, .memd(.tmp1w, 16 + 8), ._, ._ }, |
| | 10284 | .{ ._, ._, .xor, .tmp4w, .memd(.tmp1w, 8), ._, ._ }, |
| | 10285 | .{ ._, ._, .cmp, .mem(.tmp1q), .si(1), ._, ._ }, |
| | 10286 | .{ ._, ._, .sbb, .tmp4w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10287 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10288 | .{ ._, .f_, .ld, .memd(.tmp1t, 16), ._, ._, ._ }, |
| | 10289 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10290 | } }, |
| | 10291 | }, .{ |
| | 10292 | .required_features = .{ .@"64bit", .sse2, .x87, .fast_imm16 }, |
| | 10293 | .src_constraints = .{ |
| | 10294 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10295 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10296 | .any, |
| | 10297 | }, |
| | 10298 | .patterns = &.{ |
| | 10299 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10300 | }, |
| | 10301 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10302 | .extra_temps = .{ |
| | 10303 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10304 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10305 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10306 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10307 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10308 | .unused, |
| | 10309 | .unused, |
| | 10310 | .unused, |
| | 10311 | .unused, |
| | 10312 | }, |
| | 10313 | .dst_temps = .{.{ .reg = .st0 }}, |
| | 10314 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10315 | .each = .{ .once = &.{ |
| | 10316 | .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ }, |
| | 10317 | .{ ._, ._dqa, .mov, .mem(.tmp1x), .tmp0x, ._, ._ }, |
| | 10318 | .{ ._, ._dqa, .mov, .tmp0x, .mem(.src1x), ._, ._ }, |
| | 10319 | .{ ._, ._dqa, .mov, .memd(.tmp1x, 16), .tmp0x, ._, ._ }, |
| | 10320 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 10321 | .{ ._, .f_, .ld, .dst0t, ._, ._, ._ }, |
| | 10322 | .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ }, |
| | 10323 | .{ ._, ._, .movzx, .tmp4d, .memd(.tmp1w, 16 + 8), ._, ._ }, |
| | 10324 | .{ ._, ._, .@"and", .tmp4w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10325 | .{ ._, ._, .xor, .tmp4w, .memd(.tmp1w, 8), ._, ._ }, |
| | 10326 | .{ ._, ._, .cmp, .mem(.tmp1q), .si(1), ._, ._ }, |
| | 10327 | .{ ._, ._, .sbb, .tmp4w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10328 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10329 | .{ ._, .f_, .ld, .memd(.tmp1t, 16), ._, ._, ._ }, |
| | 10330 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10331 | } }, |
| | 10332 | }, .{ |
| | 10333 | .required_features = .{ .@"64bit", .sse2, .x87, null }, |
| | 10334 | .src_constraints = .{ |
| | 10335 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10336 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10337 | .any, |
| | 10338 | }, |
| | 10339 | .patterns = &.{ |
| | 10340 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10341 | }, |
| | 10342 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10343 | .extra_temps = .{ |
| | 10344 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10345 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10346 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10347 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10348 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10349 | .unused, |
| | 10350 | .unused, |
| | 10351 | .unused, |
| | 10352 | .unused, |
| | 10353 | }, |
| | 10354 | .dst_temps = .{.{ .reg = .st0 }}, |
| | 10355 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10356 | .each = .{ .once = &.{ |
| | 10357 | .{ ._, ._dqa, .mov, .tmp0x, .mem(.src0x), ._, ._ }, |
| | 10358 | .{ ._, ._dqa, .mov, .mem(.tmp1x), .tmp0x, ._, ._ }, |
| | 10359 | .{ ._, ._dqa, .mov, .tmp0x, .mem(.src1x), ._, ._ }, |
| | 10360 | .{ ._, ._dqa, .mov, .memd(.tmp1x, 16), .tmp0x, ._, ._ }, |
| | 10361 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 10362 | .{ ._, .f_, .ld, .dst0t, ._, ._, ._ }, |
| | 10363 | .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ }, |
| | 10364 | .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_smin), ._, ._ }, |
| | 10365 | .{ ._, ._, .@"and", .tmp4w, .memd(.tmp1w, 16 + 8), ._, ._ }, |
| | 10366 | .{ ._, ._, .xor, .tmp4w, .memd(.tmp1w, 8), ._, ._ }, |
| | 10367 | .{ ._, ._, .cmp, .mem(.tmp1q), .si(1), ._, ._ }, |
| | 10368 | .{ ._, ._, .sbb, .tmp4w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10369 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10370 | .{ ._, .f_, .ld, .memd(.tmp1t, 16), ._, ._, ._ }, |
| | 10371 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10372 | } }, |
| | 10373 | }, .{ |
| | 10374 | .required_features = .{ .@"64bit", .sse, .x87, .fast_imm16 }, |
| | 10375 | .src_constraints = .{ |
| | 10376 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10377 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10378 | .any, |
| | 10379 | }, |
| | 10380 | .patterns = &.{ |
| | 10381 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10382 | }, |
| | 10383 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10384 | .extra_temps = .{ |
| | 10385 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10386 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10387 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10388 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10389 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10390 | .unused, |
| | 10391 | .unused, |
| | 10392 | .unused, |
| | 10393 | .unused, |
| | 10394 | }, |
| | 10395 | .dst_temps = .{.{ .reg = .st0 }}, |
| | 10396 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10397 | .each = .{ .once = &.{ |
| | 10398 | .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ }, |
| | 10399 | .{ ._, ._ps, .mova, .mem(.tmp1x), .tmp0x, ._, ._ }, |
| | 10400 | .{ ._, ._ps, .mova, .tmp0x, .mem(.src1x), ._, ._ }, |
| | 10401 | .{ ._, ._ps, .mova, .memd(.tmp1x, 16), .tmp0x, ._, ._ }, |
| | 10402 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 10403 | .{ ._, .f_, .ld, .dst0t, ._, ._, ._ }, |
| | 10404 | .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ }, |
| | 10405 | .{ ._, ._, .movzx, .tmp4d, .memd(.tmp1w, 16 + 8), ._, ._ }, |
| | 10406 | .{ ._, ._, .@"and", .tmp4w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10407 | .{ ._, ._, .xor, .tmp4w, .memd(.tmp1w, 8), ._, ._ }, |
| | 10408 | .{ ._, ._, .cmp, .mem(.tmp1q), .si(1), ._, ._ }, |
| | 10409 | .{ ._, ._, .sbb, .tmp4w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10410 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10411 | .{ ._, .f_, .ld, .memd(.tmp1t, 16), ._, ._, ._ }, |
| | 10412 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10413 | } }, |
| | 10414 | }, .{ |
| | 10415 | .required_features = .{ .@"64bit", .sse, .x87, null }, |
| | 10416 | .src_constraints = .{ |
| | 10417 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10418 | .{ .scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10419 | .any, |
| | 10420 | }, |
| | 10421 | .patterns = &.{ |
| | 10422 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10423 | }, |
| | 10424 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10425 | .extra_temps = .{ |
| | 10426 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10427 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10428 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10429 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10430 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10431 | .unused, |
| | 10432 | .unused, |
| | 10433 | .unused, |
| | 10434 | .unused, |
| | 10435 | }, |
| | 10436 | .dst_temps = .{.{ .reg = .st0 }}, |
| | 10437 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10438 | .each = .{ .once = &.{ |
| | 10439 | .{ ._, ._ps, .mova, .tmp0x, .mem(.src0x), ._, ._ }, |
| | 10440 | .{ ._, ._ps, .mova, .mem(.tmp1x), .tmp0x, ._, ._ }, |
| | 10441 | .{ ._, ._ps, .mova, .tmp0x, .mem(.src1x), ._, ._ }, |
| | 10442 | .{ ._, ._ps, .mova, .memd(.tmp1x, 16), .tmp0x, ._, ._ }, |
| | 10443 | .{ ._, ._, .call, .tmp2d, ._, ._, ._ }, |
| | 10444 | .{ ._, .f_, .ld, .dst0t, ._, ._, ._ }, |
| | 10445 | .{ ._, .f_p, .st, .mem(.tmp1t), ._, ._, ._ }, |
| | 10446 | .{ ._, ._, .mov, .tmp4d, .sa(.src0, .add_smin), ._, ._ }, |
| | 10447 | .{ ._, ._, .@"and", .tmp4w, .memd(.tmp1w, 16 + 8), ._, ._ }, |
| | 10448 | .{ ._, ._, .xor, .tmp4w, .memd(.tmp1w, 8), ._, ._ }, |
| | 10449 | .{ ._, ._, .cmp, .mem(.tmp1q), .si(1), ._, ._ }, |
| | 10450 | .{ ._, ._, .sbb, .tmp4w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10451 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10452 | .{ ._, .f_, .ld, .memd(.tmp1t, 16), ._, ._, ._ }, |
| | 10453 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10454 | } }, |
| | 10455 | }, .{ |
| | 10456 | .required_features = .{ .@"64bit", .avx, .x87, .fast_imm16 }, |
| | 10457 | .src_constraints = .{ |
| | 10458 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10459 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10460 | .any, |
| | 10461 | }, |
| | 10462 | .patterns = &.{ |
| | 10463 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10464 | }, |
| | 10465 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10466 | .extra_temps = .{ |
| | 10467 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10468 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10469 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10470 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10471 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10472 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10473 | .unused, |
| | 10474 | .unused, |
| | 10475 | .unused, |
| | 10476 | }, |
| | 10477 | .dst_temps = .{.mem}, |
| | 10478 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10479 | .each = .{ .once = &.{ |
| | 10480 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10481 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10482 | .{ ._, .v_dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| | 10483 | .{ ._, .v_dqa, .mov, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10484 | .{ ._, .v_dqa, .mov, .memd(.tmp2x, 16), .tmp1x, ._, ._ }, |
| | 10485 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 10486 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| | 10487 | .{ ._, .f_, .ld, .tmp4t, ._, ._, ._ }, |
| | 10488 | .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ }, |
| | 10489 | .{ ._, ._, .movzx, .tmp5d, .memd(.tmp2w, 16 + 8), ._, ._ }, |
| | 10490 | .{ ._, ._, .@"and", .tmp5w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10491 | .{ ._, ._, .xor, .tmp5w, .memd(.tmp2w, 8), ._, ._ }, |
| | 10492 | .{ ._, ._, .cmp, .mem(.tmp2q), .si(1), ._, ._ }, |
| | 10493 | .{ ._, ._, .sbb, .tmp5w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10494 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 10495 | .{ ._, .f_, .ld, .memd(.tmp2t, 16), ._, ._, ._ }, |
| | 10496 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10497 | .{ .@"1:", .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 10498 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 10499 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10500 | } }, |
| | 10501 | }, .{ |
| | 10502 | .required_features = .{ .@"64bit", .avx, .x87, null }, |
| | 10503 | .src_constraints = .{ |
| | 10504 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10505 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10506 | .any, |
| | 10507 | }, |
| | 10508 | .patterns = &.{ |
| | 10509 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10510 | }, |
| | 10511 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10512 | .extra_temps = .{ |
| | 10513 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10514 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10515 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10516 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10517 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10518 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10519 | .unused, |
| | 10520 | .unused, |
| | 10521 | .unused, |
| | 10522 | }, |
| | 10523 | .dst_temps = .{.mem}, |
| | 10524 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10525 | .each = .{ .once = &.{ |
| | 10526 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10527 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10528 | .{ ._, .v_dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| | 10529 | .{ ._, .v_dqa, .mov, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10530 | .{ ._, .v_dqa, .mov, .memd(.tmp2x, 16), .tmp1x, ._, ._ }, |
| | 10531 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 10532 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| | 10533 | .{ ._, .f_, .ld, .tmp4t, ._, ._, ._ }, |
| | 10534 | .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ }, |
| | 10535 | .{ ._, ._, .mov, .tmp5d, .sa(.src0, .add_smin), ._, ._ }, |
| | 10536 | .{ ._, ._, .@"and", .tmp5w, .memd(.tmp2w, 16 + 8), ._, ._ }, |
| | 10537 | .{ ._, ._, .xor, .tmp5w, .memd(.tmp2w, 8), ._, ._ }, |
| | 10538 | .{ ._, ._, .cmp, .mem(.tmp2q), .si(1), ._, ._ }, |
| | 10539 | .{ ._, ._, .sbb, .tmp5w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10540 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 10541 | .{ ._, .f_, .ld, .memd(.tmp2t, 16), ._, ._, ._ }, |
| | 10542 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10543 | .{ .@"1:", .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 10544 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 10545 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10546 | } }, |
| | 10547 | }, .{ |
| | 10548 | .required_features = .{ .@"64bit", .sse2, .x87, .fast_imm16 }, |
| | 10549 | .src_constraints = .{ |
| | 10550 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10551 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10552 | .any, |
| | 10553 | }, |
| | 10554 | .patterns = &.{ |
| | 10555 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10556 | }, |
| | 10557 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10558 | .extra_temps = .{ |
| | 10559 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10560 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10561 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10562 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10563 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10564 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10565 | .unused, |
| | 10566 | .unused, |
| | 10567 | .unused, |
| | 10568 | }, |
| | 10569 | .dst_temps = .{.mem}, |
| | 10570 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10571 | .each = .{ .once = &.{ |
| | 10572 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10573 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10574 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| | 10575 | .{ ._, ._dqa, .mov, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10576 | .{ ._, ._dqa, .mov, .memd(.tmp2x, 16), .tmp1x, ._, ._ }, |
| | 10577 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 10578 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| | 10579 | .{ ._, .f_, .ld, .tmp4t, ._, ._, ._ }, |
| | 10580 | .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ }, |
| | 10581 | .{ ._, ._, .movzx, .tmp5d, .memd(.tmp2w, 16 + 8), ._, ._ }, |
| | 10582 | .{ ._, ._, .@"and", .tmp5w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10583 | .{ ._, ._, .xor, .tmp5w, .memd(.tmp2w, 8), ._, ._ }, |
| | 10584 | .{ ._, ._, .cmp, .mem(.tmp2q), .si(1), ._, ._ }, |
| | 10585 | .{ ._, ._, .sbb, .tmp5w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10586 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 10587 | .{ ._, .f_, .ld, .memd(.tmp2t, 16), ._, ._, ._ }, |
| | 10588 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10589 | .{ .@"1:", .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 10590 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 10591 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10592 | } }, |
| | 10593 | }, .{ |
| | 10594 | .required_features = .{ .@"64bit", .sse2, .x87, null }, |
| | 10595 | .src_constraints = .{ |
| | 10596 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10597 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10598 | .any, |
| | 10599 | }, |
| | 10600 | .patterns = &.{ |
| | 10601 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10602 | }, |
| | 10603 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10604 | .extra_temps = .{ |
| | 10605 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10606 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10607 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10608 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10609 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10610 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10611 | .unused, |
| | 10612 | .unused, |
| | 10613 | .unused, |
| | 10614 | }, |
| | 10615 | .dst_temps = .{.mem}, |
| | 10616 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10617 | .each = .{ .once = &.{ |
| | 10618 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10619 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10620 | .{ ._, ._dqa, .mov, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| | 10621 | .{ ._, ._dqa, .mov, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10622 | .{ ._, ._dqa, .mov, .memd(.tmp2x, 16), .tmp1x, ._, ._ }, |
| | 10623 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 10624 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| | 10625 | .{ ._, .f_, .ld, .tmp4t, ._, ._, ._ }, |
| | 10626 | .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ }, |
| | 10627 | .{ ._, ._, .mov, .tmp5d, .sa(.src0, .add_smin), ._, ._ }, |
| | 10628 | .{ ._, ._, .@"and", .tmp5w, .memd(.tmp2w, 16 + 8), ._, ._ }, |
| | 10629 | .{ ._, ._, .xor, .tmp5w, .memd(.tmp2w, 8), ._, ._ }, |
| | 10630 | .{ ._, ._, .cmp, .mem(.tmp2q), .si(1), ._, ._ }, |
| | 10631 | .{ ._, ._, .sbb, .tmp5w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10632 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 10633 | .{ ._, .f_, .ld, .memd(.tmp2t, 16), ._, ._, ._ }, |
| | 10634 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10635 | .{ .@"1:", .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 10636 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 10637 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10638 | } }, |
| | 10639 | }, .{ |
| | 10640 | .required_features = .{ .@"64bit", .sse, .x87, .fast_imm16 }, |
| | 10641 | .src_constraints = .{ |
| | 10642 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10643 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10644 | .any, |
| | 10645 | }, |
| | 10646 | .patterns = &.{ |
| | 10647 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10648 | }, |
| | 10649 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10650 | .extra_temps = .{ |
| | 10651 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10652 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10653 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10654 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10655 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10656 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10657 | .unused, |
| | 10658 | .unused, |
| | 10659 | .unused, |
| | 10660 | }, |
| | 10661 | .dst_temps = .{.mem}, |
| | 10662 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10663 | .each = .{ .once = &.{ |
| | 10664 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10665 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10666 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| | 10667 | .{ ._, ._ps, .mova, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10668 | .{ ._, ._ps, .mova, .memd(.tmp2x, 16), .tmp1x, ._, ._ }, |
| | 10669 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 10670 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| | 10671 | .{ ._, .f_, .ld, .tmp4t, ._, ._, ._ }, |
| | 10672 | .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ }, |
| | 10673 | .{ ._, ._, .movzx, .tmp5d, .memd(.tmp2w, 16 + 8), ._, ._ }, |
| | 10674 | .{ ._, ._, .@"and", .tmp5w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10675 | .{ ._, ._, .xor, .tmp5w, .memd(.tmp2w, 8), ._, ._ }, |
| | 10676 | .{ ._, ._, .cmp, .mem(.tmp2q), .si(1), ._, ._ }, |
| | 10677 | .{ ._, ._, .sbb, .tmp5w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10678 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 10679 | .{ ._, .f_, .ld, .memd(.tmp2t, 16), ._, ._, ._ }, |
| | 10680 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10681 | .{ .@"1:", .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 10682 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 10683 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10684 | } }, |
| | 10685 | }, .{ |
| | 10686 | .required_features = .{ .@"64bit", .sse, .x87, null }, |
| | 10687 | .src_constraints = .{ |
| | 10688 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10689 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .tbyte } }, |
| | 10690 | .any, |
| | 10691 | }, |
| | 10692 | .patterns = &.{ |
| | 10693 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10694 | }, |
| | 10695 | .call_frame = .{ .size = 16 * 2, .alignment = .@"16" }, |
| | 10696 | .extra_temps = .{ |
| | 10697 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10698 | .{ .type = .f80, .kind = .{ .reg = .xmm0 } }, |
| | 10699 | .{ .type = .f80, .kind = .{ .frame = .call_frame } }, |
| | 10700 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__fmodx" } } }, |
| | 10701 | .{ .type = .f80, .kind = .{ .reg = .st7 } }, |
| | 10702 | .{ .type = .f80, .kind = .{ .reg = .rax } }, |
| | 10703 | .unused, |
| | 10704 | .unused, |
| | 10705 | .unused, |
| | 10706 | }, |
| | 10707 | .dst_temps = .{.mem}, |
| | 10708 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10709 | .each = .{ .once = &.{ |
| | 10710 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10711 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10712 | .{ ._, ._ps, .mova, .mem(.tmp2x), .tmp1x, ._, ._ }, |
| | 10713 | .{ ._, ._ps, .mova, .tmp1x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10714 | .{ ._, ._ps, .mova, .memd(.tmp2x, 16), .tmp1x, ._, ._ }, |
| | 10715 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 10716 | .{ .pseudo, .f_cstp, .de, ._, ._, ._, ._ }, |
| | 10717 | .{ ._, .f_, .ld, .tmp4t, ._, ._, ._ }, |
| | 10718 | .{ ._, .f_p, .st, .mem(.tmp2t), ._, ._, ._ }, |
| | 10719 | .{ ._, ._, .mov, .tmp5d, .sa(.src0, .add_smin), ._, ._ }, |
| | 10720 | .{ ._, ._, .@"and", .tmp5w, .memd(.tmp2w, 16 + 8), ._, ._ }, |
| | 10721 | .{ ._, ._, .xor, .tmp5w, .memd(.tmp2w, 8), ._, ._ }, |
| | 10722 | .{ ._, ._, .cmp, .mem(.tmp2q), .si(1), ._, ._ }, |
| | 10723 | .{ ._, ._, .sbb, .tmp5w, .sa(.src0, .add_smin), ._, ._ }, |
| | 10724 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 10725 | .{ ._, .f_, .ld, .memd(.tmp2t, 16), ._, ._, ._ }, |
| | 10726 | .{ ._, .f_p, .add, ._, ._, ._, ._ }, |
| | 10727 | .{ .@"1:", .f_p, .st, .memia(.dst0t, .tmp0, .add_unaligned_size), ._, ._, ._ }, |
| | 10728 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 10729 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10730 | } }, |
| | 10731 | }, .{ |
| | 10732 | .required_features = .{ .@"64bit", .avx, null, null }, |
| | 10733 | .src_constraints = .{ |
| | 10734 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10735 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10736 | .any, |
| | 10737 | }, |
| | 10738 | .patterns = &.{ |
| | 10739 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 10740 | }, |
| | 10741 | .call_frame = .{ .alignment = .@"16" }, |
| | 10742 | .extra_temps = .{ |
| | 10743 | .{ .type = .f128, .kind = .mem }, |
| | 10744 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodq" } } }, |
| | 10745 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, |
| | 10746 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| | 10747 | .{ .type = .f128, .kind = .{ .reg = .rax } }, |
| | 10748 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 10749 | .unused, |
| | 10750 | .unused, |
| | 10751 | .unused, |
| | 10752 | }, |
| | 10753 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 10754 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10755 | .each = .{ .once = &.{ |
| | 10756 | .{ ._, .v_dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ }, |
| | 10757 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 10758 | .{ ._, ._, .mov, .tmp2q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10759 | .{ ._, .vp_q, .extr, .tmp3q, .dst0x, .ui(1), ._ }, |
| | 10760 | .{ ._, ._, .mov, .tmp4q, .tmp2q, ._, ._ }, |
| | 10761 | .{ ._, ._, .@"and", .tmp4q, .memd(.tmp0q, 8), ._, ._ }, |
| | 10762 | .{ ._, ._, .xor, .tmp4q, .tmp3q, ._, ._ }, |
| | 10763 | .{ ._, .v_q, .mov, .tmp3q, .dst0x, ._, ._ }, |
| | 10764 | .{ ._, ._, .cmp, .tmp3q, .si(1), ._, ._ }, |
| | 10765 | .{ ._, ._, .sbb, .tmp4q, .tmp2q, ._, ._ }, |
| | 10766 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10767 | .{ ._, .v_dqa, .mov, .src1x, .mem(.tmp0x), ._, ._ }, |
| | 10768 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 10769 | } }, |
| | 10770 | }, .{ |
| | 10771 | .required_features = .{ .@"64bit", .sse4_1, null, null }, |
| | 10772 | .src_constraints = .{ |
| | 10773 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10774 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10775 | .any, |
| | 10776 | }, |
| | 10777 | .patterns = &.{ |
| | 10778 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 10779 | }, |
| | 10780 | .call_frame = .{ .alignment = .@"16" }, |
| | 10781 | .extra_temps = .{ |
| | 10782 | .{ .type = .f128, .kind = .mem }, |
| | 10783 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodq" } } }, |
| | 10784 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, |
| | 10785 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| | 10786 | .{ .type = .f128, .kind = .{ .reg = .rax } }, |
| | 10787 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 10788 | .unused, |
| | 10789 | .unused, |
| | 10790 | .unused, |
| | 10791 | }, |
| | 10792 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 10793 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10794 | .each = .{ .once = &.{ |
| | 10795 | .{ ._, ._dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ }, |
| | 10796 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 10797 | .{ ._, ._, .mov, .tmp2q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10798 | .{ ._, .p_q, .extr, .tmp3q, .dst0x, .ui(1), ._ }, |
| | 10799 | .{ ._, ._, .mov, .tmp4q, .tmp2q, ._, ._ }, |
| | 10800 | .{ ._, ._, .@"and", .tmp4q, .memd(.tmp0q, 8), ._, ._ }, |
| | 10801 | .{ ._, ._, .xor, .tmp4q, .tmp3q, ._, ._ }, |
| | 10802 | .{ ._, ._q, .mov, .tmp3q, .dst0x, ._, ._ }, |
| | 10803 | .{ ._, ._, .cmp, .tmp3q, .si(1), ._, ._ }, |
| | 10804 | .{ ._, ._, .sbb, .tmp4q, .tmp2q, ._, ._ }, |
| | 10805 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10806 | .{ ._, ._dqa, .mov, .src1x, .mem(.tmp0x), ._, ._ }, |
| | 10807 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 10808 | } }, |
| | 10809 | }, .{ |
| | 10810 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| | 10811 | .src_constraints = .{ |
| | 10812 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10813 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10814 | .any, |
| | 10815 | }, |
| | 10816 | .patterns = &.{ |
| | 10817 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 10818 | }, |
| | 10819 | .call_frame = .{ .alignment = .@"16" }, |
| | 10820 | .extra_temps = .{ |
| | 10821 | .{ .type = .f128, .kind = .mem }, |
| | 10822 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodq" } } }, |
| | 10823 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, |
| | 10824 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| | 10825 | .{ .type = .f128, .kind = .{ .reg = .rax } }, |
| | 10826 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 10827 | .unused, |
| | 10828 | .unused, |
| | 10829 | .unused, |
| | 10830 | }, |
| | 10831 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 10832 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10833 | .each = .{ .once = &.{ |
| | 10834 | .{ ._, ._dqa, .mov, .mem(.tmp0x), .src1x, ._, ._ }, |
| | 10835 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 10836 | .{ ._, ._, .mov, .tmp2q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10837 | .{ ._, .p_d, .shuf, .src1x, .dst0x, .ui(0b11_10_11_10), ._ }, |
| | 10838 | .{ ._, ._q, .mov, .tmp3q, .src1x, ._, ._ }, |
| | 10839 | .{ ._, ._, .mov, .tmp4q, .tmp2q, ._, ._ }, |
| | 10840 | .{ ._, ._, .@"and", .tmp4q, .memd(.tmp0q, 8), ._, ._ }, |
| | 10841 | .{ ._, ._, .xor, .tmp4q, .tmp3q, ._, ._ }, |
| | 10842 | .{ ._, ._q, .mov, .tmp3q, .dst0x, ._, ._ }, |
| | 10843 | .{ ._, ._, .cmp, .tmp3q, .si(1), ._, ._ }, |
| | 10844 | .{ ._, ._, .sbb, .tmp4q, .tmp2q, ._, ._ }, |
| | 10845 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10846 | .{ ._, ._dqa, .mov, .src1x, .mem(.tmp0x), ._, ._ }, |
| | 10847 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 10848 | } }, |
| | 10849 | }, .{ |
| | 10850 | .required_features = .{ .@"64bit", .sse, null, null }, |
| | 10851 | .src_constraints = .{ |
| | 10852 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10853 | .{ .scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10854 | .any, |
| | 10855 | }, |
| | 10856 | .patterns = &.{ |
| | 10857 | .{ .src = .{ .{ .to_reg = .xmm0 }, .{ .to_reg = .xmm1 }, .none } }, |
| | 10858 | }, |
| | 10859 | .call_frame = .{ .alignment = .@"16" }, |
| | 10860 | .extra_temps = .{ |
| | 10861 | .{ .type = .f128, .kind = .mem }, |
| | 10862 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodq" } } }, |
| | 10863 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| | 10864 | .{ .type = .f128, .kind = .mem }, |
| | 10865 | .{ .type = .f128, .kind = .{ .reg = .rax } }, |
| | 10866 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 10867 | .unused, |
| | 10868 | .unused, |
| | 10869 | .unused, |
| | 10870 | }, |
| | 10871 | .dst_temps = .{.{ .ref = .src0 }}, |
| | 10872 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10873 | .each = .{ .once = &.{ |
| | 10874 | .{ ._, ._ps, .mova, .mem(.tmp0x), .src1x, ._, ._ }, |
| | 10875 | .{ ._, ._, .call, .tmp1d, ._, ._, ._ }, |
| | 10876 | .{ ._, ._, .mov, .tmp2q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10877 | .{ ._, ._ps, .mova, .mem(.tmp3x), .dst0x, ._, ._ }, |
| | 10878 | .{ ._, ._, .mov, .tmp4q, .tmp2q, ._, ._ }, |
| | 10879 | .{ ._, ._, .@"and", .tmp4q, .memd(.tmp0q, 8), ._, ._ }, |
| | 10880 | .{ ._, ._, .xor, .tmp4q, .memd(.tmp3q, 8), ._, ._ }, |
| | 10881 | .{ ._, ._, .cmp, .mem(.tmp3q), .si(1), ._, ._ }, |
| | 10882 | .{ ._, ._, .sbb, .tmp4q, .tmp2q, ._, ._ }, |
| | 10883 | .{ ._, ._nae, .j, .@"0f", ._, ._, ._ }, |
| | 10884 | .{ ._, ._ps, .mova, .src1x, .mem(.tmp0x), ._, ._ }, |
| | 10885 | .{ ._, ._, .call, .tmp5d, ._, ._, ._ }, |
| | 10886 | } }, |
| | 10887 | }, .{ |
| | 10888 | .required_features = .{ .@"64bit", .avx, null, null }, |
| | 10889 | .src_constraints = .{ |
| | 10890 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10891 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10892 | .any, |
| | 10893 | }, |
| | 10894 | .patterns = &.{ |
| | 10895 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10896 | }, |
| | 10897 | .call_frame = .{ .alignment = .@"16" }, |
| | 10898 | .extra_temps = .{ |
| | 10899 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10900 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| | 10901 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 10902 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodq" } } }, |
| | 10903 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, |
| | 10904 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| | 10905 | .{ .type = .f128, .kind = .{ .reg = .rax } }, |
| | 10906 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 10907 | .unused, |
| | 10908 | }, |
| | 10909 | .dst_temps = .{.mem}, |
| | 10910 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10911 | .each = .{ .once = &.{ |
| | 10912 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10913 | .{ .@"0:", .v_dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10914 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10915 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 10916 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10917 | .{ ._, .vp_q, .extr, .tmp5q, .tmp1x, .ui(1), ._ }, |
| | 10918 | .{ ._, ._, .mov, .tmp6q, .tmp4q, ._, ._ }, |
| | 10919 | .{ ._, ._, .@"and", .tmp6q, .memiad(.src1q, .tmp0, .add_unaligned_size, 8), ._, ._ }, |
| | 10920 | .{ ._, ._, .xor, .tmp6q, .tmp5q, ._, ._ }, |
| | 10921 | .{ ._, .v_q, .mov, .tmp5q, .tmp1x, ._, ._ }, |
| | 10922 | .{ ._, ._, .cmp, .tmp5q, .si(1), ._, ._ }, |
| | 10923 | .{ ._, ._, .sbb, .tmp6q, .tmp4q, ._, ._ }, |
| | 10924 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 10925 | .{ ._, .v_dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10926 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 10927 | .{ .@"1:", .v_dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 10928 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 10929 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10930 | } }, |
| | 10931 | }, .{ |
| | 10932 | .required_features = .{ .@"64bit", .sse4_1, null, null }, |
| | 10933 | .src_constraints = .{ |
| | 10934 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10935 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10936 | .any, |
| | 10937 | }, |
| | 10938 | .patterns = &.{ |
| | 10939 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10940 | }, |
| | 10941 | .call_frame = .{ .alignment = .@"16" }, |
| | 10942 | .extra_temps = .{ |
| | 10943 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10944 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| | 10945 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 10946 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodq" } } }, |
| | 10947 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, |
| | 10948 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| | 10949 | .{ .type = .f128, .kind = .{ .reg = .rax } }, |
| | 10950 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 10951 | .unused, |
| | 10952 | }, |
| | 10953 | .dst_temps = .{.mem}, |
| | 10954 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10955 | .each = .{ .once = &.{ |
| | 10956 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 10957 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10958 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10959 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 10960 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| | 10961 | .{ ._, .p_q, .extr, .tmp5q, .tmp1x, .ui(1), ._ }, |
| | 10962 | .{ ._, ._, .mov, .tmp6q, .tmp4q, ._, ._ }, |
| | 10963 | .{ ._, ._, .@"and", .tmp6q, .memiad(.src1q, .tmp0, .add_unaligned_size, 8), ._, ._ }, |
| | 10964 | .{ ._, ._, .xor, .tmp6q, .tmp5q, ._, ._ }, |
| | 10965 | .{ ._, ._q, .mov, .tmp5q, .tmp1x, ._, ._ }, |
| | 10966 | .{ ._, ._, .cmp, .tmp5q, .si(1), ._, ._ }, |
| | 10967 | .{ ._, ._, .sbb, .tmp6q, .tmp4q, ._, ._ }, |
| | 10968 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 10969 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 10970 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 10971 | .{ .@"1:", ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 10972 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 10973 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 10974 | } }, |
| | 10975 | }, .{ |
| | 10976 | .required_features = .{ .@"64bit", .sse2, null, null }, |
| | 10977 | .src_constraints = .{ |
| | 10978 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10979 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 10980 | .any, |
| | 10981 | }, |
| | 10982 | .patterns = &.{ |
| | 10983 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 10984 | }, |
| | 10985 | .call_frame = .{ .alignment = .@"16" }, |
| | 10986 | .extra_temps = .{ |
| | 10987 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 10988 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| | 10989 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 10990 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodq" } } }, |
| | 10991 | .{ .type = .f128, .kind = .{ .reg = .rcx } }, |
| | 10992 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| | 10993 | .{ .type = .f128, .kind = .{ .reg = .rax } }, |
| | 10994 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 10995 | .unused, |
| | 10996 | }, |
| | 10997 | .dst_temps = .{.mem}, |
| | 10998 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 10999 | .each = .{ .once = &.{ |
| | 11000 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 11001 | .{ .@"0:", ._dqa, .mov, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 11002 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 11003 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 11004 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| | 11005 | .{ ._, .p_d, .shuf, .tmp2x, .tmp1x, .ui(0b11_10_11_10), ._ }, |
| | 11006 | .{ ._, ._q, .mov, .tmp5q, .tmp2x, ._, ._ }, |
| | 11007 | .{ ._, ._, .mov, .tmp6q, .tmp4q, ._, ._ }, |
| | 11008 | .{ ._, ._, .@"and", .tmp6q, .memiad(.src1q, .tmp0, .add_unaligned_size, 8), ._, ._ }, |
| | 11009 | .{ ._, ._, .xor, .tmp6q, .tmp5q, ._, ._ }, |
| | 11010 | .{ ._, ._q, .mov, .tmp5q, .tmp1x, ._, ._ }, |
| | 11011 | .{ ._, ._, .cmp, .tmp5q, .si(1), ._, ._ }, |
| | 11012 | .{ ._, ._, .sbb, .tmp6q, .tmp4q, ._, ._ }, |
| | 11013 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 11014 | .{ ._, ._dqa, .mov, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 11015 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 11016 | .{ .@"1:", ._dqa, .mov, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 11017 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 11018 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 11019 | } }, |
| | 11020 | }, .{ |
| | 11021 | .required_features = .{ .@"64bit", .sse, null, null }, |
| | 11022 | .src_constraints = .{ |
| | 11023 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 11024 | .{ .multiple_scalar_float = .{ .of = .xword, .is = .xword } }, |
| | 11025 | .any, |
| | 11026 | }, |
| | 11027 | .patterns = &.{ |
| | 11028 | .{ .src = .{ .to_mem, .to_mem, .none } }, |
| | 11029 | }, |
| | 11030 | .call_frame = .{ .alignment = .@"16" }, |
| | 11031 | .extra_temps = .{ |
| | 11032 | .{ .type = .isize, .kind = .{ .rc = .general_purpose } }, |
| | 11033 | .{ .type = .f128, .kind = .{ .reg = .xmm0 } }, |
| | 11034 | .{ .type = .f128, .kind = .{ .reg = .xmm1 } }, |
| | 11035 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "fmodq" } } }, |
| | 11036 | .{ .type = .f128, .kind = .{ .reg = .rdx } }, |
| | 11037 | .{ .type = .f128, .kind = .mem }, |
| | 11038 | .{ .type = .f128, .kind = .{ .reg = .rax } }, |
| | 11039 | .{ .type = .usize, .kind = .{ .symbol = &.{ .name = "__addtf3" } } }, |
| | 11040 | .unused, |
| | 11041 | }, |
| | 11042 | .dst_temps = .{.mem}, |
| | 11043 | .clobbers = .{ .eflags = true, .caller_preserved = .ccc }, |
| | 11044 | .each = .{ .once = &.{ |
| | 11045 | .{ ._, ._, .mov, .tmp0p, .sa(.src0, .sub_unaligned_size), ._, ._ }, |
| | 11046 | .{ .@"0:", ._ps, .mova, .tmp1x, .memia(.src0x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 11047 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 11048 | .{ ._, ._, .call, .tmp3d, ._, ._, ._ }, |
| | 11049 | .{ ._, ._, .mov, .tmp4q, .ua(.src0, .add_smin), ._, ._ }, |
| | 11050 | .{ ._, ._ps, .mova, .mem(.tmp5x), .tmp1x, ._, ._ }, |
| | 11051 | .{ ._, ._, .mov, .tmp6q, .tmp4q, ._, ._ }, |
| | 11052 | .{ ._, ._, .@"and", .tmp6q, .memiad(.src1q, .tmp0, .add_unaligned_size, 8), ._, ._ }, |
| | 11053 | .{ ._, ._, .xor, .tmp6q, .memd(.tmp5q, 8), ._, ._ }, |
| | 11054 | .{ ._, ._, .cmp, .mem(.tmp5q), .si(1), ._, ._ }, |
| | 11055 | .{ ._, ._, .sbb, .tmp6q, .tmp4q, ._, ._ }, |
| | 11056 | .{ ._, ._nae, .j, .@"1f", ._, ._, ._ }, |
| | 11057 | .{ ._, ._ps, .mova, .tmp2x, .memia(.src1x, .tmp0, .add_unaligned_size), ._, ._ }, |
| | 11058 | .{ ._, ._, .call, .tmp7d, ._, ._, ._ }, |
| | 11059 | .{ .@"1:", ._ps, .mova, .memia(.dst0x, .tmp0, .add_unaligned_size), .tmp1x, ._, ._ }, |
| | 11060 | .{ ._, ._, .add, .tmp0p, .si(16), ._, ._ }, |
| | 11061 | .{ ._, ._nc, .j, .@"0b", ._, ._, ._ }, |
| | 11062 | } }, |
| | 11063 | } }) catch |err| switch (err) { |
| | 11064 | error.SelectFailed => return cg.fail("failed to select {s} {} {} {}", .{ |
| | 11065 | @tagName(air_tag), |
| | 11066 | cg.typeOf(bin_op.lhs).fmt(pt), |
| | 11067 | ops[0].tracking(cg), |
| | 11068 | ops[1].tracking(cg), |
| | 11069 | }), |
| | 11070 | else => |e| return e, |
| | 11071 | }; |
| | 11072 | try res[0].finish(inst, &.{ bin_op.lhs, bin_op.rhs }, &ops, cg); |
| | 11073 | }, |
| 8986 | .ptr_add => |air_tag| if (use_old) try cg.airPtrArithmetic(inst, air_tag) else { | 11074 | .ptr_add => |air_tag| if (use_old) try cg.airPtrArithmetic(inst, air_tag) else { |
| 8987 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; | 11075 | const ty_pl = air_datas[@intFromEnum(inst)].ty_pl; |
| 8988 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; | 11076 | const bin_op = cg.air.extraData(Air.Bin, ty_pl.payload).data; |
| ... | @@ -68831,6 +70919,7 @@ const Select = struct { | ... | @@ -68831,6 +70919,7 @@ const Select = struct { |
| 68831 | const sub_src0_elem_size_times_src1: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size_times_src1, .op = .mul, .rhs = .@"1" }; | 70919 | const sub_src0_elem_size_times_src1: Adjust = .{ .sign = .neg, .lhs = .src0_elem_size_times_src1, .op = .mul, .rhs = .@"1" }; |
| 68832 | const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" }; | 70920 | const add_log2_src0_elem_size: Adjust = .{ .sign = .pos, .lhs = .log2_src0_elem_size, .op = .mul, .rhs = .@"1" }; |
| 68833 | const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" }; | 70921 | const add_elem_limbs: Adjust = .{ .sign = .pos, .lhs = .elem_limbs, .op = .mul, .rhs = .@"1" }; |
| | 70922 | const add_smin: Adjust = .{ .sign = .pos, .lhs = .smin, .op = .mul, .rhs = .@"1" }; |
| 68834 | const add_umax: Adjust = .{ .sign = .pos, .lhs = .umax, .op = .mul, .rhs = .@"1" }; | 70923 | const add_umax: Adjust = .{ .sign = .pos, .lhs = .umax, .op = .mul, .rhs = .@"1" }; |
| 68835 | }; | 70924 | }; |
| 68836 | const Ref = enum(u4) { | 70925 | const Ref = enum(u4) { |