Index: src/IceInstARM32.cpp |
diff --git a/src/IceInstARM32.cpp b/src/IceInstARM32.cpp |
index b0bc7a53ddf1d0f499dfee3964e6be091b2a1e77..d2cd6efbc4464922b84384e59acc82274ba63336 100644 |
--- a/src/IceInstARM32.cpp |
+++ b/src/IceInstARM32.cpp |
@@ -689,7 +689,6 @@ void InstARM32Mov::emit(const Cfg *Func) const { |
} |
void InstARM32Mov::emitIAS(const Cfg *Func) const { |
- assert(getSrcSize() == 1); |
(void)Func; |
assert(!(isMultiDest() && isMultiSource()) && "Invalid vmov type."); |
ARM32::AssemblerARM32 *Asm = Func->getAssembler<ARM32::AssemblerARM32>(); |
@@ -752,8 +751,8 @@ void InstARM32Br::emitIAS(const Cfg *Func) const { |
} else { |
Asm->b(Asm->getOrCreateCfgNodeLabel(getTargetTrue()->getIndex()), |
getPredicate()); |
- Asm->b(Asm->getOrCreateCfgNodeLabel(getTargetFalse()->getIndex()), |
- CondARM32::AL); |
+ if (const CfgNode *False = getTargetFalse()) |
+ Asm->b(Asm->getOrCreateCfgNodeLabel(False->getIndex()), CondARM32::AL); |
} |
if (Asm->needsTextFixup()) |
emitUsingTextFixup(Func); |