summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMInstrThumb2.td
diff options
context:
space:
mode:
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-01-20 19:18:32 +0000
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>2011-01-20 19:18:32 +0000
commite965f06f7fbd759e725f4f65cfa43c54a2e7a1dc (patch)
tree43782507def766896d9c37ef51c4bf5cf7a1a7ba /llvm/lib/Target/ARM/ARMInstrThumb2.td
parenta48eacc0b6c2433d3e22580b15ae2a37e1693dcb (diff)
downloadbcm5719-llvm-e965f06f7fbd759e725f4f65cfa43c54a2e7a1dc.tar.gz
bcm5719-llvm-e965f06f7fbd759e725f4f65cfa43c54a2e7a1dc.zip
Fix the encoding and parsing of clrex instruction
llvm-svn: 123936
Diffstat (limited to 'llvm/lib/Target/ARM/ARMInstrThumb2.td')
-rw-r--r--llvm/lib/Target/ARM/ARMInstrThumb2.td11
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMInstrThumb2.td b/llvm/lib/Target/ARM/ARMInstrThumb2.td
index 777389181a8..de30bbb6995 100644
--- a/llvm/lib/Target/ARM/ARMInstrThumb2.td
+++ b/llvm/lib/Target/ARM/ARMInstrThumb2.td
@@ -2912,13 +2912,16 @@ def t2STREXD : T2I_strex<0b11, (outs rGPR:$Rd),
}
// Clear-Exclusive is for disassembly only.
-def t2CLREX : T2I<(outs), (ins), NoItinerary, "clrex", "",
- [/* For disassembly only; pattern left blank */]>,
- Requires<[IsARM, HasV7]> {
- let Inst{31-20} = 0xf3b;
+def t2CLREX : T2XI<(outs), (ins), NoItinerary, "clrex",
+ [/* For disassembly only; pattern left blank */]>,
+ Requires<[IsThumb2, HasV7]> {
+ let Inst{31-16} = 0xf3bf;
let Inst{15-14} = 0b10;
+ let Inst{13} = 0;
let Inst{12} = 0;
+ let Inst{11-8} = 0b1111;
let Inst{7-4} = 0b0010;
+ let Inst{3-0} = 0b1111;
}
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud