| Index: src/IceInstARM32.cpp
|
| diff --git a/src/IceInstARM32.cpp b/src/IceInstARM32.cpp
|
| index 5507b63fcffe938efd98d16cb7e21f3f473106c8..f8f6b4f17f7dc5e63ff1411c302a50dff660c78a 100644
|
| --- a/src/IceInstARM32.cpp
|
| +++ b/src/IceInstARM32.cpp
|
| @@ -777,7 +777,6 @@ void InstARM32Mov::emitIASSingleDestSingleSource(const Cfg *Func) const {
|
| return Asm->setNeedsTextFixup();
|
| return Asm->str(Src0, Dest, getPredicate(), Func->getTarget());
|
| }
|
| - Asm->setNeedsTextFixup();
|
| }
|
|
|
| void InstARM32Mov::emit(const Cfg *Func) const {
|
| @@ -798,14 +797,13 @@ void InstARM32Mov::emit(const Cfg *Func) const {
|
| }
|
|
|
| void InstARM32Mov::emitIAS(const Cfg *Func) const {
|
| - if (!Func->getContext()->getFlags().getAllowUnsafeIas())
|
| - return emitUsingTextFixup(Func);
|
| assert(!(isMultiDest() && isMultiSource()) && "Invalid vmov type.");
|
| auto *Asm = Func->getAssembler<ARM32::AssemblerARM32>();
|
| - if (!(isMultiDest() || isMultiSource())) {
|
| + if (!(isMultiDest() || isMultiSource()))
|
| // Must be single source/dest.
|
| emitIASSingleDestSingleSource(Func);
|
| - }
|
| + else
|
| + Asm->setNeedsTextFixup();
|
| if (Asm->needsTextFixup())
|
| emitUsingTextFixup(Func);
|
| }
|
|
|