diff options
author | Johnny Chen <johnny.chen@apple.com> | 2010-02-12 20:48:24 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2010-02-12 20:48:24 +0000 |
commit | bdf1b9520cf4be11020a6d2af5b84b33c12e1514 (patch) | |
tree | a1155d0b9bf36243e08839c6eef4464d64d5d631 /llvm/lib | |
parent | 545d36019b492154b6b467d7a8721171f34e273a (diff) | |
download | bcm5719-llvm-bdf1b9520cf4be11020a6d2af5b84b33c12e1514.tar.gz bcm5719-llvm-bdf1b9520cf4be11020a6d2af5b84b33c12e1514.zip |
Add SWP (Swap) and SWPB (Swap Byte) for disassembly only.
llvm-svn: 96010
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/ARM/ARMInstrInfo.td | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrInfo.td b/llvm/lib/Target/ARM/ARMInstrInfo.td index 3ef197a74bf..3e4070b4aff 100644 --- a/llvm/lib/Target/ARM/ARMInstrInfo.td +++ b/llvm/lib/Target/ARM/ARMInstrInfo.td @@ -1863,6 +1863,27 @@ def STREXD : AIstrex<0b01, (outs GPR:$success), []>; } +// SWP/SWPB are deprecated in V6/V7 and for disassembly only. +let mayLoad = 1 in { +def SWP : AI<(outs GPR:$dst), (ins GPR:$src, GPR:$ptr), LdStExFrm, NoItinerary, + "swp", "\t$dst, $src, [$ptr]", + [/* For disassembly only; pattern left blank */]> { + let Inst{27-23} = 0b00010; + let Inst{22} = 0; // B = 0 + let Inst{21-20} = 0b00; + let Inst{7-4} = 0b1001; +} + +def SWPB : AI<(outs GPR:$dst), (ins GPR:$src, GPR:$ptr), LdStExFrm, NoItinerary, + "swpb", "\t$dst, $src, [$ptr]", + [/* For disassembly only; pattern left blank */]> { + let Inst{27-23} = 0b00010; + let Inst{22} = 1; // B = 1 + let Inst{21-20} = 0b00; + let Inst{7-4} = 0b1001; +} +} + //===----------------------------------------------------------------------===// // TLS Instructions // |