On 2/27/23 11:55, Taylor Simpson wrote:
- HexValue mask = gen_tmp_value(c, locp, mask_str, - dst_width, UNSIGNED); + HexValue mask = gen_constant(c, locp, "-1", dst_width, + UNSIGNED); OUT(c, locp, "tcg_gen_shr_i", &dst_width, "(", - &mask, ", ", &mask, ", ", &shift, ");\n"); + &res, ", ", &mask, ", ", &shift, ");\n"); OUT(c, locp, "tcg_gen_and_i", &dst_width, "(", - &res, ", ", value, ", ", &mask, ");\n"); + &res, ", ", &res, ", ", value, ");\n");What's the advantage of putting the result of the tcg_gen_shr into res instead of mask? Is there something in TCG code generation that takes advantage?
With this patch, mask is read-only, so a write to it is illegal. r~