[PATCH] D21077: [ARM] Accept conditional versions of BXNS and BLXNS

Oliver Stannard via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 7 08:05:30 PDT 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL272015: [ARM] Accept conditional versions of BXNS and BLXNS (authored by olista01).

Changed prior to commit:
  http://reviews.llvm.org/D21077?vs=59889&id=59892#toc

Repository:
  rL LLVM

http://reviews.llvm.org/D21077

Files:
  llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  llvm/trunk/test/MC/ARM/thumbv8m.s

Index: llvm/trunk/test/MC/ARM/thumbv8m.s
===================================================================
--- llvm/trunk/test/MC/ARM/thumbv8m.s
+++ llvm/trunk/test/MC/ARM/thumbv8m.s
@@ -146,12 +146,26 @@
 // CHECK: bxns r0                    @ encoding: [0x04,0x47]
 bxns r0
 
+// UNDEF-BASELINE: error: invalid operand for instruction
+// UNDEF-BASELINE: error: conditional execution not supported in Thumb1
+// CHECK-MAINLINE: it eq                      @ encoding: [0x08,0xbf]
+// CHECK-MAINLINE: bxnseq r1                  @ encoding: [0x0c,0x47]
+it eq
+bxnseq r1
+
 // CHECK: bxns lr                    @ encoding: [0x74,0x47]
 bxns lr
 
 // CHECK: blxns r0                   @ encoding: [0x84,0x47]
 blxns r0
 
+// UNDEF-BASELINE: error: invalid operand for instruction
+// UNDEF-BASELINE: error: conditional execution not supported in Thumb1
+// CHECK-MAINLINE: it eq                      @ encoding: [0x08,0xbf]
+// CHECK-MAINLINE: blxnseq r1                 @ encoding: [0x8c,0x47]
+it eq
+blxnseq r1
+
 // CHECK: tt r0, r1                  @ encoding: [0x41,0xe8,0x00,0xf0]
 tt r0, r1
 
Index: llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
===================================================================
--- llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
+++ llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
@@ -5420,6 +5420,7 @@
         Mnemonic == "fsts" || Mnemonic == "fcpys" || Mnemonic == "fdivs" ||
         Mnemonic == "fmuls" || Mnemonic == "fcmps" || Mnemonic == "fcmpzs" ||
         Mnemonic == "vfms" || Mnemonic == "vfnms" || Mnemonic == "fconsts" ||
+        Mnemonic == "bxns" || Mnemonic == "blxns" ||
         (Mnemonic == "movs" && isThumb()))) {
     Mnemonic = Mnemonic.slice(0, Mnemonic.size() - 1);
     CarrySetting = true;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21077.59892.patch
Type: text/x-patch
Size: 1783 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160607/4b5f2be0/attachment.bin>


More information about the llvm-commits mailing list