[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