| Index: src/arm/assembler-arm.h
|
| diff --git a/src/arm/assembler-arm.h b/src/arm/assembler-arm.h
|
| index a97cf6b9cf77208683860e47bdde1cacd95baa1c..2b8296d29f5de899c019d8c75dd66715190d5b44 100644
|
| --- a/src/arm/assembler-arm.h
|
| +++ b/src/arm/assembler-arm.h
|
| @@ -167,14 +167,13 @@ struct SwVfpRegister {
|
|
|
| // Double word VFP register.
|
| struct DwVfpRegister {
|
| + // d0 has been excluded from allocation. This is following ia32
|
| + // where xmm0 is excluded. This should be revisited.
|
| + // Currently d0 is used as a scratch register.
|
| + // d1 has also been excluded from allocation to be used as a scratch
|
| + // register as well.
|
| static const int kNumRegisters = 16;
|
| - // A few double registers are reserved: one as a scratch register and one to
|
| - // hold 0.0, that does not fit in the immediate field of vmov instructions.
|
| - // d14: 0.0
|
| - // d15: scratch register.
|
| - static const int kNumReservedRegisters = 2;
|
| - static const int kNumAllocatableRegisters = kNumRegisters -
|
| - kNumReservedRegisters;
|
| + static const int kNumAllocatableRegisters = 15;
|
|
|
| static int ToAllocationIndex(DwVfpRegister reg) {
|
| ASSERT(reg.code() != 0);
|
| @@ -189,7 +188,6 @@ struct DwVfpRegister {
|
| static const char* AllocationIndexToString(int index) {
|
| ASSERT(index >= 0 && index < kNumAllocatableRegisters);
|
| const char* const names[] = {
|
| - "d0",
|
| "d1",
|
| "d2",
|
| "d3",
|
| @@ -202,7 +200,9 @@ struct DwVfpRegister {
|
| "d10",
|
| "d11",
|
| "d12",
|
| - "d13"
|
| + "d13",
|
| + "d14",
|
| + "d15"
|
| };
|
| return names[index];
|
| }
|
| @@ -306,7 +306,6 @@ const DwVfpRegister d15 = { 15 };
|
| // Aliases for double registers.
|
| const DwVfpRegister kFirstCalleeSavedDoubleReg = d8;
|
| const DwVfpRegister kLastCalleeSavedDoubleReg = d15;
|
| -const DwVfpRegister kDoubleRegZero = d14;
|
|
|
|
|
| // Coprocessor register
|
|
|