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/compiler/opcodes.h" | 8 #include "src/compiler/opcodes.h" |
9 #include "src/compiler/operator.h" | 9 #include "src/compiler/operator.h" |
10 #include "src/zone.h" | 10 #include "src/zone.h" |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 Operator* Int64LessThanOrEqual() { BINOP(Int64LessThanOrEqual); } | 140 Operator* Int64LessThanOrEqual() { BINOP(Int64LessThanOrEqual); } |
141 | 141 |
142 Operator* ConvertInt32ToInt64() { UNOP(ConvertInt32ToInt64); } | 142 Operator* ConvertInt32ToInt64() { UNOP(ConvertInt32ToInt64); } |
143 Operator* ConvertInt64ToInt32() { UNOP(ConvertInt64ToInt32); } | 143 Operator* ConvertInt64ToInt32() { UNOP(ConvertInt64ToInt32); } |
144 | 144 |
145 // Convert representation of integers between float64 and int32/uint32. | 145 // Convert representation of integers between float64 and int32/uint32. |
146 // The precise rounding mode and handling of out of range inputs are *not* | 146 // The precise rounding mode and handling of out of range inputs are *not* |
147 // defined for these operators, since they are intended only for use with | 147 // defined for these operators, since they are intended only for use with |
148 // integers. | 148 // integers. |
149 // TODO(titzer): rename ConvertXXX to ChangeXXX in machine operators. | 149 // TODO(titzer): rename ConvertXXX to ChangeXXX in machine operators. |
150 Operator* ConvertInt32ToFloat64() { UNOP(ConvertInt32ToFloat64); } | 150 Operator* ChangeInt32ToFloat64() { UNOP(ChangeInt32ToFloat64); } |
151 Operator* ConvertUint32ToFloat64() { UNOP(ConvertUint32ToFloat64); } | 151 Operator* ChangeUint32ToFloat64() { UNOP(ChangeUint32ToFloat64); } |
152 Operator* ConvertFloat64ToInt32() { UNOP(ConvertFloat64ToInt32); } | 152 Operator* ChangeFloat64ToInt32() { UNOP(ChangeFloat64ToInt32); } |
153 Operator* ConvertFloat64ToUint32() { UNOP(ConvertFloat64ToUint32); } | 153 Operator* ChangeFloat64ToUint32() { UNOP(ChangeFloat64ToUint32); } |
154 | 154 |
155 // Floating point operators always operate with IEEE 754 round-to-nearest. | 155 // Floating point operators always operate with IEEE 754 round-to-nearest. |
156 Operator* Float64Add() { BINOP_C(Float64Add); } | 156 Operator* Float64Add() { BINOP_C(Float64Add); } |
157 Operator* Float64Sub() { BINOP(Float64Sub); } | 157 Operator* Float64Sub() { BINOP(Float64Sub); } |
158 Operator* Float64Mul() { BINOP_C(Float64Mul); } | 158 Operator* Float64Mul() { BINOP_C(Float64Mul); } |
159 Operator* Float64Div() { BINOP(Float64Div); } | 159 Operator* Float64Div() { BINOP(Float64Div); } |
160 Operator* Float64Mod() { BINOP(Float64Mod); } | 160 Operator* Float64Mod() { BINOP(Float64Mod); } |
161 | 161 |
162 // Floating point comparisons complying to IEEE 754. | 162 // Floating point comparisons complying to IEEE 754. |
163 Operator* Float64Equal() { BINOP_C(Float64Equal); } | 163 Operator* Float64Equal() { BINOP_C(Float64Equal); } |
(...skipping 16 matching lines...) Expand all Loading... |
180 | 180 |
181 private: | 181 private: |
182 Zone* zone_; | 182 Zone* zone_; |
183 MachineRepresentation word_; | 183 MachineRepresentation word_; |
184 }; | 184 }; |
185 } | 185 } |
186 } | 186 } |
187 } // namespace v8::internal::compiler | 187 } // namespace v8::internal::compiler |
188 | 188 |
189 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 189 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
OLD | NEW |