| Index: src/arm/constants-arm.h
|
| diff --git a/src/arm/constants-arm.h b/src/arm/constants-arm.h
|
| index e21055fee4bad7296523af9a4ec2f6674ee1219b..9bfccf822b3b24dd0e4fd1d6134e4bfe0479a89d 100644
|
| --- a/src/arm/constants-arm.h
|
| +++ b/src/arm/constants-arm.h
|
| @@ -33,22 +33,6 @@
|
| #error ARM EABI support is required.
|
| #endif
|
|
|
| -#if defined(__ARM_ARCH_7A__) || \
|
| - defined(__ARM_ARCH_7R__) || \
|
| - defined(__ARM_ARCH_7__)
|
| -# define CAN_USE_ARMV7_INSTRUCTIONS 1
|
| -#ifndef CAN_USE_VFP3_INSTRUCTIONS
|
| -# define CAN_USE_VFP3_INSTRUCTIONS
|
| -#endif
|
| -#endif
|
| -
|
| -// Simulator should support unaligned access by default.
|
| -#if !defined(__arm__)
|
| -# ifndef CAN_USE_UNALIGNED_ACCESSES
|
| -# define CAN_USE_UNALIGNED_ACCESSES 1
|
| -# endif
|
| -#endif
|
| -
|
| namespace v8 {
|
| namespace internal {
|
|
|
| @@ -331,6 +315,32 @@ enum LFlag {
|
| };
|
|
|
|
|
| +// NEON data type
|
| +enum NeonDataType {
|
| + NeonS8 = 0x1, // U = 0, imm3 = 0b001
|
| + NeonS16 = 0x2, // U = 0, imm3 = 0b010
|
| + NeonS32 = 0x4, // U = 0, imm3 = 0b100
|
| + NeonU8 = 1 << 24 | 0x1, // U = 1, imm3 = 0b001
|
| + NeonU16 = 1 << 24 | 0x2, // U = 1, imm3 = 0b010
|
| + NeonU32 = 1 << 24 | 0x4, // U = 1, imm3 = 0b100
|
| + NeonDataTypeSizeMask = 0x7,
|
| + NeonDataTypeUMask = 1 << 24
|
| +};
|
| +
|
| +enum NeonListType {
|
| + nlt_1 = 0x7,
|
| + nlt_2 = 0xA,
|
| + nlt_3 = 0x6,
|
| + nlt_4 = 0x2
|
| +};
|
| +
|
| +enum NeonSize {
|
| + Neon8 = 0x0,
|
| + Neon16 = 0x1,
|
| + Neon32 = 0x2,
|
| + Neon64 = 0x4
|
| +};
|
| +
|
| // -----------------------------------------------------------------------------
|
| // Supervisor Call (svc) specific support.
|
|
|
| @@ -573,6 +583,7 @@ class Instruction {
|
| DECLARE_STATIC_TYPED_ACCESSOR(Condition, ConditionField);
|
|
|
| inline int TypeValue() const { return Bits(27, 25); }
|
| + inline int SpecialValue() const { return Bits(27, 23); }
|
|
|
| inline int RnValue() const { return Bits(19, 16); }
|
| DECLARE_STATIC_ACCESSOR(RnValue);
|
|
|