OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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 #include "src/compiler/machine-operator.h" | 5 #include "src/compiler/machine-operator.h" |
6 | 6 |
7 #include "src/base/lazy-instance.h" | 7 #include "src/base/lazy-instance.h" |
8 #include "src/compiler/opcodes.h" | 8 #include "src/compiler/opcodes.h" |
9 #include "src/compiler/operator.h" | 9 #include "src/compiler/operator.h" |
10 | 10 |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 V(Float64Atanh, Operator::kNoProperties, 1, 0, 1) \ | 158 V(Float64Atanh, Operator::kNoProperties, 1, 0, 1) \ |
159 V(Float64Cbrt, Operator::kNoProperties, 1, 0, 1) \ | 159 V(Float64Cbrt, Operator::kNoProperties, 1, 0, 1) \ |
160 V(Float64Cos, Operator::kNoProperties, 1, 0, 1) \ | 160 V(Float64Cos, Operator::kNoProperties, 1, 0, 1) \ |
161 V(Float64Cosh, Operator::kNoProperties, 1, 0, 1) \ | 161 V(Float64Cosh, Operator::kNoProperties, 1, 0, 1) \ |
162 V(Float64Exp, Operator::kNoProperties, 1, 0, 1) \ | 162 V(Float64Exp, Operator::kNoProperties, 1, 0, 1) \ |
163 V(Float64Expm1, Operator::kNoProperties, 1, 0, 1) \ | 163 V(Float64Expm1, Operator::kNoProperties, 1, 0, 1) \ |
164 V(Float64Log, Operator::kNoProperties, 1, 0, 1) \ | 164 V(Float64Log, Operator::kNoProperties, 1, 0, 1) \ |
165 V(Float64Log1p, Operator::kNoProperties, 1, 0, 1) \ | 165 V(Float64Log1p, Operator::kNoProperties, 1, 0, 1) \ |
166 V(Float64Log2, Operator::kNoProperties, 1, 0, 1) \ | 166 V(Float64Log2, Operator::kNoProperties, 1, 0, 1) \ |
167 V(Float64Log10, Operator::kNoProperties, 1, 0, 1) \ | 167 V(Float64Log10, Operator::kNoProperties, 1, 0, 1) \ |
| 168 V(Float64Max, Operator::kNoProperties, 2, 0, 1) \ |
| 169 V(Float64Min, Operator::kNoProperties, 2, 0, 1) \ |
168 V(Float64Add, Operator::kCommutative, 2, 0, 1) \ | 170 V(Float64Add, Operator::kCommutative, 2, 0, 1) \ |
169 V(Float64Sub, Operator::kNoProperties, 2, 0, 1) \ | 171 V(Float64Sub, Operator::kNoProperties, 2, 0, 1) \ |
170 V(Float64SubPreserveNan, Operator::kNoProperties, 2, 0, 1) \ | 172 V(Float64SubPreserveNan, Operator::kNoProperties, 2, 0, 1) \ |
171 V(Float64Mul, Operator::kCommutative, 2, 0, 1) \ | 173 V(Float64Mul, Operator::kCommutative, 2, 0, 1) \ |
172 V(Float64Div, Operator::kNoProperties, 2, 0, 1) \ | 174 V(Float64Div, Operator::kNoProperties, 2, 0, 1) \ |
173 V(Float64Mod, Operator::kNoProperties, 2, 0, 1) \ | 175 V(Float64Mod, Operator::kNoProperties, 2, 0, 1) \ |
174 V(Float64Pow, Operator::kNoProperties, 2, 0, 1) \ | 176 V(Float64Pow, Operator::kNoProperties, 2, 0, 1) \ |
175 V(Float64Sin, Operator::kNoProperties, 1, 0, 1) \ | 177 V(Float64Sin, Operator::kNoProperties, 1, 0, 1) \ |
176 V(Float64Sinh, Operator::kNoProperties, 1, 0, 1) \ | 178 V(Float64Sinh, Operator::kNoProperties, 1, 0, 1) \ |
177 V(Float64Sqrt, Operator::kNoProperties, 1, 0, 1) \ | 179 V(Float64Sqrt, Operator::kNoProperties, 1, 0, 1) \ |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
369 V(Simd128Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ | 371 V(Simd128Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ |
370 V(Simd128Not, Operator::kNoProperties, 1, 0, 1) | 372 V(Simd128Not, Operator::kNoProperties, 1, 0, 1) |
371 | 373 |
372 #define PURE_OPTIONAL_OP_LIST(V) \ | 374 #define PURE_OPTIONAL_OP_LIST(V) \ |
373 V(Word32Ctz, Operator::kNoProperties, 1, 0, 1) \ | 375 V(Word32Ctz, Operator::kNoProperties, 1, 0, 1) \ |
374 V(Word64Ctz, Operator::kNoProperties, 1, 0, 1) \ | 376 V(Word64Ctz, Operator::kNoProperties, 1, 0, 1) \ |
375 V(Word32ReverseBits, Operator::kNoProperties, 1, 0, 1) \ | 377 V(Word32ReverseBits, Operator::kNoProperties, 1, 0, 1) \ |
376 V(Word64ReverseBits, Operator::kNoProperties, 1, 0, 1) \ | 378 V(Word64ReverseBits, Operator::kNoProperties, 1, 0, 1) \ |
377 V(Word32Popcnt, Operator::kNoProperties, 1, 0, 1) \ | 379 V(Word32Popcnt, Operator::kNoProperties, 1, 0, 1) \ |
378 V(Word64Popcnt, Operator::kNoProperties, 1, 0, 1) \ | 380 V(Word64Popcnt, Operator::kNoProperties, 1, 0, 1) \ |
379 V(Float32Max, Operator::kNoProperties, 2, 0, 1) \ | |
380 V(Float32Min, Operator::kNoProperties, 2, 0, 1) \ | |
381 V(Float64Max, Operator::kNoProperties, 2, 0, 1) \ | |
382 V(Float64Min, Operator::kNoProperties, 2, 0, 1) \ | |
383 V(Float32RoundDown, Operator::kNoProperties, 1, 0, 1) \ | 381 V(Float32RoundDown, Operator::kNoProperties, 1, 0, 1) \ |
384 V(Float64RoundDown, Operator::kNoProperties, 1, 0, 1) \ | 382 V(Float64RoundDown, Operator::kNoProperties, 1, 0, 1) \ |
385 V(Float32RoundUp, Operator::kNoProperties, 1, 0, 1) \ | 383 V(Float32RoundUp, Operator::kNoProperties, 1, 0, 1) \ |
386 V(Float64RoundUp, Operator::kNoProperties, 1, 0, 1) \ | 384 V(Float64RoundUp, Operator::kNoProperties, 1, 0, 1) \ |
387 V(Float32RoundTruncate, Operator::kNoProperties, 1, 0, 1) \ | 385 V(Float32RoundTruncate, Operator::kNoProperties, 1, 0, 1) \ |
388 V(Float64RoundTruncate, Operator::kNoProperties, 1, 0, 1) \ | 386 V(Float64RoundTruncate, Operator::kNoProperties, 1, 0, 1) \ |
389 V(Float64RoundTiesAway, Operator::kNoProperties, 1, 0, 1) \ | 387 V(Float64RoundTiesAway, Operator::kNoProperties, 1, 0, 1) \ |
390 V(Float32RoundTiesEven, Operator::kNoProperties, 1, 0, 1) \ | 388 V(Float32RoundTiesEven, Operator::kNoProperties, 1, 0, 1) \ |
391 V(Float64RoundTiesEven, Operator::kNoProperties, 1, 0, 1) \ | 389 V(Float64RoundTiesEven, Operator::kNoProperties, 1, 0, 1) \ |
392 V(Float32Neg, Operator::kNoProperties, 1, 0, 1) \ | 390 V(Float32Neg, Operator::kNoProperties, 1, 0, 1) \ |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
721 } | 719 } |
722 ATOMIC_REPRESENTATION_LIST(STORE) | 720 ATOMIC_REPRESENTATION_LIST(STORE) |
723 #undef STORE | 721 #undef STORE |
724 UNREACHABLE(); | 722 UNREACHABLE(); |
725 return nullptr; | 723 return nullptr; |
726 } | 724 } |
727 | 725 |
728 } // namespace compiler | 726 } // namespace compiler |
729 } // namespace internal | 727 } // namespace internal |
730 } // namespace v8 | 728 } // namespace v8 |
OLD | NEW |