From: Gabe Black Date: Wed, 2 Jun 2010 17:58:10 +0000 (-0500) Subject: ARM: Decode the arm version of ldrexd. X-Git-Tag: stable_2012_02_02~1188 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=247acd93c49be2d9a677775e8684f6971b6c5364;p=gem5.git ARM: Decode the arm version of ldrexd. --- diff --git a/src/arch/arm/isa/formats/mem.isa b/src/arch/arm/isa/formats/mem.isa index 8f2dacade..303fc02db 100644 --- a/src/arch/arm/isa/formats/mem.isa +++ b/src/arch/arm/isa/formats/mem.isa @@ -235,7 +235,7 @@ def format ArmSyncMem() {{ case 0x1a: return new %(strexd)s(machInst, rt, rt2, rt2 + 1, rn, true, 0); case 0x1b: - return new WarnUnimplemented("ldrexd", machInst); + return new %(ldrexd)s(machInst, rt, rt + 1, rn, true, 0); case 0x1c: return new %(strexb)s(machInst, rt, rt2, rn, true, 0); case 0x1d: @@ -252,6 +252,7 @@ def format ArmSyncMem() {{ "ldrex" : "LDREX_" + loadImmClassName(False, True, False, size=4), "ldrexb" : "LDREXB_" + loadImmClassName(False, True, False, size=1), "ldrexh" : "LDREXH_" + loadImmClassName(False, True, False, size=2), + "ldrexd" : "LDREXD_" + loadDoubleImmClassName(False, True, False), "strex" : "STREX_" + storeImmClassName(False, True, False, size=4), "strexb" : "STREXB_" + storeImmClassName(False, True, False, size=1), "strexh" : "STREXH_" + storeImmClassName(False, True, False, size=2),