> -----Original Message-----
> From: Richard Henderson <[email protected]>
> Sent: Monday, February 27, 2023 3:01 PM
> To: Taylor Simpson <[email protected]>; [email protected]
> Cc: [email protected]; [email protected]; qemu-
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]
> Subject: Re: [PATCH 19/70] target/hexagon/idef-parser: Use gen_constant
> for gen_extend_tcg_width_op
> 
> 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.

I see.

Reviewed-by: Taylor Simpson <[email protected]>

Reply via email to