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

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

Issue 104353002: MIPS: Faster memcpy. (Closed) Base URL: git://github.com/v8/v8.git@bleeding_edge
Patch Set: Rebased Created 7 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
« no previous file with comments | « src/mips/codegen-mips.cc ('k') | src/mips/disasm-mips.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 117
118 const uint32_t kFCSRFlagMask = 118 const uint32_t kFCSRFlagMask =
119 kFCSRInexactFlagMask | 119 kFCSRInexactFlagMask |
120 kFCSRUnderflowFlagMask | 120 kFCSRUnderflowFlagMask |
121 kFCSROverflowFlagMask | 121 kFCSROverflowFlagMask |
122 kFCSRDivideByZeroFlagMask | 122 kFCSRDivideByZeroFlagMask |
123 kFCSRInvalidOpFlagMask; 123 kFCSRInvalidOpFlagMask;
124 124
125 const uint32_t kFCSRExceptionFlagMask = kFCSRFlagMask ^ kFCSRInexactFlagMask; 125 const uint32_t kFCSRExceptionFlagMask = kFCSRFlagMask ^ kFCSRInexactFlagMask;
126 126
127 // 'pref' instruction hints
128 const int32_t kPrefHintLoad = 0;
129 const int32_t kPrefHintStore = 1;
130 const int32_t kPrefHintLoadStreamed = 4;
131 const int32_t kPrefHintStoreStreamed = 5;
132 const int32_t kPrefHintLoadRetained = 6;
133 const int32_t kPrefHintStoreRetained = 7;
134 const int32_t kPrefHintWritebackInvalidate = 25;
135 const int32_t kPrefHintPrepareForStore = 30;
136
127 // Helper functions for converting between register numbers and names. 137 // Helper functions for converting between register numbers and names.
128 class Registers { 138 class Registers {
129 public: 139 public:
130 // Return the name of the register. 140 // Return the name of the register.
131 static const char* Name(int reg); 141 static const char* Name(int reg);
132 142
133 // Lookup the register number for the name provided. 143 // Lookup the register number for the name provided.
134 static int Number(const char* name); 144 static int Number(const char* name);
135 145
136 struct RegisterAlias { 146 struct RegisterAlias {
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 LWR = ((4 << 3) + 6) << kOpcodeShift, 300 LWR = ((4 << 3) + 6) << kOpcodeShift,
291 SB = ((5 << 3) + 0) << kOpcodeShift, 301 SB = ((5 << 3) + 0) << kOpcodeShift,
292 SH = ((5 << 3) + 1) << kOpcodeShift, 302 SH = ((5 << 3) + 1) << kOpcodeShift,
293 SWL = ((5 << 3) + 2) << kOpcodeShift, 303 SWL = ((5 << 3) + 2) << kOpcodeShift,
294 SW = ((5 << 3) + 3) << kOpcodeShift, 304 SW = ((5 << 3) + 3) << kOpcodeShift,
295 SWR = ((5 << 3) + 6) << kOpcodeShift, 305 SWR = ((5 << 3) + 6) << kOpcodeShift,
296 306
297 LWC1 = ((6 << 3) + 1) << kOpcodeShift, 307 LWC1 = ((6 << 3) + 1) << kOpcodeShift,
298 LDC1 = ((6 << 3) + 5) << kOpcodeShift, 308 LDC1 = ((6 << 3) + 5) << kOpcodeShift,
299 309
310 PREF = ((6 << 3) + 3) << kOpcodeShift,
311
300 SWC1 = ((7 << 3) + 1) << kOpcodeShift, 312 SWC1 = ((7 << 3) + 1) << kOpcodeShift,
301 SDC1 = ((7 << 3) + 5) << kOpcodeShift, 313 SDC1 = ((7 << 3) + 5) << kOpcodeShift,
302 314
303 COP1X = ((1 << 4) + 3) << kOpcodeShift 315 COP1X = ((1 << 4) + 3) << kOpcodeShift
304 }; 316 };
305 317
306 enum SecondaryField { 318 enum SecondaryField {
307 // SPECIAL Encoding of Function Field. 319 // SPECIAL Encoding of Function Field.
308 SLL = ((0 << 3) + 0), 320 SLL = ((0 << 3) + 0),
309 MOVCI = ((0 << 3) + 1), 321 MOVCI = ((0 << 3) + 1),
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after
799 // JS argument slots size. 811 // JS argument slots size.
800 const int kJSArgsSlotsSize = 0 * Instruction::kInstrSize; 812 const int kJSArgsSlotsSize = 0 * Instruction::kInstrSize;
801 // Assembly builtins argument slots size. 813 // Assembly builtins argument slots size.
802 const int kBArgsSlotsSize = 0 * Instruction::kInstrSize; 814 const int kBArgsSlotsSize = 0 * Instruction::kInstrSize;
803 815
804 const int kBranchReturnOffset = 2 * Instruction::kInstrSize; 816 const int kBranchReturnOffset = 2 * Instruction::kInstrSize;
805 817
806 } } // namespace v8::internal 818 } } // namespace v8::internal
807 819
808 #endif // #ifndef V8_MIPS_CONSTANTS_H_ 820 #endif // #ifndef V8_MIPS_CONSTANTS_H_
OLDNEW
« no previous file with comments | « src/mips/codegen-mips.cc ('k') | src/mips/disasm-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698