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

Side by Side Diff: runtime/vm/assembler_arm.h

Issue 12390039: Adds vstm, vldm to ARM simulator, assembler, disassembler (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | runtime/vm/assembler_arm.cc » ('j') | runtime/vm/assembler_arm.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_ASSEMBLER_ARM_H_ 5 #ifndef VM_ASSEMBLER_ARM_H_
6 #define VM_ASSEMBLER_ARM_H_ 6 #define VM_ASSEMBLER_ARM_H_
7 7
8 #ifndef VM_ASSEMBLER_H_ 8 #ifndef VM_ASSEMBLER_H_
9 #error Do not include assembler_arm.h directly; use assembler.h instead. 9 #error Do not include assembler_arm.h directly; use assembler.h instead.
10 #endif 10 #endif
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 428
429 // Returns false if the immediate cannot be encoded. 429 // Returns false if the immediate cannot be encoded.
430 bool vmovs(SRegister sd, float s_imm, Condition cond = AL); 430 bool vmovs(SRegister sd, float s_imm, Condition cond = AL);
431 bool vmovd(DRegister dd, double d_imm, Condition cond = AL); 431 bool vmovd(DRegister dd, double d_imm, Condition cond = AL);
432 432
433 void vldrs(SRegister sd, Address ad, Condition cond = AL); 433 void vldrs(SRegister sd, Address ad, Condition cond = AL);
434 void vstrs(SRegister sd, Address ad, Condition cond = AL); 434 void vstrs(SRegister sd, Address ad, Condition cond = AL);
435 void vldrd(DRegister dd, Address ad, Condition cond = AL); 435 void vldrd(DRegister dd, Address ad, Condition cond = AL);
436 void vstrd(DRegister dd, Address ad, Condition cond = AL); 436 void vstrd(DRegister dd, Address ad, Condition cond = AL);
437 437
438 void vldmd(BlockAddressMode am, Register base,
439 DRegister first, DRegister last, Condition cond = AL);
440 void vstmd(BlockAddressMode am, Register base,
441 DRegister first, DRegister last, Condition cond = AL);
442
443 void vldms(BlockAddressMode am, Register base,
444 SRegister first, SRegister last, Condition cond = AL);
445 void vstms(BlockAddressMode am, Register base,
446 SRegister first, SRegister last, Condition cond = AL);
447
regis 2013/03/04 17:25:40 We usually list the Single version before the Doub
438 void vadds(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL); 448 void vadds(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL);
439 void vaddd(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL); 449 void vaddd(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL);
440 void vsubs(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL); 450 void vsubs(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL);
441 void vsubd(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL); 451 void vsubd(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL);
442 void vmuls(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL); 452 void vmuls(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL);
443 void vmuld(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL); 453 void vmuld(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL);
444 void vmlas(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL); 454 void vmlas(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL);
445 void vmlad(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL); 455 void vmlad(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL);
446 void vmlss(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL); 456 void vmlss(SRegister sd, SRegister sn, SRegister sm, Condition cond = AL);
447 void vmlsd(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL); 457 void vmlsd(DRegister dd, DRegister dn, DRegister dm, Condition cond = AL);
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 Register rm, 648 Register rm,
639 ShifterOperand so); 649 ShifterOperand so);
640 650
641 void EmitMulOp(Condition cond, 651 void EmitMulOp(Condition cond,
642 int32_t opcode, 652 int32_t opcode,
643 Register rd, 653 Register rd,
644 Register rn, 654 Register rn,
645 Register rm, 655 Register rm,
646 Register rs); 656 Register rs);
647 657
658 void EmitMultiVSMemOp(Condition cond,
659 BlockAddressMode am,
660 bool load,
661 Register base,
662 SRegister start,
663 uint32_t count);
664
665 void EmitMultiVDMemOp(Condition cond,
666 BlockAddressMode am,
667 bool load,
668 Register base,
669 DRegister start,
670 int32_t count);
671
648 void EmitVFPsss(Condition cond, 672 void EmitVFPsss(Condition cond,
649 int32_t opcode, 673 int32_t opcode,
650 SRegister sd, 674 SRegister sd,
651 SRegister sn, 675 SRegister sn,
652 SRegister sm); 676 SRegister sm);
653 677
654 void EmitVFPddd(Condition cond, 678 void EmitVFPddd(Condition cond,
655 int32_t opcode, 679 int32_t opcode,
656 DRegister dd, 680 DRegister dd,
657 DRegister dn, 681 DRegister dn,
(...skipping 20 matching lines...) Expand all
678 return *reg1 - *reg2; 702 return *reg1 - *reg2;
679 } 703 }
680 704
681 DISALLOW_ALLOCATION(); 705 DISALLOW_ALLOCATION();
682 DISALLOW_COPY_AND_ASSIGN(Assembler); 706 DISALLOW_COPY_AND_ASSIGN(Assembler);
683 }; 707 };
684 708
685 } // namespace dart 709 } // namespace dart
686 710
687 #endif // VM_ASSEMBLER_ARM_H_ 711 #endif // VM_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/assembler_arm.cc » ('j') | runtime/vm/assembler_arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698