Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Side by Side Diff: src/arm/macro-assembler-arm.h

Issue 2868603002: [ARM] Improve VFP register moves. (Closed)
Patch Set: Rebase. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm/disasm-arm.cc ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_
6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_
7 7
8 #include "src/arm/assembler-arm.h" 8 #include "src/arm/assembler-arm.h"
9 #include "src/assembler.h" 9 #include "src/assembler.h"
10 #include "src/bailout-reason.h" 10 #include "src/bailout-reason.h"
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 552
553 void VmovHigh(Register dst, DwVfpRegister src); 553 void VmovHigh(Register dst, DwVfpRegister src);
554 void VmovHigh(DwVfpRegister dst, Register src); 554 void VmovHigh(DwVfpRegister dst, Register src);
555 void VmovLow(Register dst, DwVfpRegister src); 555 void VmovLow(Register dst, DwVfpRegister src);
556 void VmovLow(DwVfpRegister dst, Register src); 556 void VmovLow(DwVfpRegister dst, Register src);
557 557
558 // Simulate s-register moves for imaginary s32 - s63 registers. 558 // Simulate s-register moves for imaginary s32 - s63 registers.
559 void VmovExtended(Register dst, int src_code); 559 void VmovExtended(Register dst, int src_code);
560 void VmovExtended(int dst_code, Register src); 560 void VmovExtended(int dst_code, Register src);
561 // Move between s-registers and imaginary s-registers. 561 // Move between s-registers and imaginary s-registers.
562 void VmovExtended(int dst_code, int src_code, Register scratch); 562 void VmovExtended(int dst_code, int src_code);
563 void VmovExtended(int dst_code, const MemOperand& src, Register scratch); 563 void VmovExtended(int dst_code, const MemOperand& src);
564 void VmovExtended(const MemOperand& dst, int src_code, Register scratch); 564 void VmovExtended(const MemOperand& dst, int src_code);
565 565
566 void ExtractLane(Register dst, QwNeonRegister src, NeonDataType dt, int lane); 566 void ExtractLane(Register dst, QwNeonRegister src, NeonDataType dt, int lane);
567 void ExtractLane(Register dst, DwVfpRegister src, NeonDataType dt, int lane); 567 void ExtractLane(Register dst, DwVfpRegister src, NeonDataType dt, int lane);
568 void ExtractLane(SwVfpRegister dst, QwNeonRegister src, Register scratch, 568 void ExtractLane(SwVfpRegister dst, QwNeonRegister src, int lane);
569 int lane);
570 void ReplaceLane(QwNeonRegister dst, QwNeonRegister src, Register src_lane, 569 void ReplaceLane(QwNeonRegister dst, QwNeonRegister src, Register src_lane,
571 NeonDataType dt, int lane); 570 NeonDataType dt, int lane);
572 void ReplaceLane(QwNeonRegister dst, QwNeonRegister src, 571 void ReplaceLane(QwNeonRegister dst, QwNeonRegister src,
573 SwVfpRegister src_lane, Register scratch, int lane); 572 SwVfpRegister src_lane, int lane);
574 573
575 void LslPair(Register dst_low, Register dst_high, Register src_low, 574 void LslPair(Register dst_low, Register dst_high, Register src_low,
576 Register src_high, Register scratch, Register shift); 575 Register src_high, Register scratch, Register shift);
577 void LslPair(Register dst_low, Register dst_high, Register src_low, 576 void LslPair(Register dst_low, Register dst_high, Register src_low,
578 Register src_high, uint32_t shift); 577 Register src_high, uint32_t shift);
579 void LsrPair(Register dst_low, Register dst_high, Register src_low, 578 void LsrPair(Register dst_low, Register dst_high, Register src_low,
580 Register src_high, Register scratch, Register shift); 579 Register src_high, Register scratch, Register shift);
581 void LsrPair(Register dst_low, Register dst_high, Register src_low, 580 void LsrPair(Register dst_low, Register dst_high, Register src_low,
582 Register src_high, uint32_t shift); 581 Register src_high, uint32_t shift);
583 void AsrPair(Register dst_low, Register dst_high, Register src_low, 582 void AsrPair(Register dst_low, Register dst_high, Register src_low,
(...skipping 851 matching lines...) Expand 10 before | Expand all | Expand 10 after
1435 inline MemOperand NativeContextMemOperand() { 1434 inline MemOperand NativeContextMemOperand() {
1436 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); 1435 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX);
1437 } 1436 }
1438 1437
1439 #define ACCESS_MASM(masm) masm-> 1438 #define ACCESS_MASM(masm) masm->
1440 1439
1441 } // namespace internal 1440 } // namespace internal
1442 } // namespace v8 1441 } // namespace v8
1443 1442
1444 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1443 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/disasm-arm.cc ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698