On 9/30/26 01:42, Matt Turner wrote:
+void tcg_gen_muls2(TCGType type, TCGTemp *rl, TCGTemp *rh,
+ TCGTemp *src1, TCGTemp *src2)
+{
+ if (tcg_op_supported(INDEX_op_muls2, type, 0)) {
+ tcg_gen_op_tttt(INDEX_op_muls2, type, rl, rh, src1, src2);
+ } else if (tcg_op_supported(INDEX_op_mulsh, TCG_TYPE_I32, 0)) {
+ g_autoptr(TCGTemp) t = tcg_temp_new_ebb(type);
+
+ tcg_gen_mul(type, t, src1, src2);
+ tcg_gen_op_ttt(INDEX_op_mulsh, type, rh, src1, src2);
+ tcg_gen_mov(type, rl, t);
+ } else if (type == TCG_TYPE_I32) {
+ g_autoptr(TCGTemp) t0 = tcg_temp_new_ebb(type);
+ g_autoptr(TCGTemp) t1 = tcg_temp_new_ebb(type);
... and these need to be TCG_TYPE_I64 I think?
Good eyes.
While we still officially support hosts that require this path, I don't
have one for testing. :-/
r~