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 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
238 // integer and vice versa. | 238 // integer and vice versa. |
239 const Operator* BitcastFloat32ToInt32(); | 239 const Operator* BitcastFloat32ToInt32(); |
240 const Operator* BitcastFloat64ToInt64(); | 240 const Operator* BitcastFloat64ToInt64(); |
241 const Operator* BitcastInt32ToFloat32(); | 241 const Operator* BitcastInt32ToFloat32(); |
242 const Operator* BitcastInt64ToFloat64(); | 242 const Operator* BitcastInt64ToFloat64(); |
243 | 243 |
244 // Floating point operators always operate with IEEE 754 round-to-nearest | 244 // Floating point operators always operate with IEEE 754 round-to-nearest |
245 // (single-precision). | 245 // (single-precision). |
246 const Operator* Float32Add(); | 246 const Operator* Float32Add(); |
247 const Operator* Float32Sub(); | 247 const Operator* Float32Sub(); |
| 248 const Operator* Float32SubPreserveNan(); |
248 const Operator* Float32Mul(); | 249 const Operator* Float32Mul(); |
249 const Operator* Float32Div(); | 250 const Operator* Float32Div(); |
250 const Operator* Float32Sqrt(); | 251 const Operator* Float32Sqrt(); |
251 | 252 |
252 // Floating point operators always operate with IEEE 754 round-to-nearest | 253 // Floating point operators always operate with IEEE 754 round-to-nearest |
253 // (double-precision). | 254 // (double-precision). |
254 const Operator* Float64Add(); | 255 const Operator* Float64Add(); |
255 const Operator* Float64Sub(); | 256 const Operator* Float64Sub(); |
| 257 const Operator* Float64SubPreserveNan(); |
256 const Operator* Float64Mul(); | 258 const Operator* Float64Mul(); |
257 const Operator* Float64Div(); | 259 const Operator* Float64Div(); |
258 const Operator* Float64Mod(); | 260 const Operator* Float64Mod(); |
259 const Operator* Float64Sqrt(); | 261 const Operator* Float64Sqrt(); |
260 | 262 |
261 // Floating point comparisons complying to IEEE 754 (single-precision). | 263 // Floating point comparisons complying to IEEE 754 (single-precision). |
262 const Operator* Float32Equal(); | 264 const Operator* Float32Equal(); |
263 const Operator* Float32LessThan(); | 265 const Operator* Float32LessThan(); |
264 const Operator* Float32LessThanOrEqual(); | 266 const Operator* Float32LessThanOrEqual(); |
265 | 267 |
(...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
550 }; | 552 }; |
551 | 553 |
552 | 554 |
553 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 555 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
554 | 556 |
555 } // namespace compiler | 557 } // namespace compiler |
556 } // namespace internal | 558 } // namespace internal |
557 } // namespace v8 | 559 } // namespace v8 |
558 | 560 |
559 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 561 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
OLD | NEW |