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

Side by Side Diff: src/DartARM32/assembler_arm.h

Issue 1647683002: Add vmov between integers and floats in ARM assembler. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Additional cleanups. Created 4 years, 11 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 | « no previous file | src/DartARM32/assembler_arm.cc » ('j') | src/IceInstARM32.cpp » ('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 // This is forked from Dart revision df52deea9f25690eb8b66c5995da92b70f7ac1fe 5 // This is forked from Dart revision df52deea9f25690eb8b66c5995da92b70f7ac1fe
6 // Please update the (git) revision if we merge changes from Dart. 6 // Please update the (git) revision if we merge changes from Dart.
7 // https://code.google.com/p/dart/wiki/GettingTheSource 7 // https://code.google.com/p/dart/wiki/GettingTheSource
8 8
9 #ifndef VM_ASSEMBLER_ARM_H_ 9 #ifndef VM_ASSEMBLER_ARM_H_
10 #define VM_ASSEMBLER_ARM_H_ 10 #define VM_ASSEMBLER_ARM_H_
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after
605 // Note that gdb sets breakpoints using the undefined instruction 0xe7f001f0. 605 // Note that gdb sets breakpoints using the undefined instruction 0xe7f001f0.
606 void bkpt(uint16_t imm16); 606 void bkpt(uint16_t imm16);
607 607
608 static int32_t BkptEncoding(uint16_t imm16) { 608 static int32_t BkptEncoding(uint16_t imm16) {
609 // bkpt requires that the cond field is AL. 609 // bkpt requires that the cond field is AL.
610 return (AL << kConditionShift) | B24 | B21 | 610 return (AL << kConditionShift) | B24 | B21 |
611 ((imm16 >> 4) << 8) | B6 | B5 | B4 | (imm16 & 0xf); 611 ((imm16 >> 4) << 8) | B6 | B5 | B4 | (imm16 & 0xf);
612 } 612 }
613 #endif 613 #endif
614 614
615 static uword GetBreakInstructionFiller() { 615 static uword GetBreakInstructionFiller() {
Jim Stichnoth 2016/01/27 22:59:22 Will we ever use this? If not, maybe document tha
Karl 2016/01/27 23:36:42 Done.
616 return BkptEncoding(0); 616 return BkptEncoding(0);
617 } 617 }
618 618
619 // Floating point instructions (VFPv3-D16 and VFPv3-D32 profiles). 619 // Floating point instructions (VFPv3-D16 and VFPv3-D32 profiles).
620 #if 0 620 #if 0
621 // Moved to ARM32::AssemblerARM32::vmovsr(). 621 // Moved to ARM32::AssemblerARM32::vmovsr().
622 void vmovsr(SRegister sn, Register rt, Condition cond = AL); 622 void vmovsr(SRegister sn, Register rt, Condition cond = AL);
623 // Moved to ARM32::AssemblerARM32::vmovrs().
624 void vmovrs(Register rt, SRegister sn, Condition cond = AL);
623 #endif 625 #endif
624 void vmovrs(Register rt, SRegister sn, Condition cond = AL);
625 void vmovsrr(SRegister sm, Register rt, Register rt2, Condition cond = AL); 626 void vmovsrr(SRegister sm, Register rt, Register rt2, Condition cond = AL);
626 void vmovrrs(Register rt, Register rt2, SRegister sm, Condition cond = AL); 627 void vmovrrs(Register rt, Register rt2, SRegister sm, Condition cond = AL);
627 void vmovdrr(DRegister dm, Register rt, Register rt2, Condition cond = AL); 628 void vmovdrr(DRegister dm, Register rt, Register rt2, Condition cond = AL);
628 void vmovrrd(Register rt, Register rt2, DRegister dm, Condition cond = AL); 629 void vmovrrd(Register rt, Register rt2, DRegister dm, Condition cond = AL);
629 void vmovdr(DRegister dd, int i, Register rt, Condition cond = AL); 630 void vmovdr(DRegister dd, int i, Register rt, Condition cond = AL);
630 #if 0 631 #if 0
631 // Moved to ARM32::AssemblerARM32::vmovss(). 632 // Moved to ARM32::AssemblerARM32::vmovss().
632 void vmovs(SRegister sd, SRegister sm, Condition cond = AL); 633 void vmovs(SRegister sd, SRegister sm, Condition cond = AL);
633 // Moved to ARM32::AssemblerARM32::vmovdd(). 634 // Moved to ARM32::AssemblerARM32::vmovdd().
634 void vmovd(DRegister dd, DRegister dm, Condition cond = AL); 635 void vmovd(DRegister dd, DRegister dm, Condition cond = AL);
(...skipping 753 matching lines...) Expand 10 before | Expand all | Expand 10 after
1388 // ARM32::AssemblerARM::veord() 1389 // ARM32::AssemblerARM::veord()
1389 #endif 1390 #endif
1390 1391
1391 DISALLOW_ALLOCATION(); 1392 DISALLOW_ALLOCATION();
1392 DISALLOW_COPY_AND_ASSIGN(Assembler); 1393 DISALLOW_COPY_AND_ASSIGN(Assembler);
1393 }; 1394 };
1394 1395
1395 } // namespace dart 1396 } // namespace dart
1396 1397
1397 #endif // VM_ASSEMBLER_ARM_H_ 1398 #endif // VM_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/DartARM32/assembler_arm.cc » ('j') | src/IceInstARM32.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698