From: Chinmay Rath <rathc@linux.vnet.ibm.com>
To: Richard Henderson <richard.henderson@linaro.org>,
Chinmay Rath <rathc@linux.ibm.com>,
qemu-ppc@nongnu.org
Cc: qemu-devel@nongnu.org, npiggin@gmail.com, danielhb413@gmail.com,
harshpb@linux.ibm.com
Subject: Re: [PATCH 3/4] target/ppc: Move VSX vector storage access insns to decodetree.
Date: Sun, 9 Jun 2024 23:55:08 +0530 [thread overview]
Message-ID: <ff22f709-0c3d-4cf7-b88c-18adde978af1@linux.vnet.ibm.com> (raw)
In-Reply-To: <28ea359e-fdbf-4a4f-b004-19e558d8d96f@linaro.org>
Hi Richard,
On 6/7/24 21:16, Richard Henderson wrote:
> On 6/7/24 07:49, Chinmay Rath wrote:
>> Moving the following instructions to decodetree specification:
>>
>> lxv{b16, d2, h8, w4, ds, ws}x : X-form
>> stxv{b16, d2, h8, w4}x : X-form
>>
>> The changes were verified by validating that the tcg-ops generated
>> for those
>> instructions remain the same, which were captured using the '-d
>> in_asm,op' flag.
>>
>> Signed-off-by: Chinmay Rath <rathc@linux.ibm.com>
>> ---
>> target/ppc/insn32.decode | 10 ++
>> target/ppc/translate/vsx-impl.c.inc | 199 ++++++++++++----------------
>> target/ppc/translate/vsx-ops.c.inc | 12 --
>> 3 files changed, 97 insertions(+), 124 deletions(-)
>
> Because the ops are identical,
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>
> But you really should update these to use tcg_gen_qemu_ld/st_i128 with
> the proper atomicity flags. This will fix an existing bug...
>
^ Surely Richard, I have noted this suggestion of yours from an earlier
patch, and plan to do this change and implement a few of your other
suggestions,
which I couldn't implement earlier, along with some clean-ups this
week.
I refrained from doing it with the decodetree movement, to take
proper time to understand and test.
Should send out those patches soon.
Thanks & Regards,
Chinmay
>> +static bool trans_LXVD2X(DisasContext *ctx, arg_LXVD2X *a)
>> {
>> TCGv EA;
>> TCGv_i64 t0;
>> +
>> + REQUIRE_VSX(ctx);
>> + REQUIRE_INSNS_FLAGS2(ctx, VSX);
>> +
>> t0 = tcg_temp_new_i64();
>> gen_set_access_type(ctx, ACCESS_INT);
>> + EA = do_ea_calc(ctx, a->ra, cpu_gpr[a->rb]);
>> gen_qemu_ld64_i64(ctx, t0, EA);
>> + set_cpu_vsr(a->rt, t0, true);
>
> where the vector register is partially modified ...
>
>> tcg_gen_addi_tl(EA, EA, 8);
>> gen_qemu_ld64_i64(ctx, t0, EA);
>
> before a fault from the second load is recognized.
> Similarly for stores leaving memory partially modified.
>
>
> r~
>
>
next prev parent reply other threads:[~2024-06-09 18:25 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-07 14:49 [PATCH 0/4] target/ppc: Move VSX storage access and compare Chinmay Rath
2024-06-07 14:49 ` [PATCH 1/4] target/ppc: Moving VSX scalar storage access insns to decodetree Chinmay Rath
2024-06-07 15:42 ` Richard Henderson
2024-06-07 14:49 ` [PATCH 2/4] target/ppc: Move VSX vector with length " Chinmay Rath
2024-06-07 15:41 ` Richard Henderson
2024-06-09 18:11 ` Chinmay Rath
2024-06-09 18:20 ` Richard Henderson
2024-06-07 14:49 ` [PATCH 3/4] target/ppc: Move VSX vector " Chinmay Rath
2024-06-07 15:46 ` Richard Henderson
2024-06-09 18:25 ` Chinmay Rath [this message]
2024-06-09 18:36 ` Chinmay Rath
2024-06-07 14:49 ` [PATCH 4/4] target/ppc: Move VSX fp compare " Chinmay Rath
2024-06-07 15:55 ` Richard Henderson
2024-06-09 18:26 ` Chinmay Rath
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ff22f709-0c3d-4cf7-b88c-18adde978af1@linux.vnet.ibm.com \
--to=rathc@linux.vnet.ibm.com \
--cc=danielhb413@gmail.com \
--cc=harshpb@linux.ibm.com \
--cc=npiggin@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=rathc@linux.ibm.com \
--cc=richard.henderson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.