Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- target/ppc/insn32.decode | 2 ++ target/ppc/insn64.decode | 11 +++++++++++ target/ppc/translate/fixedpoint-impl.c.inc | 5 +++++ 3 files changed, 18 insertions(+)
diff --git a/target/ppc/insn32.decode b/target/ppc/insn32.decode index 52d9b355d4..2ed25c7e67 100644 --- a/target/ppc/insn32.decode +++ b/target/ppc/insn32.decode @@ -17,6 +17,8 @@ # License along with this library; if not, see <http://www.gnu.org/licenses/>. # +&empty + &D rt ra si @D ...... rt:5 ra:5 si:s16 &D diff --git a/target/ppc/insn64.decode b/target/ppc/insn64.decode index f4272df724..5a82ce375e 100644 --- a/target/ppc/insn64.decode +++ b/target/ppc/insn64.decode @@ -20,6 +20,8 @@ # Many all of these instruction names would be prefixed by "P", # but we share code with the non-prefixed instruction. +&empty !extern + # Format MLS:D and 8LS:D &PLS_D rt ra si:int64_t r:bool !extern %pls_si 32:s18 0:16 @@ -31,3 +33,12 @@ ADDI 000001 10 0--.-- .................. \ 001110 ..... ..... ................ @PLS_D + +### Prefixed No-operation Instruction + +# TODO: diagnose the set of patterns that are illegal: +# branches, rfebb, sync other than isync, or a service processor attention. +# The Engineering Note allows us to either diagnose these as illegal, +# or treat them all as no-op. +NOP 000001 11 0000-- 000000000000000000 \ + -------------------------------- diff --git a/target/ppc/translate/fixedpoint-impl.c.inc b/target/ppc/translate/fixedpoint-impl.c.inc index 7af1b3bcf5..96b8c38f60 100644 --- a/target/ppc/translate/fixedpoint-impl.c.inc +++ b/target/ppc/translate/fixedpoint-impl.c.inc @@ -55,3 +55,8 @@ static bool trans_ADDIS(DisasContext *ctx, arg_D *a) } return true; } + +static bool trans_NOP(DisasContext *ctx, arg_NOP *a) +{ + return true; +} -- 2.25.1