OSDN Git Service

Fix Thumb encoding of VMOV (scalar to ARM core register). The encoding is
authorBob Wilson <bob.wilson@apple.com>
Tue, 29 Jun 2010 00:26:13 +0000 (00:26 +0000)
committerBob Wilson <bob.wilson@apple.com>
Tue, 29 Jun 2010 00:26:13 +0000 (00:26 +0000)
the same as ARM except that the condition code field is always set to ARMCC::AL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107107 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMCodeEmitter.cpp

index 048529b..f26074d 100644 (file)
@@ -1600,7 +1600,7 @@ void ARMCodeEmitter::emitNEONGetLaneInstruction(const MachineInstr &MI) {
   unsigned Binary = getBinaryCodeForInstr(MI);
 
   // Set the conditional execution predicate
-  Binary |= II->getPredicate(&MI) << ARMII::CondShift;
+  Binary |= (IsThumb ? ARMCC::AL : II->getPredicate(&MI)) << ARMII::CondShift;
 
   unsigned RegT = MI.getOperand(0).getReg();
   RegT = ARMRegisterInfo::getRegisterNumbering(RegT);