| Index: src/arm/macro-assembler-arm.cc
|
| diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc
|
| index 88e5dec82d2ad8dfab736bff6334ef6191ca519d..7089a6213de8b2e0494dc085f5fe8ff4411b5312 100644
|
| --- a/src/arm/macro-assembler-arm.cc
|
| +++ b/src/arm/macro-assembler-arm.cc
|
| @@ -265,8 +265,8 @@ void MacroAssembler::Move(Register dst, Register src, Condition cond) {
|
|
|
|
|
| void MacroAssembler::Move(DoubleRegister dst, DoubleRegister src) {
|
| - ASSERT(CpuFeatures::IsSupported(VFP3));
|
| - CpuFeatures::Scope scope(VFP3);
|
| + ASSERT(CpuFeatures::IsSupported(VFP2));
|
| + CpuFeatures::Scope scope(VFP2);
|
| if (!dst.is(src)) {
|
| vmov(dst, src);
|
| }
|
| @@ -778,7 +778,7 @@ void MacroAssembler::VFPCompareAndLoadFlags(const DwVfpRegister src1,
|
| void MacroAssembler::Vmov(const DwVfpRegister dst,
|
| const double imm,
|
| const Condition cond) {
|
| - ASSERT(CpuFeatures::IsEnabled(VFP3));
|
| + ASSERT(CpuFeatures::IsEnabled(VFP2));
|
| static const DoubleRepresentation minus_zero(-0.0);
|
| static const DoubleRepresentation zero(0.0);
|
| DoubleRepresentation value(imm);
|
| @@ -930,6 +930,7 @@ void MacroAssembler::LeaveExitFrame(bool save_doubles,
|
| }
|
|
|
| void MacroAssembler::GetCFunctionDoubleResult(const DoubleRegister dst) {
|
| + ASSERT(CpuFeatures::IsSupported(VFP2));
|
| if (use_eabi_hardfloat()) {
|
| Move(dst, d0);
|
| } else {
|
| @@ -1967,7 +1968,7 @@ void MacroAssembler::StoreNumberToDoubleElements(Register value_reg,
|
| // scratch1 is now effective address of the double element
|
|
|
| FloatingPointHelper::Destination destination;
|
| - if (CpuFeatures::IsSupported(VFP3)) {
|
| + if (CpuFeatures::IsSupported(VFP2)) {
|
| destination = FloatingPointHelper::kVFPRegisters;
|
| } else {
|
| destination = FloatingPointHelper::kCoreRegisters;
|
| @@ -1984,7 +1985,7 @@ void MacroAssembler::StoreNumberToDoubleElements(Register value_reg,
|
| scratch4,
|
| s2);
|
| if (destination == FloatingPointHelper::kVFPRegisters) {
|
| - CpuFeatures::Scope scope(VFP3);
|
| + CpuFeatures::Scope scope(VFP2);
|
| vstr(d0, scratch1, 0);
|
| } else {
|
| str(mantissa_reg, MemOperand(scratch1, 0));
|
| @@ -2331,8 +2332,8 @@ void MacroAssembler::ConvertToInt32(Register source,
|
| Register scratch2,
|
| DwVfpRegister double_scratch,
|
| Label *not_int32) {
|
| - if (CpuFeatures::IsSupported(VFP3)) {
|
| - CpuFeatures::Scope scope(VFP3);
|
| + if (CpuFeatures::IsSupported(VFP2)) {
|
| + CpuFeatures::Scope scope(VFP2);
|
| sub(scratch, source, Operand(kHeapObjectTag));
|
| vldr(double_scratch, scratch, HeapNumber::kValueOffset);
|
| vcvt_s32_f64(double_scratch.low(), double_scratch);
|
| @@ -2427,8 +2428,8 @@ void MacroAssembler::EmitVFPTruncate(VFPRoundingMode rounding_mode,
|
| Register scratch1,
|
| Register scratch2,
|
| CheckForInexactConversion check_inexact) {
|
| - ASSERT(CpuFeatures::IsSupported(VFP3));
|
| - CpuFeatures::Scope scope(VFP3);
|
| + ASSERT(CpuFeatures::IsSupported(VFP2));
|
| + CpuFeatures::Scope scope(VFP2);
|
| Register prev_fpscr = scratch1;
|
| Register scratch = scratch2;
|
|
|
| @@ -2546,7 +2547,7 @@ void MacroAssembler::EmitECMATruncate(Register result,
|
| Register scratch,
|
| Register input_high,
|
| Register input_low) {
|
| - CpuFeatures::Scope scope(VFP3);
|
| + CpuFeatures::Scope scope(VFP2);
|
| ASSERT(!input_high.is(result));
|
| ASSERT(!input_low.is(result));
|
| ASSERT(!input_low.is(input_high));
|
| @@ -3332,6 +3333,7 @@ void MacroAssembler::PrepareCallCFunction(int num_reg_arguments,
|
|
|
|
|
| void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg) {
|
| + ASSERT(CpuFeatures::IsSupported(VFP2));
|
| if (use_eabi_hardfloat()) {
|
| Move(d0, dreg);
|
| } else {
|
| @@ -3342,6 +3344,7 @@ void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg) {
|
|
|
| void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg1,
|
| DoubleRegister dreg2) {
|
| + ASSERT(CpuFeatures::IsSupported(VFP2));
|
| if (use_eabi_hardfloat()) {
|
| if (dreg2.is(d0)) {
|
| ASSERT(!dreg1.is(d1));
|
| @@ -3360,6 +3363,7 @@ void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg1,
|
|
|
| void MacroAssembler::SetCallCDoubleArguments(DoubleRegister dreg,
|
| Register reg) {
|
| + ASSERT(CpuFeatures::IsSupported(VFP2));
|
| if (use_eabi_hardfloat()) {
|
| Move(d0, dreg);
|
| Move(r0, reg);
|
|
|