[PATCH] [ARM] Fix BXJ is undefined in AArch32.
    Charlie Turner 
    charlie.turner at arm.com
       
    Mon Jan  5 07:06:13 PST 2015
    
    
  
BXJ was incorrectly said to be unsupported in ARMv8-A. It is not supported in
the A64 instruction set, but it is supported in the T32 and A32 instruction
sets, because it's listed as an instruction in the ARM ARM section F7.1.28.
This was found by MCHammer.
REPOSITORY
  rL LLVM
http://reviews.llvm.org/D6842
Files:
  lib/Target/ARM/ARMInstrThumb2.td
  test/MC/ARM/thumb2-bxj.s
Index: lib/Target/ARM/ARMInstrThumb2.td
===================================================================
--- lib/Target/ARM/ARMInstrThumb2.td
+++ lib/Target/ARM/ARMInstrThumb2.td
@@ -3630,7 +3630,7 @@
 // Branch and Exchange Jazelle -- for disassembly only
 // Rm = Inst{19-16}
 def t2BXJ : T2I<(outs), (ins rGPR:$func), NoItinerary, "bxj", "\t$func", []>,
-    Sched<[WriteBr]>, Requires<[IsThumb2, IsNotMClass, PreV8]> {
+    Sched<[WriteBr]>, Requires<[IsThumb2, IsNotMClass]> {
   bits<4> func;
   let Inst{31-27} = 0b11110;
   let Inst{26} = 0;
Index: test/MC/ARM/thumb2-bxj.s
===================================================================
--- test/MC/ARM/thumb2-bxj.s
+++ test/MC/ARM/thumb2-bxj.s
@@ -1,8 +1,8 @@
 @ RUN: llvm-mc -triple=thumbv6t2--none-eabi -show-encoding < %s | FileCheck %s
 @ RUN: llvm-mc -triple=thumbv7a--none-eabi -show-encoding < %s | FileCheck %s
 @ RUN: llvm-mc -triple=thumbv7r--none-eabi -show-encoding < %s | FileCheck %s
+@ RUN: llvm-mc -triple=thumbv8a--none-eabi -show-encoding < %s | FileCheck %s
 @ RUN: not llvm-mc -triple=thumbv7m--none-eabi -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=UNDEF
-@ RUN: not llvm-mc -triple=thumbv8a--none-eabi -show-encoding < %s 2>&1 | FileCheck %s --check-prefix=UNDEF
 
         bxj r2
EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6842.17797.patch
Type: text/x-patch
Size: 1282 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150105/ab2bbd2f/attachment.bin>
    
    
More information about the llvm-commits
mailing list