From 247acd93c49be2d9a677775e8684f6971b6c5364 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 2 Jun 2010 12:58:10 -0500 Subject: ARM: Decode the arm version of ldrexd. --- src/arch/arm/isa/formats/mem.isa | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/arch/arm/isa/formats/mem.isa') 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), -- cgit v1.2.3