[llvm] r205897 - [ARM64] Correctly disassemble ISB operand as ISB not DBarrier.

Bradley Smith bradley.smith at arm.com
Wed Apr 9 07:44:54 PDT 2014


Author: brasmi01
Date: Wed Apr  9 09:44:54 2014
New Revision: 205897

URL: http://llvm.org/viewvc/llvm-project?rev=205897&view=rev
Log:
[ARM64] Correctly disassemble ISB operand as ISB not DBarrier.

Modified:
    llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp
    llvm/trunk/test/MC/Disassembler/ARM64/system.txt

Modified: llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp?rev=205897&r1=205896&r2=205897&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp (original)
+++ llvm/trunk/lib/Target/ARM64/InstPrinter/ARM64InstPrinter.cpp Wed Apr  9 09:44:54 2014
@@ -1459,9 +1459,14 @@ void ARM64InstPrinter::printAdrpLabel(co
 void ARM64InstPrinter::printBarrierOption(const MCInst *MI, unsigned OpNo,
                                           raw_ostream &O) {
   unsigned Val = MI->getOperand(OpNo).getImm();
+  unsigned Opcode = MI->getOpcode();
 
   bool Valid;
-  StringRef Name = ARM64DB::DBarrierMapper().toString(Val, Valid);
+  StringRef Name;
+  if (Opcode == ARM64::ISB)
+    Name = ARM64ISB::ISBMapper().toString(Val, Valid);
+  else
+    Name = ARM64DB::DBarrierMapper().toString(Val, Valid);
   if (Valid)
     O << Name;
   else

Modified: llvm/trunk/test/MC/Disassembler/ARM64/system.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/ARM64/system.txt?rev=205897&r1=205896&r2=205897&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/ARM64/system.txt (original)
+++ llvm/trunk/test/MC/Disassembler/ARM64/system.txt Wed Apr  9 09:44:54 2014
@@ -26,6 +26,8 @@
 # CHECK: clrex #10
   0xdf 0x3f 0x03 0xd5
 # CHECK: isb{{$}}
+  0xdf 0x31 0x03 0xd5
+# CHECK: isb #1
   0xbf 0x33 0x03 0xd5
 # CHECK: dmb osh
   0x9f 0x37 0x03 0xd5





More information about the llvm-commits mailing list