| Index: src/arm/constants-arm.h
|
| diff --git a/src/arm/constants-arm.h b/src/arm/constants-arm.h
|
| index 2bade20fedf5979475bc7d36ea1ba8f7a10c8095..0c2ffdf4b97042e3efaa2d39de9be7a4046ae6c3 100644
|
| --- a/src/arm/constants-arm.h
|
| +++ b/src/arm/constants-arm.h
|
| @@ -374,10 +374,10 @@ const int32_t kDefaultStopCode = -1;
|
| // Type of VFP register. Determines register encoding.
|
| enum VFPRegPrecision {
|
| kSinglePrecision = 0,
|
| - kDoublePrecision = 1
|
| + kDoublePrecision = 1,
|
| + kSimd128Precision = 2
|
| };
|
|
|
| -
|
| // VFP FPSCR constants.
|
| enum VFPConversionMode {
|
| kFPSCRRounding = 0,
|
| @@ -674,8 +674,15 @@ class Instruction {
|
| inline int VFPGlueRegValue(VFPRegPrecision pre, int four_bit, int one_bit) {
|
| if (pre == kSinglePrecision) {
|
| return (Bits(four_bit + 3, four_bit) << 1) | Bit(one_bit);
|
| + } else {
|
| + int reg_num = (Bit(one_bit) << 4) | Bits(four_bit + 3, four_bit);
|
| + if (pre == kDoublePrecision) {
|
| + return reg_num;
|
| + }
|
| + DCHECK_EQ(kSimd128Precision, pre);
|
| + DCHECK_EQ(reg_num & 1, 0);
|
| + return reg_num / 2;
|
| }
|
| - return (Bit(one_bit) << 4) | Bits(four_bit + 3, four_bit);
|
| }
|
|
|
| // We need to prevent the creation of instances of class Instruction.
|
|
|