[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/8] target/ppc: Make divw[u] handler method decodetree compa
From: |
Chinmay Rath |
Subject: |
Re: [PATCH 2/8] target/ppc: Make divw[u] handler method decodetree compatible. |
Date: |
Fri, 19 Apr 2024 14:47:39 +0530 |
User-agent: |
Mozilla Thunderbird |
Hi Richard,
On 4/16/24 23:27, Richard Henderson wrote:
On 4/15/24 23:39, Chinmay Rath wrote:
The handler methods for divw[u] instructions internally use
Rc(ctx->opcode),
for extraction of Rc field of instructions, which poses a problem if
we move
the above said instructions to decodetree, as the ctx->opcode field
is not
popluated in decodetree. Hence, making it decodetree compatible, so
that the
mentioned insns can be safely move to decodetree specs.
Signed-off-by: Chinmay Rath<rathc@linux.ibm.com>
---
target/ppc/translate.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Thank you.
+static inline void gen_op_arith_divw(DisasContext *ctx, TCGv ret,
+ TCGv arg1, TCGv arg2, bool sign,
+ bool compute_ov, bool compute_rc0)
Could drop the inline at the same time.
Let the compiler decide.
I kept inline as is, as there are multiple gen_op_* routines with inline and
if necessary we could consider removing inline for all of them together
in a separate patch :
grep inline target/ppc/translate.c | grep gen_op
static inline void gen_op_cmp(TCGv arg0, TCGv arg1, int s, int crf)
static inline void gen_op_cmpi(TCGv arg0, target_ulong arg1, int s, int crf)
static inline void gen_op_cmp32(TCGv arg0, TCGv arg1, int s, int crf)
static inline void gen_op_cmpi32(TCGv arg0, target_ulong arg1, int s,
int crf)
static inline void gen_op_arith_compute_ov(DisasContext *ctx, TCGv arg0,
static inline void gen_op_arith_compute_ca32(DisasContext *ctx,
static inline void gen_op_arith_add(DisasContext *ctx, TCGv ret, TCGv arg1,
static inline void gen_op_arith_divw(DisasContext *ctx, TCGv ret,
static inline void gen_op_arith_divd(DisasContext *ctx, TCGv ret,
static inline void gen_op_arith_modw(DisasContext *ctx, TCGv ret, TCGv arg1,
static inline void gen_op_arith_modd(DisasContext *ctx, TCGv ret, TCGv arg1,
static inline void gen_op_arith_subf(DisasContext *ctx, TCGv ret, TCGv arg1,
static inline void gen_op_mfspr(DisasContext *ctx)
Thanks,
Chinmay
r~
- [PATCH 0/8] target/ppc: Move fixed-point insns to decodetree., Chinmay Rath, 2024/04/16
- [PATCH 1/8] target/ppc: Move mul{li, lw, lwo, hw, hwu} instructions to decodetree., Chinmay Rath, 2024/04/16
- [PATCH 2/8] target/ppc: Make divw[u] handler method decodetree compatible., Chinmay Rath, 2024/04/16
- [PATCH 3/8] target/ppc: Move divw[u, e, eu] instructions to decodetree., Chinmay Rath, 2024/04/16
- [PATCH 4/8] target/ppc: Move neg, darn, mod{sw, uw} to decodetree., Chinmay Rath, 2024/04/16
- [PATCH 5/8] target/ppc: Move multiply fixed-point insns (64-bit operands) to decodetree., Chinmay Rath, 2024/04/16