[llvm-commits] [llvm] r139053 - in /llvm/trunk: lib/Target/ARM/ARMInstrThumb2.td test/MC/ARM/basic-thumb2-instructions.s

Jim Grosbach grosbach at apple.com
Fri Sep 2 16:43:10 PDT 2011


Author: grosbach
Date: Fri Sep  2 18:43:09 2011
New Revision: 139053

URL: http://llvm.org/viewvc/llvm-project?rev=139053&view=rev
Log:
Thumb2 parsing and encoding for BXJ.

Modified:
    llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td
    llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s

Modified: llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td?rev=139053&r1=139052&r2=139053&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td Fri Sep  2 18:43:09 2011
@@ -3068,16 +3068,13 @@
 
 // Branch and Exchange Jazelle -- for disassembly only
 // Rm = Inst{19-16}
-def t2BXJ : T2I<(outs), (ins rGPR:$func), NoItinerary, "bxj", "\t$func",
-              [/* For disassembly only; pattern left blank */]> {
+def t2BXJ : T2I<(outs), (ins rGPR:$func), NoItinerary, "bxj", "\t$func", []> {
+  bits<4> func;
   let Inst{31-27} = 0b11110;
   let Inst{26} = 0;
   let Inst{25-20} = 0b111100;
-  let Inst{15-14} = 0b10;
-  let Inst{12} = 0;
-
-  bits<4> func;
   let Inst{19-16} = func;
+  let Inst{15-0} = 0b1000111100000000;
 }
 
 // Compare and branch on zero / non-zero

Modified: llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s?rev=139053&r1=139052&r2=139053&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s (original)
+++ llvm/trunk/test/MC/ARM/basic-thumb2-instructions.s Fri Sep  2 18:43:09 2011
@@ -255,6 +255,18 @@
 
 
 @------------------------------------------------------------------------------
+@ BXJ
+ at ------------------------------------------------------------------------------
+        bxj r5
+        it ne
+        bxjne r7
+
+@ CHECK: bxj	r5                      @ encoding: [0xc5,0xf3,0x00,0x8f]
+@ CHECK: it	ne                      @ encoding: [0x18,0xbf]
+@ CHECK: bxjne	r7                      @ encoding: [0xc7,0xf3,0x00,0x8f]
+
+
+ at ------------------------------------------------------------------------------
 @ CBZ/CBNZ
 @------------------------------------------------------------------------------
         cbnz    r7, #6
@@ -263,6 +275,7 @@
 @ CHECK: cbnz    r7, #6                  @ encoding: [0x1f,0xb9]
 @ CHECK: cbnz    r7, #12                 @ encoding: [0x37,0xb9]
 
+
 @------------------------------------------------------------------------------
 @ IT
 @------------------------------------------------------------------------------





More information about the llvm-commits mailing list