|
From: <sv...@va...> - 2015-06-16 23:40:29
|
Author: petarj
Date: Wed Jun 17 00:40:21 2015
New Revision: 3152
Log:
mips64: add support for Cavium LHX
This patch adds support for LHX (Load Halfword Indexed) instruction.
It is available on CVMv2/MIPS DSP.
Issue reported in BZ #345987.
Patch by Crestez Dan Leonard.
Modified:
trunk/priv/guest_mips_toIR.c
Modified: trunk/priv/guest_mips_toIR.c
==============================================================================
--- trunk/priv/guest_mips_toIR.c (original)
+++ trunk/priv/guest_mips_toIR.c Wed Jun 17 00:40:21 2015
@@ -2638,6 +2638,16 @@
True));
break;
}
+ case 0x04: // LHX rd, index(base)
+ DIP("lhx r%d, r%d(r%d)", regRd, regRt, regRs);
+ LOADX_STORE_PATTERN;
+ if (mode64)
+ putIReg(regRd, unop(Iop_16Sto64, load(Ity_I16,
+ mkexpr(t1))));
+ else
+ putIReg(regRd, unop(Iop_16Sto32, load(Ity_I16,
+ mkexpr(t1))));
+ break;
case 0x08: { // LDX rd, index(base)
DIP("ldx r%d, r%d(r%d)", regRd, regRt, regRs);
vassert(mode64); /* Currently Implemented only for n64 */
|