llvm.org GIT mirror llvm / 892fc6d
Fix the encoding of t2ISB by using the right class and also parse it correctly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123776 91177308-0d34-0410-b5e6-96231b3b80d8 Bruno Cardoso Lopes 9 years ago
4 changed file(s) with 7 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
28072807 }
28082808
28092809 // ISB has only full system option -- for disassembly only
2810 def t2ISB : T2I<(outs), (ins), NoItinerary, "isb", "",
2810 def t2ISB : AInoP<(outs), (ins), ThumbFrm, NoItinerary, "isb", "",
28112811 [/* For disassembly only; pattern left blank */]>,
28122812 Requires<[IsThumb2, HasV7]> {
28132813 let Inst{31-4} = 0xf3bf8f6;
11921192 Mnemonic == "cps" || Mnemonic == "mcr2" || Mnemonic == "it" ||
11931193 Mnemonic == "mcrr2" || Mnemonic == "cbz" || Mnemonic == "cdp2" ||
11941194 Mnemonic == "trap" || Mnemonic == "mrc2" || Mnemonic == "mrrc2" ||
1195 Mnemonic == "dsb" || Mnemonic == "movs" ||
1195 Mnemonic == "dsb" || Mnemonic == "movs" || Mnemonic == "isb" ||
11961196 (isThumb && Mnemonic == "bkpt")) {
11971197 CanAcceptPredicationCode = false;
11981198 } else {
129129
130130 @ CHECK: bkpt #10 @ encoding: [0x7a,0x00,0x20,0xe1]
131131 bkpt #10
132
133 @ CHECK: isb @ encoding: [0x6f,0xf0,0x7f,0xf5]
134 isb
163163 ldrsh.w r0, [r0]
164164 @ CHECK: bfi r0, r0, #5, #7 @ encoding: [0x60,0xf3,0x4b,0x10]
165165 bfi r0, r0, #5, #7
166 @ CHECK: isb @ encoding: [0xbf,0xf3,0x6f,0x8f]
167 isb
166168