arch-power: Add fixed-point logical extend sign instructions
authorSandipan Das <sandipan@linux.vnet.ibm.com>
Thu, 7 Jun 2018 09:30:27 +0000 (15:00 +0530)
committerSandipan Das <sandipan@linux.vnet.ibm.com>
Thu, 7 Jun 2018 11:08:33 +0000 (16:38 +0530)
This adds the following logical instructions:
  * Extend Sign Word (extsw[.])

Change-Id: I610e84c2361b99b00ceef2170ede5b6dee8ec21b
Signed-off-by: Sandipan Das <sandipan@linux.vnet.ibm.com>
src/arch/power/insts/integer.cc
src/arch/power/isa/decoder.isa

index d3672472c694553b019b1bc40a5d7ef66f7d34c6..f87afa2821af34f65c0723dd3d5ffc02ed986a6e 100644 (file)
@@ -292,6 +292,7 @@ IntLogicOp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
         printSecondSrc = false;
     } else if (!myMnemonic.compare("extsb") ||
                !myMnemonic.compare("extsh") ||
+               !myMnemonic.compare("extsw") ||
                !myMnemonic.compare("cntlzw")) {
         printSecondSrc = false;
     }
index d80846f99c630ce4c4f963f831dc371ab26f2c7d..6390017af3bde4f33821d926b95faca859715cfa 100644 (file)
@@ -513,6 +513,7 @@ decode PO default Unknown::unknown() {
             412: orc({{ Ra = Rs | ~Rb; }}, true);
             954: extsb({{ Ra = Rs_sb; }}, true);
             922: extsh({{ Ra = Rs_sh; }}, true);
+            986: extsw({{ Ra = Rs_sw; }}, true);
             26: cntlzw({{ Ra = findLeadingZeros(Rs_uw); }}, true);
 
             508: cmpb({{