| Index: src/IceInstARM32.cpp
|
| diff --git a/src/IceInstARM32.cpp b/src/IceInstARM32.cpp
|
| index a0d9618a615084c5caf5aa62cb513ddc83cb10ab..49452c14a36ce076cf173229595c9e2c3ed09293 100644
|
| --- a/src/IceInstARM32.cpp
|
| +++ b/src/IceInstARM32.cpp
|
| @@ -491,6 +491,19 @@ InstARM32Mov::InstARM32Mov(Cfg *Func, Variable *Dest, Operand *Src,
|
| }
|
| }
|
|
|
| +template <InstARM32::InstKindARM32 K>
|
| +void InstARM32CmpLike<K>::emitIAS(const Cfg *Func) const {
|
| + emitUsingTextFixup(Func);
|
| +}
|
| +
|
| +template <> void InstARM32Cmp::emitIAS(const Cfg *Func) const {
|
| + assert(getSrcSize() == 2);
|
| + ARM32::AssemblerARM32 *Asm = Func->getAssembler<ARM32::AssemblerARM32>();
|
| + Asm->cmp(getSrc(0), getSrc(1), getPredicate());
|
| + if (Asm->needsTextFixup())
|
| + emitUsingTextFixup(Func);
|
| +}
|
| +
|
| InstARM32Vcmp::InstARM32Vcmp(Cfg *Func, Variable *Src0, Variable *Src1,
|
| CondARM32::Cond Predicate)
|
| : InstARM32Pred(Func, InstARM32::Vcmp, 2, nullptr, Predicate) {
|
| @@ -1551,4 +1564,7 @@ template class InstARM32UnaryopGPR<InstARM32::Sxt, true>;
|
| template class InstARM32UnaryopGPR<InstARM32::Uxt, true>;
|
| template class InstARM32UnaryopFP<InstARM32::Vsqrt>;
|
|
|
| +template class InstARM32CmpLike<InstARM32::Cmp>;
|
| +template class InstARM32CmpLike<InstARM32::Tst>;
|
| +
|
| } // end of namespace Ice
|
|
|