Index: runtime/vm/assembler_arm.h |
=================================================================== |
--- runtime/vm/assembler_arm.h (revision 24980) |
+++ runtime/vm/assembler_arm.h (working copy) |
@@ -68,11 +68,14 @@ |
static void InitOnce(); |
static bool double_truncate_round_supported() { return false; } |
static bool integer_division_supported(); |
+ static bool neon_supported(); |
#if defined(USING_SIMULATOR) |
static void set_integer_division_supported(bool supported); |
+ static void set_neon_supported(bool supported); |
#endif |
private: |
static bool integer_division_supported_; |
+ static bool neon_supported_; |
#if defined(DEBUG) |
static bool initialized_; |
#endif |
@@ -476,6 +479,8 @@ |
void vadds(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL); |
void vaddd(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL); |
+ void vaddqi(int sz, QRegister qd, QRegister qn, QRegister qm); |
+ void vaddqs(QRegister qd, QRegister qn, QRegister qm); |
void vsubs(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL); |
void vsubd(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL); |
void vmuls(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL); |
@@ -804,6 +809,9 @@ |
DRegister dd, |
SRegister sm); |
+ void EmitSIMDqqq(int32_t opcode, int sz, |
+ QRegister qd, QRegister qn, QRegister qm); |
+ |
void EmitBranch(Condition cond, Label* label, bool link); |
static int32_t EncodeBranchOffset(int32_t offset, int32_t inst); |
static int DecodeBranchOffset(int32_t inst); |