Home | History | Annotate | Download | only in assembler

Lines Matching refs:ARMAssembler

35 #include "ARMAssembler.h"
40 class MacroAssemblerARM : public AbstractMacroAssembler<ARMAssembler> {
46 Equal = ARMAssembler::EQ,
47 NotEqual = ARMAssembler::NE,
48 Above = ARMAssembler::HI,
49 AboveOrEqual = ARMAssembler::CS,
50 Below = ARMAssembler::CC,
51 BelowOrEqual = ARMAssembler::LS,
52 GreaterThan = ARMAssembler::GT,
53 GreaterThanOrEqual = ARMAssembler::GE,
54 LessThan = ARMAssembler::LT,
55 LessThanOrEqual = ARMAssembler::LE,
56 Overflow = ARMAssembler::VS,
57 Signed = ARMAssembler::MI,
58 Zero = ARMAssembler::EQ,
59 NonZero = ARMAssembler::NE
64 DoubleEqual = ARMAssembler::EQ,
65 DoubleNotEqual = ARMAssembler::NE | DoubleConditionBitSpecial,
66 DoubleGreaterThan = ARMAssembler::GT,
67 DoubleGreaterThanOrEqual = ARMAssembler::GE,
68 DoubleLessThan = ARMAssembler::CC,
69 DoubleLessThanOrEqual = ARMAssembler::LS,
71 DoubleEqualOrUnordered = ARMAssembler::EQ | DoubleConditionBitSpecial,
72 DoubleNotEqualOrUnordered = ARMAssembler::NE,
73 DoubleGreaterThanOrUnordered = ARMAssembler::HI,
74 DoubleGreaterThanOrEqualOrUnordered = ARMAssembler::CS,
75 DoubleLessThanOrUnordered = ARMAssembler::LT,
76 DoubleLessThanOrEqualOrUnordered = ARMAssembler::LE,
115 if (w & ARMAssembler::OP2_INV_IMM)
116 m_assembler.bics_r(dest, dest, w & ~ARMAssembler::OP2_INV_IMM);
123 ARMWord w = ARMAssembler::getOp2(0x1f);
124 ASSERT(w != ARMAssembler::INVALID_IMM);
152 m_assembler.rsbs_r(srcDest, srcDest, ARMAssembler::getOp2(0));
172 ARMWord w = ARMAssembler::getOp2(0x1f);
173 ASSERT(w != ARMAssembler::INVALID_IMM);
255 m_assembler.ldrh_u(dest, ARMRegisters::S0, ARMAssembler::getOp2Byte(address.offset));
257 m_assembler.ldrh_d(dest, ARMRegisters::S0, ARMAssembler::getOp2Byte(-address.offset));
436 if (w & ARMAssembler::OP2_INV_IMM)
437 m_assembler.bics_r(ARMRegisters::S0, reg, w & ~ARMAssembler::OP2_INV_IMM);
548 return Call(m_assembler.jmp(ARMAssembler::AL, true), Call::LinkableNear);
572 m_assembler.mov_r(dest, ARMAssembler::getOp2(0));
573 m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond));
579 m_assembler.mov_r(dest, ARMAssembler::getOp2(0));
580 m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond));
609 m_assembler.mov_r(dest, ARMAssembler::getOp2(0));
610 m_assembler.mov_r(dest, ARMAssembler::getOp2(1), ARMCondition(cond));
663 return Call(m_assembler.jmp(ARMAssembler::AL, true), Call::Linkable);
810 m_assembler.cmp_r(ARMRegisters::S0, ARMRegisters::S0, ARMAssembler::VS);
811 return Jump(m_assembler.jmp(static_cast<ARMAssembler::Condition>(cond & ~DoubleConditionMask)));
845 m_assembler.mov_r(ARMRegisters::S0, ARMAssembler::getOp2(0));
850 ARMAssembler::Condition ARMCondition(Condition cond)
852 return static_cast<ARMAssembler::Condition>(cond);
882 m_assembler.add_r(ARMRegisters::S0, base, ARMAssembler::OP2_IMM | (offset >> 12) | (10 << 8));
896 m_assembler.sub_r(ARMRegisters::S0, base, ARMAssembler::OP2_IMM | (offset >> 12) | (10 << 8));
913 ARMAssembler::linkCall(code, call.m_jmp, function.value());
918 ARMAssembler::relinkCall(call.dataLocation(), destination.executableAddress());
923 ARMAssembler::relinkCall(call.dataLocation(), destination.executableAddress());