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

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

Issue 1044793002: [turbofan] Add backend support for float32 operations. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add MachineOperator unit tests. Created 5 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
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 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 bool OverflowFrom(int32_t alu_out, 258 bool OverflowFrom(int32_t alu_out,
259 int32_t left, 259 int32_t left,
260 int32_t right, 260 int32_t right,
261 bool addition); 261 bool addition);
262 262
263 inline int GetCarry() { 263 inline int GetCarry() {
264 return c_flag_ ? 1 : 0; 264 return c_flag_ ? 1 : 0;
265 } 265 }
266 266
267 // Support for VFP. 267 // Support for VFP.
268 void Compute_FPSCR_Flags(float val1, float val2);
268 void Compute_FPSCR_Flags(double val1, double val2); 269 void Compute_FPSCR_Flags(double val1, double val2);
269 void Copy_FPSCR_to_APSR(); 270 void Copy_FPSCR_to_APSR();
271 inline float canonicalizeNaN(float value);
270 inline double canonicalizeNaN(double value); 272 inline double canonicalizeNaN(double value);
271 273
272 // Helper functions to decode common "addressing" modes 274 // Helper functions to decode common "addressing" modes
273 int32_t GetShiftRm(Instruction* instr, bool* carry_out); 275 int32_t GetShiftRm(Instruction* instr, bool* carry_out);
274 int32_t GetImm(Instruction* instr, bool* carry_out); 276 int32_t GetImm(Instruction* instr, bool* carry_out);
275 int32_t ProcessPU(Instruction* instr, 277 int32_t ProcessPU(Instruction* instr,
276 int num_regs, 278 int num_regs,
277 int operand_size, 279 int operand_size,
278 intptr_t* start_address, 280 intptr_t* start_address,
279 intptr_t* end_address); 281 intptr_t* end_address);
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 455
454 static inline void UnregisterCTryCatch() { 456 static inline void UnregisterCTryCatch() {
455 Simulator::current(Isolate::Current())->PopAddress(); 457 Simulator::current(Isolate::Current())->PopAddress();
456 } 458 }
457 }; 459 };
458 460
459 } } // namespace v8::internal 461 } } // namespace v8::internal
460 462
461 #endif // !defined(USE_SIMULATOR) 463 #endif // !defined(USE_SIMULATOR)
462 #endif // V8_ARM_SIMULATOR_ARM_H_ 464 #endif // V8_ARM_SIMULATOR_ARM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698