From 989d1da4ed0201cc2a7182a64e36bafab4ff5431 Mon Sep 17 00:00:00 2001 From: Sandipan Das Date: Sat, 6 Feb 2021 17:21:16 +0530 Subject: [PATCH] arch-power: Add sign-extend instructions This adds the following instructions. * Extend Sign Word (extsw[.]) Change-Id: Ia15fc69de665399f1c8d52ca00d2f7670d553b48 Signed-off-by: Sandipan Das Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40919 Reviewed-by: Boris Shingarov Maintainer: Boris Shingarov Tested-by: kokoro --- src/arch/power/insts/integer.cc | 1 + src/arch/power/isa/decoder.isa | 1 + 2 files changed, 2 insertions(+) diff --git a/src/arch/power/insts/integer.cc b/src/arch/power/insts/integer.cc index 43ef2100c1..d7c8ed4f1b 100644 --- a/src/arch/power/insts/integer.cc +++ b/src/arch/power/insts/integer.cc @@ -286,6 +286,7 @@ IntLogicOp::generateDisassembly( printSecondSrc = false; } else if (myMnemonic == "extsb" || myMnemonic == "extsh" || + myMnemonic == "extsw" || myMnemonic == "cntlzw") { printSecondSrc = false; } diff --git a/src/arch/power/isa/decoder.isa b/src/arch/power/isa/decoder.isa index 40311faa18..0ec249e78e 100644 --- a/src/arch/power/isa/decoder.isa +++ b/src/arch/power/isa/decoder.isa @@ -579,6 +579,7 @@ decode PO default Unknown::unknown() { } 983: StoreIndexOp::stfiwx({{ Mem = Fs_uw; }}); + 986: IntLogicOp::extsw({{ Ra = sext<32>(Rs); }}, true); // These instructions are of XO form with bit 21 as the OE bit. default: decode XO_XO {