| Index: test/cctest/compiler/test-gap-resolver.cc
|
| diff --git a/test/cctest/compiler/test-gap-resolver.cc b/test/cctest/compiler/test-gap-resolver.cc
|
| index 3de8698141e2f8dff7a04d2a0566609bfaefa8f5..b8b12517247faa16395b0bb4e7d48486b38d6d99 100644
|
| --- a/test/cctest/compiler/test-gap-resolver.cc
|
| +++ b/test/cctest/compiler/test-gap-resolver.cc
|
| @@ -83,8 +83,7 @@ class InterpreterState {
|
| const LocationOperand& loc_op = LocationOperand::cast(op);
|
| if (loc_op.IsAnyRegister()) {
|
| if (loc_op.IsFPRegister()) {
|
| - rep = kSimpleFPAliasing ? MachineRepresentation::kFloat64
|
| - : loc_op.representation();
|
| + rep = MachineRepresentation::kFloat64;
|
| }
|
| index = loc_op.register_code();
|
| } else {
|
| @@ -186,10 +185,7 @@ class ParallelMoveCreator : public HandleAndZoneScope {
|
| case 1:
|
| return MachineRepresentation::kWord64;
|
| case 2:
|
| - // TODO(bbudge) Re-enable float operands when GapResolver correctly
|
| - // handles FP aliasing.
|
| - return kSimpleFPAliasing ? MachineRepresentation::kFloat32
|
| - : MachineRepresentation::kFloat64;
|
| + return MachineRepresentation::kFloat32;
|
| case 3:
|
| return MachineRepresentation::kFloat64;
|
| case 4:
|
| @@ -205,13 +201,18 @@ class ParallelMoveCreator : public HandleAndZoneScope {
|
| auto GetRegisterCode = [&conf](MachineRepresentation rep, int index) {
|
| switch (rep) {
|
| case MachineRepresentation::kFloat32:
|
| +#if V8_TARGET_ARCH_ARM
|
| + // Only even number float registers are used on Arm.
|
| + // TODO(bbudge) Eliminate this when FP register aliasing works.
|
| + return conf->RegisterConfiguration::GetAllocatableDoubleCode(index) *
|
| + 2;
|
| +#endif
|
| + // Fall through on non-Arm targets.
|
| case MachineRepresentation::kFloat64:
|
| return conf->RegisterConfiguration::GetAllocatableDoubleCode(index);
|
| - break;
|
|
|
| default:
|
| return conf->RegisterConfiguration::GetAllocatableGeneralCode(index);
|
| - break;
|
| }
|
| UNREACHABLE();
|
| return static_cast<int>(Register::kCode_no_reg);
|
|
|