diff options
Diffstat (limited to 'deps/v8/src/arm/assembler-arm.h')
-rw-r--r-- | deps/v8/src/arm/assembler-arm.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/deps/v8/src/arm/assembler-arm.h b/deps/v8/src/arm/assembler-arm.h index 0b9cd91733..e5448f79ae 100644 --- a/deps/v8/src/arm/assembler-arm.h +++ b/deps/v8/src/arm/assembler-arm.h @@ -1022,7 +1022,8 @@ class Assembler : public AssemblerBase { void bkpt(uint32_t imm16); // v5 and above void svc(uint32_t imm24, Condition cond = al); - // Synchronization instructions + // Synchronization instructions. + // On ARMv6, an equivalent CP15 operation will be used. void dmb(BarrierOption option); void dsb(BarrierOption option); void isb(BarrierOption option); @@ -1258,6 +1259,19 @@ class Assembler : public AssemblerBase { void vcmp(const SwVfpRegister src1, const float src2, const Condition cond = al); + void vmaxnm(const DwVfpRegister dst, + const DwVfpRegister src1, + const DwVfpRegister src2); + void vmaxnm(const SwVfpRegister dst, + const SwVfpRegister src1, + const SwVfpRegister src2); + void vminnm(const DwVfpRegister dst, + const DwVfpRegister src1, + const DwVfpRegister src2); + void vminnm(const SwVfpRegister dst, + const SwVfpRegister src1, + const SwVfpRegister src2); + // VSEL supports cond in {eq, ne, ge, lt, gt, le, vs, vc}. void vsel(const Condition cond, const DwVfpRegister dst, @@ -1289,8 +1303,8 @@ class Assembler : public AssemblerBase { const Condition cond = al); // Support for NEON. - // All these APIs support D0 to D31 and Q0 to Q15. + // All these APIs support D0 to D31 and Q0 to Q15. void vld1(NeonSize size, const NeonListOperand& dst, const NeonMemOperand& src); @@ -1299,6 +1313,9 @@ class Assembler : public AssemblerBase { const NeonMemOperand& dst); void vmovl(NeonDataType dt, QwNeonRegister dst, DwVfpRegister src); + // Currently, vswp supports only D0 to D31. + void vswp(DwVfpRegister srcdst0, DwVfpRegister srcdst1); + // Pseudo instructions // Different nop operations are used by the code generator to detect certain @@ -1586,6 +1603,12 @@ class Assembler : public AssemblerBase { (pc_offset() < no_const_pool_before_); } + bool VfpRegisterIsAvailable(DwVfpRegister reg) { + DCHECK(reg.is_valid()); + return IsEnabled(VFP32DREGS) || + (reg.reg_code < LowDwVfpRegister::kMaxNumLowRegisters); + } + private: int next_buffer_check_; // pc offset of next buffer check |