diff mbox series

[v5,18/23] target/ppc: Implement prefixed integer store instructions

Message ID 20210517205025.3777947-19-matheus.ferst@eldorado.org.br
State Superseded
Headers show
Series [v5,01/23] target/ppc: Introduce gen_icount_io_start | expand

Commit Message

Matheus K. Ferst May 17, 2021, 8:50 p.m. UTC
From: Richard Henderson <richard.henderson@linaro.org>


Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>

---
 target/ppc/insn64.decode                   | 12 ++++++++++++
 target/ppc/translate/fixedpoint-impl.c.inc |  4 ++++
 2 files changed, 16 insertions(+)

-- 
2.25.1

Comments

David Gibson May 18, 2021, 12:47 a.m. UTC | #1
On Mon, May 17, 2021 at 05:50:20PM -0300, matheus.ferst@eldorado.org.br wrote:
> From: Richard Henderson <richard.henderson@linaro.org>

> 

> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>


Applied to ppc-for-6.1, thanks.

> ---

>  target/ppc/insn64.decode                   | 12 ++++++++++++

>  target/ppc/translate/fixedpoint-impl.c.inc |  4 ++++

>  2 files changed, 16 insertions(+)

> 

> diff --git a/target/ppc/insn64.decode b/target/ppc/insn64.decode

> index 547bd1736f..72c5944a53 100644

> --- a/target/ppc/insn64.decode

> +++ b/target/ppc/insn64.decode

> @@ -39,6 +39,18 @@ PLWA            000001 00 0--.-- .................. \

>  PLD             000001 00 0--.-- .................. \

>                  111001 ..... ..... ................     @PLS_D

>  

> +### Fixed-Point Store Instructions

> +

> +PSTW            000001 10 0--.-- .................. \

> +                100100 ..... ..... ................     @PLS_D

> +PSTB            000001 10 0--.-- .................. \

> +                100110 ..... ..... ................     @PLS_D

> +PSTH            000001 10 0--.-- .................. \

> +                101100 ..... ..... ................     @PLS_D

> +

> +PSTD            000001 00 0--.-- .................. \

> +                111101 ..... ..... ................     @PLS_D

> +

>  ### Fixed-Point Arithmetic Instructions

>  

>  PADDI           000001 10 0--.-- ..................     \

> diff --git a/target/ppc/translate/fixedpoint-impl.c.inc b/target/ppc/translate/fixedpoint-impl.c.inc

> index adeee33289..2d2d874146 100644

> --- a/target/ppc/translate/fixedpoint-impl.c.inc

> +++ b/target/ppc/translate/fixedpoint-impl.c.inc

> @@ -142,24 +142,28 @@ TRANS(STB, do_ldst_D, false, true, MO_UB)

>  TRANS(STBX, do_ldst_X, false, true, MO_UB)

>  TRANS(STBU, do_ldst_D, true, true, MO_UB)

>  TRANS(STBUX, do_ldst_X, true, true, MO_UB)

> +TRANS(PSTB, do_ldst_PLS_D, false, true, MO_UB)

>  

>  /* Store Halfword */

>  TRANS(STH, do_ldst_D, false, true, MO_UW)

>  TRANS(STHX, do_ldst_X, false, true, MO_UW)

>  TRANS(STHU, do_ldst_D, true, true, MO_UW)

>  TRANS(STHUX, do_ldst_X, true, true, MO_UW)

> +TRANS(PSTH, do_ldst_PLS_D, false, true, MO_UW)

>  

>  /* Store Word */

>  TRANS(STW, do_ldst_D, false, true, MO_UL)

>  TRANS(STWX, do_ldst_X, false, true, MO_UL)

>  TRANS(STWU, do_ldst_D, true, true, MO_UL)

>  TRANS(STWUX, do_ldst_X, true, true, MO_UL)

> +TRANS(PSTW, do_ldst_PLS_D, false, true, MO_UL)

>  

>  /* Store Doubleword */

>  TRANS64(STD, do_ldst_D, false, true, MO_Q)

>  TRANS64(STDX, do_ldst_X, false, true, MO_Q)

>  TRANS64(STDU, do_ldst_D, true, true, MO_Q)

>  TRANS64(STDUX, do_ldst_X, true, true, MO_Q)

> +TRANS64(PSTD, do_ldst_PLS_D, false, true, MO_Q)

>  

>  /*

>   * Fixed-Point Arithmetic Instructions


-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
diff mbox series

Patch

diff --git a/target/ppc/insn64.decode b/target/ppc/insn64.decode
index 547bd1736f..72c5944a53 100644
--- a/target/ppc/insn64.decode
+++ b/target/ppc/insn64.decode
@@ -39,6 +39,18 @@  PLWA            000001 00 0--.-- .................. \
 PLD             000001 00 0--.-- .................. \
                 111001 ..... ..... ................     @PLS_D
 
+### Fixed-Point Store Instructions
+
+PSTW            000001 10 0--.-- .................. \
+                100100 ..... ..... ................     @PLS_D
+PSTB            000001 10 0--.-- .................. \
+                100110 ..... ..... ................     @PLS_D
+PSTH            000001 10 0--.-- .................. \
+                101100 ..... ..... ................     @PLS_D
+
+PSTD            000001 00 0--.-- .................. \
+                111101 ..... ..... ................     @PLS_D
+
 ### Fixed-Point Arithmetic Instructions
 
 PADDI           000001 10 0--.-- ..................     \
diff --git a/target/ppc/translate/fixedpoint-impl.c.inc b/target/ppc/translate/fixedpoint-impl.c.inc
index adeee33289..2d2d874146 100644
--- a/target/ppc/translate/fixedpoint-impl.c.inc
+++ b/target/ppc/translate/fixedpoint-impl.c.inc
@@ -142,24 +142,28 @@  TRANS(STB, do_ldst_D, false, true, MO_UB)
 TRANS(STBX, do_ldst_X, false, true, MO_UB)
 TRANS(STBU, do_ldst_D, true, true, MO_UB)
 TRANS(STBUX, do_ldst_X, true, true, MO_UB)
+TRANS(PSTB, do_ldst_PLS_D, false, true, MO_UB)
 
 /* Store Halfword */
 TRANS(STH, do_ldst_D, false, true, MO_UW)
 TRANS(STHX, do_ldst_X, false, true, MO_UW)
 TRANS(STHU, do_ldst_D, true, true, MO_UW)
 TRANS(STHUX, do_ldst_X, true, true, MO_UW)
+TRANS(PSTH, do_ldst_PLS_D, false, true, MO_UW)
 
 /* Store Word */
 TRANS(STW, do_ldst_D, false, true, MO_UL)
 TRANS(STWX, do_ldst_X, false, true, MO_UL)
 TRANS(STWU, do_ldst_D, true, true, MO_UL)
 TRANS(STWUX, do_ldst_X, true, true, MO_UL)
+TRANS(PSTW, do_ldst_PLS_D, false, true, MO_UL)
 
 /* Store Doubleword */
 TRANS64(STD, do_ldst_D, false, true, MO_Q)
 TRANS64(STDX, do_ldst_X, false, true, MO_Q)
 TRANS64(STDU, do_ldst_D, true, true, MO_Q)
 TRANS64(STDUX, do_ldst_X, true, true, MO_Q)
+TRANS64(PSTD, do_ldst_PLS_D, false, true, MO_Q)
 
 /*
  * Fixed-Point Arithmetic Instructions