OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 | 531 |
532 void FloatingPointHelper::ConvertIntToDouble(MacroAssembler* masm, | 532 void FloatingPointHelper::ConvertIntToDouble(MacroAssembler* masm, |
533 Register int_scratch, | 533 Register int_scratch, |
534 Destination destination, | 534 Destination destination, |
535 DwVfpRegister double_dst, | 535 DwVfpRegister double_dst, |
536 Register dst1, | 536 Register dst1, |
537 Register dst2, | 537 Register dst2, |
538 Register scratch2, | 538 Register scratch2, |
539 SwVfpRegister single_scratch) { | 539 SwVfpRegister single_scratch) { |
540 ASSERT(!int_scratch.is(scratch2)); | 540 ASSERT(!int_scratch.is(scratch2)); |
| 541 ASSERT(!int_scratch.is(dst1)); |
| 542 ASSERT(!int_scratch.is(dst2)); |
541 | 543 |
542 Label done; | 544 Label done; |
543 | 545 |
544 if (CpuFeatures::IsSupported(VFP3)) { | 546 if (CpuFeatures::IsSupported(VFP3)) { |
545 CpuFeatures::Scope scope(VFP3); | 547 CpuFeatures::Scope scope(VFP3); |
546 __ vmov(single_scratch, int_scratch); | 548 __ vmov(single_scratch, int_scratch); |
547 __ vcvt_f64_s32(double_dst, single_scratch); | 549 __ vcvt_f64_s32(double_dst, single_scratch); |
548 if (destination == kCoreRegisters) { | 550 if (destination == kCoreRegisters) { |
549 __ vmov(dst1, dst2, double_dst); | 551 __ vmov(dst1, dst2, double_dst); |
550 } | 552 } |
(...skipping 5836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6387 __ mov(result, Operand(0)); | 6389 __ mov(result, Operand(0)); |
6388 __ Ret(); | 6390 __ Ret(); |
6389 } | 6391 } |
6390 | 6392 |
6391 | 6393 |
6392 #undef __ | 6394 #undef __ |
6393 | 6395 |
6394 } } // namespace v8::internal | 6396 } } // namespace v8::internal |
6395 | 6397 |
6396 #endif // V8_TARGET_ARCH_ARM | 6398 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |