| Index: src/arm/assembler-arm.h
|
| diff --git a/src/arm/assembler-arm.h b/src/arm/assembler-arm.h
|
| index e0b89a5d86cc2999b81609946b8f48eb386a9f29..839bb0a22979dac09e5056458bf272e68b1a3c29 100644
|
| --- a/src/arm/assembler-arm.h
|
| +++ b/src/arm/assembler-arm.h
|
| @@ -922,6 +922,35 @@ class Assembler : public AssemblerBase {
|
| void mvn(Register dst, const Operand& src,
|
| SBit s = LeaveCC, Condition cond = al);
|
|
|
| + // Shift instructions
|
| +
|
| + void asr(Register dst, Register src1, const Operand& src2, SBit s = LeaveCC,
|
| + Condition cond = al) {
|
| + if (src2.is_reg()) {
|
| + mov(dst, Operand(src1, ASR, src2.rm()), s, cond);
|
| + } else {
|
| + mov(dst, Operand(src1, ASR, src2.immediate()), s, cond);
|
| + }
|
| + }
|
| +
|
| + void lsl(Register dst, Register src1, const Operand& src2, SBit s = LeaveCC,
|
| + Condition cond = al) {
|
| + if (src2.is_reg()) {
|
| + mov(dst, Operand(src1, LSL, src2.rm()), s, cond);
|
| + } else {
|
| + mov(dst, Operand(src1, LSL, src2.immediate()), s, cond);
|
| + }
|
| + }
|
| +
|
| + void lsr(Register dst, Register src1, const Operand& src2, SBit s = LeaveCC,
|
| + Condition cond = al) {
|
| + if (src2.is_reg()) {
|
| + mov(dst, Operand(src1, LSR, src2.rm()), s, cond);
|
| + } else {
|
| + mov(dst, Operand(src1, LSR, src2.immediate()), s, cond);
|
| + }
|
| + }
|
| +
|
| // Multiply instructions
|
|
|
| void mla(Register dst, Register src1, Register src2, Register srcA,
|
| @@ -933,6 +962,8 @@ class Assembler : public AssemblerBase {
|
| void sdiv(Register dst, Register src1, Register src2,
|
| Condition cond = al);
|
|
|
| + void udiv(Register dst, Register src1, Register src2, Condition cond = al);
|
| +
|
| void mul(Register dst, Register src1, Register src2,
|
| SBit s = LeaveCC, Condition cond = al);
|
|
|
| @@ -1290,7 +1321,7 @@ class Assembler : public AssemblerBase {
|
| }
|
|
|
| // Check whether an immediate fits an addressing mode 1 instruction.
|
| - bool ImmediateFitsAddrMode1Instruction(int32_t imm32);
|
| + static bool ImmediateFitsAddrMode1Instruction(int32_t imm32);
|
|
|
| // Check whether an immediate fits an addressing mode 2 instruction.
|
| bool ImmediateFitsAddrMode2Instruction(int32_t imm32);
|
|
|