[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [PATCH v6 09/12] target/hexagon: import parser for idef-parser
From: |
Taylor Simpson |
Subject: |
RE: [PATCH v6 09/12] target/hexagon: import parser for idef-parser |
Date: |
Thu, 28 Oct 2021 15:56:42 +0000 |
> From: Anton Johansson <anjo@rev.ng>
> Sent: Monday, October 18, 2021 6:42 AM
> To: Taylor Simpson <tsimpson@quicinc.com>; Alessandro Di Federico
> <ale.qemu@rev.ng>; qemu-devel@nongnu.org
> Cc: Brian Cain <bcain@quicinc.com>; babush@rev.ng; nizzo@rev.ng;
> richard.henderson@linaro.org; Alessandro Di Federico <ale@rev.ng>
> Subject: Re: [PATCH v6 09/12] target/hexagon: import parser for idef-parser
>
> On 9/7/21 18:08, Taylor Simpson wrote:
> +HexValue gen_round(Context *c,
> + YYLTYPE *locp,
> + HexValue *source,
> + HexValue *position) {
> + yyassert(c, locp, source->bit_width <= 32,
> + "fRNDN not implemented for bit widths > 32!");
> +
> + HexValue src = *source;
> + HexValue pos = *position;
> +
> + HexValue src_width = gen_imm_value(c, locp, src.bit_width, 32);
> + HexValue dst_width = gen_imm_value(c, locp, 64, 32);
> + HexValue a = gen_extend_op(c, locp, &src_width, &dst_width, &src,
> SIGNED);
> Are you sure extending is the right thing to do here?
> I believe so, the fRNDN definition in macros.h also extends here
> #define fRNDN(A, N) ((((N) == 0) ? (A) : (((fSE32_64(A)) + (1 << ((N) -
> 1))))))
OK
Thanks,
Taylor