From d7d72d66b799aaab1c48a67a0cbb5c9a70794cec Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Mon, 14 Dec 2009 17:02:55 +0000 Subject: [PATCH] add ldrexd/strexd instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91284 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrInfo.td | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index a0798a6e186..39522ae5cc0 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -1710,11 +1710,15 @@ def LDREXH : AIldrex<0b11, (outs GPR:$dest), (ins GPR:$ptr), NoItinerary, def LDREX : AIldrex<0b00, (outs GPR:$dest), (ins GPR:$ptr), NoItinerary, "ldrex", "\t$dest, [$ptr]", []>; +def LDREXD : AIldrex<0b00, (outs GPR:$dest, GPR:$dest2), (ins GPR:$ptr), + NoItinerary, + "ldrexd", "\t$dest, $dest2, [$ptr]", + []>; } let mayStore = 1 in { def STREXB : AIstrex<0b10, (outs GPR:$success), (ins GPR:$src, GPR:$ptr), - NoItinerary, + NoItinerary, "strexb", "\t$success, $src, [$ptr]", []>; def STREXH : AIstrex<0b11, (outs GPR:$success), (ins GPR:$src, GPR:$ptr), @@ -1722,9 +1726,14 @@ def STREXH : AIstrex<0b11, (outs GPR:$success), (ins GPR:$src, GPR:$ptr), "strexh", "\t$success, $src, [$ptr]", []>; def STREX : AIstrex<0b00, (outs GPR:$success), (ins GPR:$src, GPR:$ptr), - NoItinerary, + NoItinerary, "strex", "\t$success, $src, [$ptr]", []>; +def STREXD : AIstrex<0b00, (outs GPR:$success), + (ins GPR:$src, GPR:$src2, GPR:$ptr), + NoItinerary, + "strexd", "\t$success, $src, $src2, [$ptr]", + []>; } //===----------------------------------------------------------------------===//