From: Richard Henderson <richard.henderson@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm <qemu-arm@nongnu.org>, QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH 2/2] target/arm: Use tcg_gen_gvec_bitsel
Date: Thu, 23 May 2019 09:02:30 -0400 [thread overview]
Message-ID: <e177b43a-2abc-3aee-461c-2cfd9a8a0a20@linaro.org> (raw)
In-Reply-To: <CAFEAcA88nA_2u1Yc-9ZPAy2w6LVk5f9Rrss0e53E11W4Xb4YpA@mail.gmail.com>
On 5/23/19 8:46 AM, Peter Maydell wrote:
> On Sat, 18 May 2019 at 20:19, Richard Henderson
> <richard.henderson@linaro.org> wrote:
>>
>> This replaces 3 target-specific implementations for BIT, BIF, and BSL.
>>
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>> @@ -10916,13 +10925,13 @@ static void disas_simd_3same_logic(DisasContext *s, uint32_t insn)
>> return;
>>
>> case 5: /* BSL bitwise select */
>> - gen_gvec_op3(s, is_q, rd, rn, rm, &bsl_op);
>> + gen_gvec_fn4(s, is_q, rd, rd, rn, rm, tcg_gen_gvec_bitsel, 0);
>> return;
>> case 6: /* BIT, bitwise insert if true */
>> - gen_gvec_op3(s, is_q, rd, rn, rm, &bit_op);
>> + gen_gvec_fn4(s, is_q, rd, rm, rn, rd, tcg_gen_gvec_bitsel, 0);
>> return;
>> case 7: /* BIF, bitwise insert if false */
>> - gen_gvec_op3(s, is_q, rd, rn, rm, &bif_op);
>> + gen_gvec_fn4(s, is_q, rd, rm, rd, rn, tcg_gen_gvec_bitsel, 0);
>> return;
>
> We were previously doing different operations for these three
> different instructions. Now we seem to always be doing the same
> thing but with randomly reshuffled register arguments. How
> does this work ?
Because the three different instructions perform the same operation with
reshuffled register arguments.
I'm not sure why we were using different operations in the beginning. Possibly
because those formulations do not require a temporary? Possibly that's how
they're written in the ARM ARM pseudocode?
r~
next prev parent reply other threads:[~2019-05-23 13:18 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-18 19:19 [Qemu-devel] [PATCH 0/2] target/arm: make use of new gvec expanders Richard Henderson
2019-05-18 19:19 ` [Qemu-devel] [PATCH 1/2] target/arm: Vectorize USHL and SSHL Richard Henderson
2019-05-23 12:44 ` Peter Maydell
2019-05-23 13:03 ` Peter Maydell
2019-06-03 17:23 ` Richard Henderson
2019-05-18 19:19 ` [Qemu-devel] [PATCH 2/2] target/arm: Use tcg_gen_gvec_bitsel Richard Henderson
2019-05-23 12:46 ` Peter Maydell
2019-05-23 13:02 ` Richard Henderson [this message]
2019-05-23 13:08 ` Peter Maydell
2019-05-23 13:16 ` Richard Henderson
2019-05-23 13:30 ` Peter Maydell
2019-06-03 18:15 ` Richard Henderson
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=e177b43a-2abc-3aee-461c-2cfd9a8a0a20@linaro.org \
--to=richard.henderson@linaro.org \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).