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

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

Issue 11191029: Use VLDR instead of VMOVs from GPR when a 64-bit double can't be encoded as a VMOV immediate. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix comment by ulan: remove badly merged code (redundant). Created 8 years 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
OLDNEW
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 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 B27 = 1 << 27, 260 B27 = 1 << 27,
261 B28 = 1 << 28, 261 B28 = 1 << 28,
262 262
263 // Instruction bit masks. 263 // Instruction bit masks.
264 kCondMask = 15 << 28, 264 kCondMask = 15 << 28,
265 kALUMask = 0x6f << 21, 265 kALUMask = 0x6f << 21,
266 kRdMask = 15 << 12, // In str instruction. 266 kRdMask = 15 << 12, // In str instruction.
267 kCoprocessorMask = 15 << 8, 267 kCoprocessorMask = 15 << 8,
268 kOpCodeMask = 15 << 21, // In data-processing instructions. 268 kOpCodeMask = 15 << 21, // In data-processing instructions.
269 kImm24Mask = (1 << 24) - 1, 269 kImm24Mask = (1 << 24) - 1,
270 kOff12Mask = (1 << 12) - 1 270 kOff12Mask = (1 << 12) - 1,
271 kOff8Mask = (1 << 8) - 1
271 }; 272 };
272 273
273 274
274 // ----------------------------------------------------------------------------- 275 // -----------------------------------------------------------------------------
275 // Addressing modes and instruction variants. 276 // Addressing modes and instruction variants.
276 277
277 // Condition code updating mode. 278 // Condition code updating mode.
278 enum SBit { 279 enum SBit {
279 SetCC = 1 << 20, // Set condition code. 280 SetCC = 1 << 20, // Set condition code.
280 LeaveCC = 0 << 20 // Leave condition code unchanged. 281 LeaveCC = 0 << 20 // Leave condition code unchanged.
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
457 458
458 // ldr(r, MemOperand(sp, 4, PostIndex), al) instruction (aka pop(r)) 459 // ldr(r, MemOperand(sp, 4, PostIndex), al) instruction (aka pop(r))
459 // register r is not encoded. 460 // register r is not encoded.
460 extern const Instr kPopRegPattern; 461 extern const Instr kPopRegPattern;
461 462
462 // mov lr, pc 463 // mov lr, pc
463 extern const Instr kMovLrPc; 464 extern const Instr kMovLrPc;
464 // ldr rd, [pc, #offset] 465 // ldr rd, [pc, #offset]
465 extern const Instr kLdrPCMask; 466 extern const Instr kLdrPCMask;
466 extern const Instr kLdrPCPattern; 467 extern const Instr kLdrPCPattern;
468 // vldr dd, [pc, #offset]
469 extern const Instr kVldrDPCMask;
470 extern const Instr kVldrDPCPattern;
467 // blxcc rm 471 // blxcc rm
468 extern const Instr kBlxRegMask; 472 extern const Instr kBlxRegMask;
469 473
470 extern const Instr kBlxRegPattern; 474 extern const Instr kBlxRegPattern;
471 475
472 extern const Instr kMovMvnMask; 476 extern const Instr kMovMvnMask;
473 extern const Instr kMovMvnPattern; 477 extern const Instr kMovMvnPattern;
474 extern const Instr kMovMvnFlip; 478 extern const Instr kMovMvnFlip;
475 extern const Instr kMovLeaveCCMask; 479 extern const Instr kMovLeaveCCMask;
476 extern const Instr kMovLeaveCCPattern; 480 extern const Instr kMovLeaveCCPattern;
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
774 static int Number(const char* name, bool* is_double); 778 static int Number(const char* name, bool* is_double);
775 779
776 private: 780 private:
777 static const char* names_[kNumVFPRegisters]; 781 static const char* names_[kNumVFPRegisters];
778 }; 782 };
779 783
780 784
781 } } // namespace v8::internal 785 } } // namespace v8::internal
782 786
783 #endif // V8_ARM_CONSTANTS_ARM_H_ 787 #endif // V8_ARM_CONSTANTS_ARM_H_
OLDNEW
« src/arm/assembler-arm.cc ('K') | « src/arm/assembler-arm.cc ('k') | src/assembler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698