OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_ | 5 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_ |
6 #define V8_COMPILER_MACHINE_OPERATOR_H_ | 6 #define V8_COMPILER_MACHINE_OPERATOR_H_ |
7 | 7 |
8 #include "src/base/flags.h" | 8 #include "src/base/flags.h" |
9 #include "src/machine-type.h" | 9 #include "src/machine-type.h" |
10 | 10 |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
335 // integer and vice versa. | 335 // integer and vice versa. |
336 const Operator* BitcastFloat32ToInt32(); | 336 const Operator* BitcastFloat32ToInt32(); |
337 const Operator* BitcastFloat64ToInt64(); | 337 const Operator* BitcastFloat64ToInt64(); |
338 const Operator* BitcastInt32ToFloat32(); | 338 const Operator* BitcastInt32ToFloat32(); |
339 const Operator* BitcastInt64ToFloat64(); | 339 const Operator* BitcastInt64ToFloat64(); |
340 | 340 |
341 // Floating point operators always operate with IEEE 754 round-to-nearest | 341 // Floating point operators always operate with IEEE 754 round-to-nearest |
342 // (single-precision). | 342 // (single-precision). |
343 const Operator* Float32Add(); | 343 const Operator* Float32Add(); |
344 const Operator* Float32Sub(); | 344 const Operator* Float32Sub(); |
345 const Operator* Float32SubPreserveNan(); | |
346 const Operator* Float32Mul(); | 345 const Operator* Float32Mul(); |
347 const Operator* Float32Div(); | 346 const Operator* Float32Div(); |
348 const Operator* Float32Sqrt(); | 347 const Operator* Float32Sqrt(); |
349 | 348 |
350 // Floating point operators always operate with IEEE 754 round-to-nearest | 349 // Floating point operators always operate with IEEE 754 round-to-nearest |
351 // (double-precision). | 350 // (double-precision). |
352 const Operator* Float64Add(); | 351 const Operator* Float64Add(); |
353 const Operator* Float64Sub(); | 352 const Operator* Float64Sub(); |
354 const Operator* Float64SubPreserveNan(); | |
355 const Operator* Float64Mul(); | 353 const Operator* Float64Mul(); |
356 const Operator* Float64Div(); | 354 const Operator* Float64Div(); |
357 const Operator* Float64Mod(); | 355 const Operator* Float64Mod(); |
358 const Operator* Float64Sqrt(); | 356 const Operator* Float64Sqrt(); |
359 | 357 |
360 // Floating point comparisons complying to IEEE 754 (single-precision). | 358 // Floating point comparisons complying to IEEE 754 (single-precision). |
361 const Operator* Float32Equal(); | 359 const Operator* Float32Equal(); |
362 const Operator* Float32LessThan(); | 360 const Operator* Float32LessThan(); |
363 const Operator* Float32LessThanOrEqual(); | 361 const Operator* Float32LessThanOrEqual(); |
364 | 362 |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
702 }; | 700 }; |
703 | 701 |
704 | 702 |
705 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 703 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
706 | 704 |
707 } // namespace compiler | 705 } // namespace compiler |
708 } // namespace internal | 706 } // namespace internal |
709 } // namespace v8 | 707 } // namespace v8 |
710 | 708 |
711 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 709 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
OLD | NEW |