[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/6] target/mips: MXU: Improve textual descripti
From: |
Stefan Markovic |
Subject: |
Re: [Qemu-devel] [PATCH 3/6] target/mips: MXU: Improve textual description |
Date: |
Tue, 18 Dec 2018 14:30:26 +0000 |
On 17.12.18. 21:04, Aleksandar Markovic wrote:
> From: Aleksandar Markovic <address@hidden>
>
> Improve textual description of MXU extension. These are mostly
> comment formatting changes.
>
> Signed-off-by: Aleksandar Markovic <address@hidden>
> ---
> target/mips/translate.c | 74 ++++++++++++++++++++++++-----------------
> 1 file changed, 44 insertions(+), 30 deletions(-)
Reviewed-by: Stefan Markovic <address@hidden>
> diff --git a/target/mips/translate.c b/target/mips/translate.c
> index 74d16ce52e..e3a5a73e59 100644
> --- a/target/mips/translate.c
> +++ b/target/mips/translate.c
> @@ -1399,10 +1399,12 @@ enum {
>
>
> /*
> - * AN OVERVIEW OF MXU EXTENSION INSTRUCTION SET
> - * ============================================
> *
> - * MXU (full name: MIPS eXtension/enhanced Unit) is an SIMD extension of
> MIPS32
> + * AN OVERVIEW OF MXU EXTENSION INSTRUCTION SET
> + * ============================================
> + *
> + *
> + * MXU (full name: MIPS eXtension/enhanced Unit) is a SIMD extension of
> MIPS32
> * instructions set. It is designed to fit the needs of signal, graphical
> and
> * video processing applications. MXU instruction set is used in Xburst
> family
> * of microprocessors by Ingenic.
> @@ -1410,39 +1412,31 @@ enum {
> * MXU unit contains 17 registers called X0-X16. X0 is always zero, and X16
> is
> * the control register.
> *
> - * The notation used in MXU assembler mnemonics
> - * --------------------------------------------
> *
> - * Registers:
> + * The notation used in MXU assembler mnemonics
> + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> + *
> + * Register operands:
> *
> * XRa, XRb, XRc, XRd - MXU registers
> * Rb, Rc, Rd, Rs, Rt - general purpose MIPS registers
> *
> - * Subfields:
> + * Non-register operands:
> *
> - * aptn1 - 1-bit accumulate add/subtract pattern
> - * aptn2 - 2-bit accumulate add/subtract pattern
> - * eptn2 - 2-bit execute add/subtract pattern
> - * optn2 - 2-bit operand pattern
> - * optn3 - 3-bit operand pattern
> - * sft4 - 4-bit shift amount
> - * strd2 - 2-bit stride amount
> + * aptn1 - 1-bit accumulate add/subtract pattern
> + * aptn2 - 2-bit accumulate add/subtract pattern
> + * eptn2 - 2-bit execute add/subtract pattern
> + * optn2 - 2-bit operand pattern
> + * optn3 - 3-bit operand pattern
> + * sft4 - 4-bit shift amount
> + * strd2 - 2-bit stride amount
> *
> * Prefixes:
> *
> - * <Operation parallel level><Operand size>
> - * S 32
> - * D 16
> - * Q 8
> - *
> - * Suffixes:
> - *
> - * E - Expand results
> - * F - Fixed point multiplication
> - * L - Low part result
> - * R - Doing rounding
> - * V - Variable instead of immediate
> - * W - Combine above L and V
> + * Level of parallelism: Operand size:
> + * S - single operation at a time 32 - word
> + * D - two operations in parallel 16 - half word
> + * Q - four operations in parallel 8 - byte
> *
> * Operations:
> *
> @@ -1486,6 +1480,19 @@ enum {
> * SCOP - Calculate x’s scope (-1, means x<0; 0, means x==0; 1, means
> x>0)
> * XOR - Logical bitwise 'exclusive or' operation
> *
> + * Suffixes:
> + *
> + * E - Expand results
> + * F - Fixed point multiplication
> + * L - Low part result
> + * R - Doing rounding
> + * V - Variable instead of immediate
> + * W - Combine above L and V
> + *
> + *
> + * The list of MXU instructions grouped by functionality
> + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> + *
> * Load/Store instructions Multiplication instructions
> * ----------------------- ---------------------------
> *
> @@ -1563,6 +1570,13 @@ enum {
> * Q16SAT XRa, XRb, XRc S32I2M XRa, Rb
> *
> *
> + * The opcode organization of MXU instructions
> + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> + *
> + * The bits 31..26 of all MXU instructions are equal to 0x1C (also referred
> + * as opcode SPECIAL2 in the base MIPS ISA). The organization and meaning of
> + * other bits up to the instruction level is as follows:
> + *
> * bits
> * 05..00
> *
> @@ -1700,7 +1714,7 @@ enum {
> * │ ├─ 010 ─ OPC_MXU_D16MOVZ
> * │ ├─ 011 ─ OPC_MXU_D16MOVN
> * │ ├─ 100 ─ OPC_MXU_S32MOVZ
> - * │ └─ 101 ─ OPC_MXU_S32MOV
> + * │ └─ 101 ─ OPC_MXU_S32MOVN
> * │
> * │ 23..22
> * ├─ 111010 ─ OPC_MXU__POOL21 ─┬─ 00 ─ OPC_MXU_Q8MAC
> @@ -1712,10 +1726,10 @@ enum {
> * └─ 111111 ─ <not assigned> (overlaps with SDBBP)
> *
> *
> - * Compiled after:
> + * Compiled after:
> *
> * "XBurst® Instruction Set Architecture MIPS eXtension/enhanced Unit
> - * Programming Manual", Ingenic Semiconductor Co, Ltd., 2017
> + * Programming Manual", Ingenic Semiconductor Co, Ltd., revision June 2,
> 2017
> */
>
> enum {
- [Qemu-devel] [PATCH 0/6] target/mips: Amend MXU support, Aleksandar Markovic, 2018/12/17
- [Qemu-devel] [PATCH 3/6] target/mips: MXU: Improve textual description, Aleksandar Markovic, 2018/12/17
- Re: [Qemu-devel] [PATCH 3/6] target/mips: MXU: Improve textual description,
Stefan Markovic <=
- [Qemu-devel] [PATCH 6/6] target/mips: MXU: Add handlers for an align instruction, Aleksandar Markovic, 2018/12/17
- [Qemu-devel] [PATCH 4/6] target/mips: MXU: Add handlers for logic instructions, Aleksandar Markovic, 2018/12/17
- [Qemu-devel] [PATCH 2/6] target/mips: MXU: Add generic naming for optn2 constants, Aleksandar Markovic, 2018/12/17
- [Qemu-devel] [PATCH 1/6] target/mips: MXU: Add missing opcodes/decoding for LX* instructions, Aleksandar Markovic, 2018/12/17