add ldrexd/strexd instructions
authorJim Grosbach <grosbach@apple.com>
Mon, 14 Dec 2009 17:02:55 +0000 (17:02 +0000)
committerJim Grosbach <grosbach@apple.com>
Mon, 14 Dec 2009 17:02:55 +0000 (17:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91284 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrInfo.td

index a0798a6e186cdc2869d491dc8175624addab539e..39522ae5cc0314efbe53a8f4909e585498014fe5 100644 (file)
@@ -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]",
+                    []>;
 }
 
 //===----------------------------------------------------------------------===//