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

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

Issue 2797923006: [ARM] Implement D-register versions of vzip, vuzp, and vtrn. (Closed)
Patch Set: Remove tests for vzip.32 / vuzp.32 - these are pseudo ops for vtrn.32. Created 3 years, 8 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 | « src/arm/disasm-arm.cc ('k') | 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 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 double get_double_from_register_pair(int reg); 147 double get_double_from_register_pair(int reg);
148 void set_register_pair_from_double(int reg, double* value); 148 void set_register_pair_from_double(int reg, double* value);
149 void set_dw_register(int dreg, const int* dbl); 149 void set_dw_register(int dreg, const int* dbl);
150 150
151 // Support for VFP. 151 // Support for VFP.
152 void get_d_register(int dreg, uint64_t* value); 152 void get_d_register(int dreg, uint64_t* value);
153 void set_d_register(int dreg, const uint64_t* value); 153 void set_d_register(int dreg, const uint64_t* value);
154 void get_d_register(int dreg, uint32_t* value); 154 void get_d_register(int dreg, uint32_t* value);
155 void set_d_register(int dreg, const uint32_t* value); 155 void set_d_register(int dreg, const uint32_t* value);
156 // Support for NEON. 156 // Support for NEON.
157 template <typename T> 157 template <typename T, int SIZE = kSimd128Size>
158 void get_d_register(int dreg, T* value); 158 void get_neon_register(int reg, T (&value)[SIZE / sizeof(T)]);
159 template <typename T> 159 template <typename T, int SIZE = kSimd128Size>
160 void set_d_register(int dreg, const T* value); 160 void set_neon_register(int reg, const T (&value)[SIZE / sizeof(T)]);
161 template <typename T>
162 void get_q_register(int qreg, T* value);
163 template <typename T>
164 void set_q_register(int qreg, const T* value);
165 161
166 void set_s_register(int reg, unsigned int value); 162 void set_s_register(int reg, unsigned int value);
167 unsigned int get_s_register(int reg) const; 163 unsigned int get_s_register(int reg) const;
168 164
169 void set_d_register_from_double(int dreg, const double& dbl) { 165 void set_d_register_from_double(int dreg, const double& dbl) {
170 SetVFPRegister<double, 2>(dreg, dbl); 166 SetVFPRegister<double, 2>(dreg, dbl);
171 } 167 }
172 168
173 double get_double_from_d_register(int dreg) { 169 double get_double_from_d_register(int dreg) {
174 return GetFromVFPRegister<double, 2>(dreg); 170 return GetFromVFPRegister<double, 2>(dreg);
(...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) { 573 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) {
578 Simulator::current(isolate)->PopAddress(); 574 Simulator::current(isolate)->PopAddress();
579 } 575 }
580 }; 576 };
581 577
582 } // namespace internal 578 } // namespace internal
583 } // namespace v8 579 } // namespace v8
584 580
585 #endif // !defined(USE_SIMULATOR) 581 #endif // !defined(USE_SIMULATOR)
586 #endif // V8_ARM_SIMULATOR_ARM_H_ 582 #endif // V8_ARM_SIMULATOR_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/disasm-arm.cc ('k') | src/arm/simulator-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698