From: Aurelien Jarno <aurelien@aurel32.net>
To: James Hogan <james.hogan@imgtec.com>
Cc: Leon Alrae <leon.alrae@imgtec.com>,
qemu-devel@nongnu.org, Richard Henderson <rth@twiddle.net>
Subject: Re: [Qemu-devel] [PATCH v3 5/6] tcg/mips: Support r6 multiply/divide encodings
Date: Thu, 8 Oct 2015 18:19:46 +0200 [thread overview]
Message-ID: <20151008161946.GA7421@aurel32.net> (raw)
In-Reply-To: <1443788657-14537-6-git-send-email-james.hogan@imgtec.com>
On 2015-10-02 13:24, James Hogan wrote:
> MIPSr6 adds several new integer multiply, divide, and modulo
> instructions, and removes several pre-r6 encodings, along with the HI/LO
> registers which were the implicit operands of some of those
> instructions. Update TCG to use the new instructions when built for r6.
>
> The new instructions actually map much more directly to the TCG ops, as
> they only provide a single 32-bit half of the result and in a normal
> general purpose register instead of HI or LO.
>
> The mulu2_i32 and muls2_i32 operations are no longer appropriate for r6,
> so they are removed from the TCG opcode table. This is because they
> would need to emit two separate host instructions anyway (for the high
> and low half of the result), which TCG can arrange automatically for us
> in the absense of mulu2_i32/muls2_i32 by splitting it into mul_i32 and
> mul*h_i32 TCG ops.
>
> Signed-off-by: James Hogan <james.hogan@imgtec.com>
> Reviewed-by: Richard Henderson <rth@twiddle.net>
> Cc: Aurelien Jarno <aurelien@aurel32.net>
> ---
> Changes in v2:
> - Use a common OPC_MUL definition. use_mips32_instructions will always
> be 1 for MIPS r6 builds (Richard)
> ---
> tcg/mips/tcg-target.c | 42 +++++++++++++++++++++++++++++++++++++++++-
> tcg/mips/tcg-target.h | 4 ++--
> 2 files changed, 43 insertions(+), 3 deletions(-)
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
--
Aurelien Jarno GPG: 4096R/1DDD8C9B
aurelien@aurel32.net http://www.aurel32.net
next prev parent reply other threads:[~2015-10-08 17:01 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-02 12:24 [Qemu-devel] [PATCH v3 0/6] tcg/mips: Minimal R6 support James Hogan
2015-10-02 12:24 ` [Qemu-devel] [PATCH v3 1/6] tcg-opc.h: Simplify debug_insn_start def James Hogan
2015-10-08 16:12 ` Aurelien Jarno
2015-10-02 12:24 ` [Qemu-devel] [PATCH v3 2/6] disas/mips: Add R6 jr/jr.hb to disassembler James Hogan
2015-10-08 16:12 ` Aurelien Jarno
2015-10-02 12:24 ` [Qemu-devel] [PATCH v3 3/6] tcg/mips: Add use_mips32r6_instructions definition James Hogan
2015-10-08 16:12 ` Aurelien Jarno
2015-10-02 12:24 ` [Qemu-devel] [PATCH v3 4/6] tcg/mips: Support r6 JR encoding James Hogan
2015-10-08 16:15 ` Aurelien Jarno
2015-10-02 12:24 ` [Qemu-devel] [PATCH v3 5/6] tcg/mips: Support r6 multiply/divide encodings James Hogan
2015-10-08 16:19 ` Aurelien Jarno [this message]
2015-10-02 12:24 ` [Qemu-devel] [PATCH v3 6/6] tcg/mips: Support r6 SEL{NE, EQ}Z instead of MOVN/MOVZ James Hogan
2015-10-07 9:46 ` Richard Henderson
2015-10-07 10:34 ` James Hogan
2015-10-07 19:54 ` Richard Henderson
2015-10-07 11:47 ` Leon Alrae
2015-10-08 16:32 ` Aurelien Jarno
2015-10-08 16:31 ` Aurelien Jarno
2015-10-09 21:26 ` James Hogan
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=20151008161946.GA7421@aurel32.net \
--to=aurelien@aurel32.net \
--cc=james.hogan@imgtec.com \
--cc=leon.alrae@imgtec.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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.