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

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

Issue 2821014: Add movw and movt support for ARMv7. This includes some code from... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 10 years, 6 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 | src/arm/assembler-arm.cc » ('j') | src/arm/disasm-arm.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 extern const Instr kMovLrPc; 541 extern const Instr kMovLrPc;
542 extern const Instr kLdrPCMask; 542 extern const Instr kLdrPCMask;
543 extern const Instr kLdrPCPattern; 543 extern const Instr kLdrPCPattern;
544 extern const Instr kBlxRegMask; 544 extern const Instr kBlxRegMask;
545 extern const Instr kBlxRegPattern; 545 extern const Instr kBlxRegPattern;
546 546
547 extern const Instr kMovMvnMask; 547 extern const Instr kMovMvnMask;
548 extern const Instr kMovMvnPattern; 548 extern const Instr kMovMvnPattern;
549 extern const Instr kMovMvnFlip; 549 extern const Instr kMovMvnFlip;
550 550
551 extern const Instr kMovLeaveCCMask;
552 extern const Instr kMovLeaveCCPattern;
553 extern const Instr kMovwMask;
554 extern const Instr kMovwPattern;
555 extern const Instr kMovwLeaveCCFlip;
556
551 extern const Instr kCmpCmnMask; 557 extern const Instr kCmpCmnMask;
552 extern const Instr kCmpCmnPattern; 558 extern const Instr kCmpCmnPattern;
553 extern const Instr kCmpCmnFlip; 559 extern const Instr kCmpCmnFlip;
554 560
555 extern const Instr kALUMask; 561 extern const Instr kALUMask;
556 extern const Instr kAddPattern; 562 extern const Instr kAddPattern;
557 extern const Instr kSubPattern; 563 extern const Instr kSubPattern;
558 extern const Instr kAndPattern; 564 extern const Instr kAndPattern;
559 extern const Instr kBicPattern; 565 extern const Instr kBicPattern;
560 extern const Instr kAddSubFlip; 566 extern const Instr kAddSubFlip;
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
768 SBit s = LeaveCC, Condition cond = al) { 774 SBit s = LeaveCC, Condition cond = al) {
769 orr(dst, src1, Operand(src2), s, cond); 775 orr(dst, src1, Operand(src2), s, cond);
770 } 776 }
771 777
772 void mov(Register dst, const Operand& src, 778 void mov(Register dst, const Operand& src,
773 SBit s = LeaveCC, Condition cond = al); 779 SBit s = LeaveCC, Condition cond = al);
774 void mov(Register dst, Register src, SBit s = LeaveCC, Condition cond = al) { 780 void mov(Register dst, Register src, SBit s = LeaveCC, Condition cond = al) {
775 mov(dst, Operand(src), s, cond); 781 mov(dst, Operand(src), s, cond);
776 } 782 }
777 783
784 // Movw is just mov with the relevant immediate.
Søren Thygesen Gjesse 2010/06/21 21:39:26 We don't need movw which just asserts a 16-bit imm
785 void movt(Register reg, uint32_t immediate, Condition cond = al);
786
778 void bic(Register dst, Register src1, const Operand& src2, 787 void bic(Register dst, Register src1, const Operand& src2,
779 SBit s = LeaveCC, Condition cond = al); 788 SBit s = LeaveCC, Condition cond = al);
780 789
781 void mvn(Register dst, const Operand& src, 790 void mvn(Register dst, const Operand& src,
782 SBit s = LeaveCC, Condition cond = al); 791 SBit s = LeaveCC, Condition cond = al);
783 792
784 // Multiply instructions 793 // Multiply instructions
785 794
786 void mla(Register dst, Register src1, Register src2, Register srcA, 795 void mla(Register dst, Register src1, Register src2, Register srcA,
787 SBit s = LeaveCC, Condition cond = al); 796 SBit s = LeaveCC, Condition cond = al);
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
1198 1207
1199 friend class RegExpMacroAssemblerARM; 1208 friend class RegExpMacroAssemblerARM;
1200 friend class RelocInfo; 1209 friend class RelocInfo;
1201 friend class CodePatcher; 1210 friend class CodePatcher;
1202 friend class BlockConstPoolScope; 1211 friend class BlockConstPoolScope;
1203 }; 1212 };
1204 1213
1205 } } // namespace v8::internal 1214 } } // namespace v8::internal
1206 1215
1207 #endif // V8_ARM_ASSEMBLER_ARM_H_ 1216 #endif // V8_ARM_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm/assembler-arm.cc » ('j') | src/arm/disasm-arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698