Lines Matching refs:operand
692 const Operand& operand) { in And() argument
694 LogicalMacro(rd, rn, operand, AND); in And()
700 const Operand& operand) { in Ands() argument
702 LogicalMacro(rd, rn, operand, ANDS); in Ands()
706 void MacroAssembler::Tst(const Register& rn, const Operand& operand) { in Tst() argument
708 Ands(AppropriateZeroRegFor(rn), rn, operand); in Tst()
714 const Operand& operand) { in Bic() argument
716 LogicalMacro(rd, rn, operand, BIC); in Bic()
722 const Operand& operand) { in Bics() argument
724 LogicalMacro(rd, rn, operand, BICS); in Bics()
730 const Operand& operand) { in Orr() argument
732 LogicalMacro(rd, rn, operand, ORR); in Orr()
738 const Operand& operand) { in Orn() argument
740 LogicalMacro(rd, rn, operand, ORN); in Orn()
746 const Operand& operand) { in Eor() argument
748 LogicalMacro(rd, rn, operand, EOR); in Eor()
754 const Operand& operand) { in Eon() argument
756 LogicalMacro(rd, rn, operand, EON); in Eon()
762 const Operand& operand, in LogicalMacro() argument
771 if (operand.IsImmediate()) { in LogicalMacro()
772 int64_t immediate = operand.GetImmediate(); in LogicalMacro()
848 } else if (operand.IsExtendedRegister()) { in LogicalMacro()
849 VIXL_ASSERT(operand.GetRegister().GetSizeInBits() <= rd.GetSizeInBits()); in LogicalMacro()
852 VIXL_ASSERT(operand.GetShiftAmount() <= 4); in LogicalMacro()
854 operand.GetRegister().Is64Bits() || in LogicalMacro()
855 ((operand.GetExtend() != UXTX) && (operand.GetExtend() != SXTX))); in LogicalMacro()
857 temps.Exclude(operand.GetRegister()); in LogicalMacro()
860 operand.GetRegister(), in LogicalMacro()
861 operand.GetExtend(), in LogicalMacro()
862 operand.GetShiftAmount()); in LogicalMacro()
866 VIXL_ASSERT(operand.IsShiftedRegister()); in LogicalMacro()
867 Logical(rd, rn, operand, op); in LogicalMacro()
873 const Operand& operand, in Mov() argument
879 if (operand.IsImmediate()) { in Mov()
881 Mov(rd, operand.GetImmediate()); in Mov()
882 } else if (operand.IsShiftedRegister() && (operand.GetShiftAmount() != 0)) { in Mov()
887 operand.GetRegister(), in Mov()
888 operand.GetShift(), in Mov()
889 operand.GetShiftAmount()); in Mov()
890 } else if (operand.IsExtendedRegister()) { in Mov()
894 operand.GetRegister(), in Mov()
895 operand.GetExtend(), in Mov()
896 operand.GetShiftAmount()); in Mov()
898 Mov(rd, operand.GetRegister(), discard_mode); in Mov()
1077 void MacroAssembler::Mvn(const Register& rd, const Operand& operand) { in Mvn() argument
1082 if (operand.IsImmediate()) { in Mvn()
1084 Mvn(rd, operand.GetImmediate()); in Mvn()
1085 } else if (operand.IsExtendedRegister()) { in Mvn()
1087 temps.Exclude(operand.GetRegister()); in Mvn()
1093 operand.GetRegister(), in Mvn()
1094 operand.GetExtend(), in Mvn()
1095 operand.GetShiftAmount()); in Mvn()
1100 mvn(rd, operand); in Mvn()
1112 const Operand& operand, in Ccmp() argument
1116 if (operand.IsImmediate() && (operand.GetImmediate() < 0)) { in Ccmp()
1117 ConditionalCompareMacro(rn, -operand.GetImmediate(), nzcv, cond, CCMN); in Ccmp()
1119 ConditionalCompareMacro(rn, operand, nzcv, cond, CCMP); in Ccmp()
1125 const Operand& operand, in Ccmn() argument
1129 if (operand.IsImmediate() && (operand.GetImmediate() < 0)) { in Ccmn()
1130 ConditionalCompareMacro(rn, -operand.GetImmediate(), nzcv, cond, CCMP); in Ccmn()
1132 ConditionalCompareMacro(rn, operand, nzcv, cond, CCMN); in Ccmn()
1138 const Operand& operand, in ConditionalCompareMacro() argument
1148 if ((operand.IsShiftedRegister() && (operand.GetShiftAmount() == 0)) || in ConditionalCompareMacro()
1149 (operand.IsImmediate() && in ConditionalCompareMacro()
1150 IsImmConditionalCompare(operand.GetImmediate()))) { in ConditionalCompareMacro()
1153 ConditionalCompare(rn, operand, nzcv, cond, op); in ConditionalCompareMacro()
1159 Mov(temp, operand); in ConditionalCompareMacro()
1362 const Operand& operand, in Add() argument
1365 if (operand.IsImmediate() && (operand.GetImmediate() < 0) && in Add()
1366 IsImmAddSub(-operand.GetImmediate())) { in Add()
1367 AddSubMacro(rd, rn, -operand.GetImmediate(), S, SUB); in Add()
1369 AddSubMacro(rd, rn, operand, S, ADD); in Add()
1376 const Operand& operand) { in Adds() argument
1377 Add(rd, rn, operand, SetFlags); in Adds()
1383 const Operand& operand, in Sub() argument
1386 if (operand.IsImmediate() && (operand.GetImmediate() < 0) && in Sub()
1387 IsImmAddSub(-operand.GetImmediate())) { in Sub()
1388 AddSubMacro(rd, rn, -operand.GetImmediate(), S, ADD); in Sub()
1390 AddSubMacro(rd, rn, operand, S, SUB); in Sub()
1397 const Operand& operand) { in Subs() argument
1398 Sub(rd, rn, operand, SetFlags); in Subs()
1402 void MacroAssembler::Cmn(const Register& rn, const Operand& operand) { in Cmn() argument
1404 Adds(AppropriateZeroRegFor(rn), rn, operand); in Cmn()
1408 void MacroAssembler::Cmp(const Register& rn, const Operand& operand) { in Cmp() argument
1410 Subs(AppropriateZeroRegFor(rn), rn, operand); in Cmp()
1502 void MacroAssembler::Neg(const Register& rd, const Operand& operand) { in Neg() argument
1504 if (operand.IsImmediate()) { in Neg()
1505 Mov(rd, -operand.GetImmediate()); in Neg()
1507 Sub(rd, AppropriateZeroRegFor(rd), operand); in Neg()
1512 void MacroAssembler::Negs(const Register& rd, const Operand& operand) { in Negs() argument
1514 Subs(rd, AppropriateZeroRegFor(rd), operand); in Negs()
1628 const Operand& operand, in AddSubMacro() argument
1636 if (operand.IsZero() && rd.Is(rn) && rd.Is64Bits() && rn.Is64Bits() && in AddSubMacro()
1642 if ((operand.IsImmediate() && !IsImmAddSub(operand.GetImmediate())) || in AddSubMacro()
1643 (rn.IsZero() && !operand.IsShiftedRegister()) || in AddSubMacro()
1644 (operand.IsShiftedRegister() && (operand.GetShift() == ROR))) { in AddSubMacro()
1647 if (operand.IsImmediate()) { in AddSubMacro()
1649 MoveImmediateForShiftedOp(temp, operand.GetImmediate()); in AddSubMacro()
1652 Mov(temp, operand); in AddSubMacro()
1656 AddSub(rd, rn, operand, S, op); in AddSubMacro()
1663 const Operand& operand) { in Adc() argument
1665 AddSubWithCarryMacro(rd, rn, operand, LeaveFlags, ADC); in Adc()
1671 const Operand& operand) { in Adcs() argument
1673 AddSubWithCarryMacro(rd, rn, operand, SetFlags, ADC); in Adcs()
1679 const Operand& operand) { in Sbc() argument
1681 AddSubWithCarryMacro(rd, rn, operand, LeaveFlags, SBC); in Sbc()
1687 const Operand& operand) { in Sbcs() argument
1689 AddSubWithCarryMacro(rd, rn, operand, SetFlags, SBC); in Sbcs()
1693 void MacroAssembler::Ngc(const Register& rd, const Operand& operand) { in Ngc() argument
1696 Sbc(rd, zr, operand); in Ngc()
1700 void MacroAssembler::Ngcs(const Register& rd, const Operand& operand) { in Ngcs() argument
1703 Sbcs(rd, zr, operand); in Ngcs()
1709 const Operand& operand, in AddSubWithCarryMacro() argument
1719 if (operand.IsImmediate() || in AddSubWithCarryMacro()
1720 (operand.IsShiftedRegister() && (operand.GetShift() == ROR))) { in AddSubWithCarryMacro()
1723 Mov(temp, operand); in AddSubWithCarryMacro()
1725 } else if (operand.IsShiftedRegister() && (operand.GetShiftAmount() != 0)) { in AddSubWithCarryMacro()
1727 VIXL_ASSERT(operand.GetRegister().GetSizeInBits() == rd.GetSizeInBits()); in AddSubWithCarryMacro()
1728 VIXL_ASSERT(operand.GetShift() != ROR); in AddSubWithCarryMacro()
1731 operand.GetShiftAmount())); in AddSubWithCarryMacro()
1732 temps.Exclude(operand.GetRegister()); in AddSubWithCarryMacro()
1735 operand.GetRegister(), in AddSubWithCarryMacro()
1736 operand.GetShift(), in AddSubWithCarryMacro()
1737 operand.GetShiftAmount()); in AddSubWithCarryMacro()
1739 } else if (operand.IsExtendedRegister()) { in AddSubWithCarryMacro()
1741 VIXL_ASSERT(operand.GetRegister().GetSizeInBits() <= rd.GetSizeInBits()); in AddSubWithCarryMacro()
1744 VIXL_ASSERT(operand.GetShiftAmount() <= 4); in AddSubWithCarryMacro()
1746 operand.GetRegister().Is64Bits() || in AddSubWithCarryMacro()
1747 ((operand.GetExtend() != UXTX) && (operand.GetExtend() != SXTX))); in AddSubWithCarryMacro()
1748 temps.Exclude(operand.GetRegister()); in AddSubWithCarryMacro()
1751 operand.GetRegister(), in AddSubWithCarryMacro()
1752 operand.GetExtend(), in AddSubWithCarryMacro()
1753 operand.GetShiftAmount()); in AddSubWithCarryMacro()
1757 AddSubWithCarry(rd, rn, operand, S, op); in AddSubWithCarryMacro()