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

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: Revert Operand::Zero() change that came with the RelocInfo::NONE32 rename, both to be done later. Created 8 years, 2 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
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 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 B27 = 1 << 27, 251 B27 = 1 << 27,
252 B28 = 1 << 28, 252 B28 = 1 << 28,
253 253
254 // Instruction bit masks. 254 // Instruction bit masks.
255 kCondMask = 15 << 28, 255 kCondMask = 15 << 28,
256 kALUMask = 0x6f << 21, 256 kALUMask = 0x6f << 21,
257 kRdMask = 15 << 12, // In str instruction. 257 kRdMask = 15 << 12, // In str instruction.
258 kCoprocessorMask = 15 << 8, 258 kCoprocessorMask = 15 << 8,
259 kOpCodeMask = 15 << 21, // In data-processing instructions. 259 kOpCodeMask = 15 << 21, // In data-processing instructions.
260 kImm24Mask = (1 << 24) - 1, 260 kImm24Mask = (1 << 24) - 1,
261 kOff12Mask = (1 << 12) - 1 261 kOff12Mask = (1 << 12) - 1,
262 kOff8Mask = (1 << 8) - 1
262 }; 263 };
263 264
264 265
265 // ----------------------------------------------------------------------------- 266 // -----------------------------------------------------------------------------
266 // Addressing modes and instruction variants. 267 // Addressing modes and instruction variants.
267 268
268 // Condition code updating mode. 269 // Condition code updating mode.
269 enum SBit { 270 enum SBit {
270 SetCC = 1 << 20, // Set condition code. 271 SetCC = 1 << 20, // Set condition code.
271 LeaveCC = 0 << 20 // Leave condition code unchanged. 272 LeaveCC = 0 << 20 // Leave condition code unchanged.
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 449
449 // ldr(r, MemOperand(sp, 4, PostIndex), al) instruction (aka pop(r)) 450 // ldr(r, MemOperand(sp, 4, PostIndex), al) instruction (aka pop(r))
450 // register r is not encoded. 451 // register r is not encoded.
451 extern const Instr kPopRegPattern; 452 extern const Instr kPopRegPattern;
452 453
453 // mov lr, pc 454 // mov lr, pc
454 extern const Instr kMovLrPc; 455 extern const Instr kMovLrPc;
455 // ldr rd, [pc, #offset] 456 // ldr rd, [pc, #offset]
456 extern const Instr kLdrPCMask; 457 extern const Instr kLdrPCMask;
457 extern const Instr kLdrPCPattern; 458 extern const Instr kLdrPCPattern;
459 // vldr dd, [pc, #offset]
460 extern const Instr kVldrDPCMask;
461 extern const Instr kVldrDPCPattern;
458 // blxcc rm 462 // blxcc rm
459 extern const Instr kBlxRegMask; 463 extern const Instr kBlxRegMask;
460 464
461 extern const Instr kBlxRegPattern; 465 extern const Instr kBlxRegPattern;
462 466
463 extern const Instr kMovMvnMask; 467 extern const Instr kMovMvnMask;
464 extern const Instr kMovMvnPattern; 468 extern const Instr kMovMvnPattern;
465 extern const Instr kMovMvnFlip; 469 extern const Instr kMovMvnFlip;
466 extern const Instr kMovLeaveCCMask; 470 extern const Instr kMovLeaveCCMask;
467 extern const Instr kMovLeaveCCPattern; 471 extern const Instr kMovLeaveCCPattern;
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 static int Number(const char* name, bool* is_double); 769 static int Number(const char* name, bool* is_double);
766 770
767 private: 771 private:
768 static const char* names_[kNumVFPRegisters]; 772 static const char* names_[kNumVFPRegisters];
769 }; 773 };
770 774
771 775
772 } } // namespace v8::internal 776 } } // namespace v8::internal
773 777
774 #endif // V8_ARM_CONSTANTS_ARM_H_ 778 #endif // V8_ARM_CONSTANTS_ARM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698