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/simulator-arm.h

Issue 2619223002: [ARM] Add get_q_register, set_q_register overloads for NEON instructions. (Closed)
Patch Set: Remove unnecessary overloads. Created 3 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/arm/simulator-arm.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 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 5
6 // Declares a Simulator for ARM instructions if we are not generating a native 6 // Declares a Simulator for ARM instructions if we are not generating a native
7 // ARM binary. This Simulator allows us to run and debug ARM code generation on 7 // ARM binary. This Simulator allows us to run and debug ARM code generation on
8 // regular desktop machines. 8 // regular desktop machines.
9 // V8 calls into generated code by "calling" the CALL_GENERATED_CODE macro, 9 // V8 calls into generated code by "calling" the CALL_GENERATED_CODE macro,
10 // which will start execution in the Simulator or forwards to the real entry 10 // which will start execution in the Simulator or forwards to the real entry
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 int32_t get_register(int reg) const; 144 int32_t get_register(int reg) const;
145 double get_double_from_register_pair(int reg); 145 double get_double_from_register_pair(int reg);
146 void set_register_pair_from_double(int reg, double* value); 146 void set_register_pair_from_double(int reg, double* value);
147 void set_dw_register(int dreg, const int* dbl); 147 void set_dw_register(int dreg, const int* dbl);
148 148
149 // Support for VFP. 149 // Support for VFP.
150 void get_d_register(int dreg, uint64_t* value); 150 void get_d_register(int dreg, uint64_t* value);
151 void set_d_register(int dreg, const uint64_t* value); 151 void set_d_register(int dreg, const uint64_t* value);
152 void get_d_register(int dreg, uint32_t* value); 152 void get_d_register(int dreg, uint32_t* value);
153 void set_d_register(int dreg, const uint32_t* value); 153 void set_d_register(int dreg, const uint32_t* value);
154 void get_q_register(int qreg, uint64_t* value); 154 // Support for NEON.
155 void set_q_register(int qreg, const uint64_t* value); 155 template <typename T>
156 void get_q_register(int qreg, uint32_t* value); 156 void get_q_register(int qreg, T* value);
157 void set_q_register(int qreg, const uint32_t* value); 157 template <typename T>
158 void set_q_register(int qreg, const T* value);
158 159
159 void set_s_register(int reg, unsigned int value); 160 void set_s_register(int reg, unsigned int value);
160 unsigned int get_s_register(int reg) const; 161 unsigned int get_s_register(int reg) const;
161 162
162 void set_d_register_from_double(int dreg, const double& dbl) { 163 void set_d_register_from_double(int dreg, const double& dbl) {
163 SetVFPRegister<double, 2>(dreg, dbl); 164 SetVFPRegister<double, 2>(dreg, dbl);
164 } 165 }
165 166
166 double get_double_from_d_register(int dreg) { 167 double get_double_from_d_register(int dreg) {
167 return GetFromVFPRegister<double, 2>(dreg); 168 return GetFromVFPRegister<double, 2>(dreg);
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) { 475 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) {
475 Simulator::current(isolate)->PopAddress(); 476 Simulator::current(isolate)->PopAddress();
476 } 477 }
477 }; 478 };
478 479
479 } // namespace internal 480 } // namespace internal
480 } // namespace v8 481 } // namespace v8
481 482
482 #endif // !defined(USE_SIMULATOR) 483 #endif // !defined(USE_SIMULATOR)
483 #endif // V8_ARM_SIMULATOR_ARM_H_ 484 #endif // V8_ARM_SIMULATOR_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm/simulator-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698