target/ppc: Implement prefixed integer store instructions
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br> Message-Id: <20210601193528.2533031-10-matheus.ferst@eldorado.org.br> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
e8f4c8d6aa
commit
b0f7bebc6d
|
@ -39,6 +39,18 @@ PLWA 000001 00 0--.-- .................. \
|
||||||
PLD 000001 00 0--.-- .................. \
|
PLD 000001 00 0--.-- .................. \
|
||||||
111001 ..... ..... ................ @PLS_D
|
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
|
### Fixed-Point Arithmetic Instructions
|
||||||
|
|
||||||
PADDI 000001 10 0--.-- .................. \
|
PADDI 000001 10 0--.-- .................. \
|
||||||
|
|
|
@ -142,24 +142,28 @@ TRANS(STB, do_ldst_D, false, true, MO_UB)
|
||||||
TRANS(STBX, do_ldst_X, false, true, MO_UB)
|
TRANS(STBX, do_ldst_X, false, true, MO_UB)
|
||||||
TRANS(STBU, do_ldst_D, true, true, MO_UB)
|
TRANS(STBU, do_ldst_D, true, true, MO_UB)
|
||||||
TRANS(STBUX, do_ldst_X, 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 */
|
/* Store Halfword */
|
||||||
TRANS(STH, do_ldst_D, false, true, MO_UW)
|
TRANS(STH, do_ldst_D, false, true, MO_UW)
|
||||||
TRANS(STHX, do_ldst_X, false, true, MO_UW)
|
TRANS(STHX, do_ldst_X, false, true, MO_UW)
|
||||||
TRANS(STHU, do_ldst_D, true, true, MO_UW)
|
TRANS(STHU, do_ldst_D, true, true, MO_UW)
|
||||||
TRANS(STHUX, do_ldst_X, 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 */
|
/* Store Word */
|
||||||
TRANS(STW, do_ldst_D, false, true, MO_UL)
|
TRANS(STW, do_ldst_D, false, true, MO_UL)
|
||||||
TRANS(STWX, do_ldst_X, false, true, MO_UL)
|
TRANS(STWX, do_ldst_X, false, true, MO_UL)
|
||||||
TRANS(STWU, do_ldst_D, true, true, MO_UL)
|
TRANS(STWU, do_ldst_D, true, true, MO_UL)
|
||||||
TRANS(STWUX, do_ldst_X, 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 */
|
/* Store Doubleword */
|
||||||
TRANS64(STD, do_ldst_D, false, true, MO_Q)
|
TRANS64(STD, do_ldst_D, false, true, MO_Q)
|
||||||
TRANS64(STDX, do_ldst_X, false, true, MO_Q)
|
TRANS64(STDX, do_ldst_X, false, true, MO_Q)
|
||||||
TRANS64(STDU, do_ldst_D, true, true, MO_Q)
|
TRANS64(STDU, do_ldst_D, true, true, MO_Q)
|
||||||
TRANS64(STDUX, do_ldst_X, 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
|
* Fixed-Point Arithmetic Instructions
|
||||||
|
|
Loading…
Reference in a new issue