OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/wasm-compiler.h" | 5 #include "src/compiler/wasm-compiler.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "src/assembler-inl.h" | 9 #include "src/assembler-inl.h" |
10 #include "src/base/platform/elapsed-timer.h" | 10 #include "src/base/platform/elapsed-timer.h" |
(...skipping 3179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3190 return graph()->NewNode(jsgraph()->machine()->F32x4Neg(), inputs[0]); | 3190 return graph()->NewNode(jsgraph()->machine()->F32x4Neg(), inputs[0]); |
3191 case wasm::kExprF32x4RecipApprox: | 3191 case wasm::kExprF32x4RecipApprox: |
3192 return graph()->NewNode(jsgraph()->machine()->F32x4RecipApprox(), | 3192 return graph()->NewNode(jsgraph()->machine()->F32x4RecipApprox(), |
3193 inputs[0]); | 3193 inputs[0]); |
3194 case wasm::kExprF32x4RecipSqrtApprox: | 3194 case wasm::kExprF32x4RecipSqrtApprox: |
3195 return graph()->NewNode(jsgraph()->machine()->F32x4RecipSqrtApprox(), | 3195 return graph()->NewNode(jsgraph()->machine()->F32x4RecipSqrtApprox(), |
3196 inputs[0]); | 3196 inputs[0]); |
3197 case wasm::kExprF32x4Add: | 3197 case wasm::kExprF32x4Add: |
3198 return graph()->NewNode(jsgraph()->machine()->F32x4Add(), inputs[0], | 3198 return graph()->NewNode(jsgraph()->machine()->F32x4Add(), inputs[0], |
3199 inputs[1]); | 3199 inputs[1]); |
| 3200 case wasm::kExprF32x4AddHoriz: |
| 3201 return graph()->NewNode(jsgraph()->machine()->F32x4AddHoriz(), inputs[0], |
| 3202 inputs[1]); |
3200 case wasm::kExprF32x4Sub: | 3203 case wasm::kExprF32x4Sub: |
3201 return graph()->NewNode(jsgraph()->machine()->F32x4Sub(), inputs[0], | 3204 return graph()->NewNode(jsgraph()->machine()->F32x4Sub(), inputs[0], |
3202 inputs[1]); | 3205 inputs[1]); |
3203 case wasm::kExprF32x4Mul: | 3206 case wasm::kExprF32x4Mul: |
3204 return graph()->NewNode(jsgraph()->machine()->F32x4Mul(), inputs[0], | 3207 return graph()->NewNode(jsgraph()->machine()->F32x4Mul(), inputs[0], |
3205 inputs[1]); | 3208 inputs[1]); |
3206 case wasm::kExprF32x4Min: | 3209 case wasm::kExprF32x4Min: |
3207 return graph()->NewNode(jsgraph()->machine()->F32x4Min(), inputs[0], | 3210 return graph()->NewNode(jsgraph()->machine()->F32x4Min(), inputs[0], |
3208 inputs[1]); | 3211 inputs[1]); |
3209 case wasm::kExprF32x4Max: | 3212 case wasm::kExprF32x4Max: |
(...skipping 29 matching lines...) Expand all Loading... |
3239 return graph()->NewNode(jsgraph()->machine()->I32x4SConvertI16x8Low(), | 3242 return graph()->NewNode(jsgraph()->machine()->I32x4SConvertI16x8Low(), |
3240 inputs[0]); | 3243 inputs[0]); |
3241 case wasm::kExprI32x4SConvertI16x8High: | 3244 case wasm::kExprI32x4SConvertI16x8High: |
3242 return graph()->NewNode(jsgraph()->machine()->I32x4SConvertI16x8High(), | 3245 return graph()->NewNode(jsgraph()->machine()->I32x4SConvertI16x8High(), |
3243 inputs[0]); | 3246 inputs[0]); |
3244 case wasm::kExprI32x4Neg: | 3247 case wasm::kExprI32x4Neg: |
3245 return graph()->NewNode(jsgraph()->machine()->I32x4Neg(), inputs[0]); | 3248 return graph()->NewNode(jsgraph()->machine()->I32x4Neg(), inputs[0]); |
3246 case wasm::kExprI32x4Add: | 3249 case wasm::kExprI32x4Add: |
3247 return graph()->NewNode(jsgraph()->machine()->I32x4Add(), inputs[0], | 3250 return graph()->NewNode(jsgraph()->machine()->I32x4Add(), inputs[0], |
3248 inputs[1]); | 3251 inputs[1]); |
| 3252 case wasm::kExprI32x4AddHoriz: |
| 3253 return graph()->NewNode(jsgraph()->machine()->I32x4AddHoriz(), inputs[0], |
| 3254 inputs[1]); |
3249 case wasm::kExprI32x4Sub: | 3255 case wasm::kExprI32x4Sub: |
3250 return graph()->NewNode(jsgraph()->machine()->I32x4Sub(), inputs[0], | 3256 return graph()->NewNode(jsgraph()->machine()->I32x4Sub(), inputs[0], |
3251 inputs[1]); | 3257 inputs[1]); |
3252 case wasm::kExprI32x4Mul: | 3258 case wasm::kExprI32x4Mul: |
3253 return graph()->NewNode(jsgraph()->machine()->I32x4Mul(), inputs[0], | 3259 return graph()->NewNode(jsgraph()->machine()->I32x4Mul(), inputs[0], |
3254 inputs[1]); | 3260 inputs[1]); |
3255 case wasm::kExprI32x4MinS: | 3261 case wasm::kExprI32x4MinS: |
3256 return graph()->NewNode(jsgraph()->machine()->I32x4MinS(), inputs[0], | 3262 return graph()->NewNode(jsgraph()->machine()->I32x4MinS(), inputs[0], |
3257 inputs[1]); | 3263 inputs[1]); |
3258 case wasm::kExprI32x4MaxS: | 3264 case wasm::kExprI32x4MaxS: |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3312 return graph()->NewNode(jsgraph()->machine()->I16x8Neg(), inputs[0]); | 3318 return graph()->NewNode(jsgraph()->machine()->I16x8Neg(), inputs[0]); |
3313 case wasm::kExprI16x8SConvertI32x4: | 3319 case wasm::kExprI16x8SConvertI32x4: |
3314 return graph()->NewNode(jsgraph()->machine()->I16x8SConvertI32x4(), | 3320 return graph()->NewNode(jsgraph()->machine()->I16x8SConvertI32x4(), |
3315 inputs[0], inputs[1]); | 3321 inputs[0], inputs[1]); |
3316 case wasm::kExprI16x8Add: | 3322 case wasm::kExprI16x8Add: |
3317 return graph()->NewNode(jsgraph()->machine()->I16x8Add(), inputs[0], | 3323 return graph()->NewNode(jsgraph()->machine()->I16x8Add(), inputs[0], |
3318 inputs[1]); | 3324 inputs[1]); |
3319 case wasm::kExprI16x8AddSaturateS: | 3325 case wasm::kExprI16x8AddSaturateS: |
3320 return graph()->NewNode(jsgraph()->machine()->I16x8AddSaturateS(), | 3326 return graph()->NewNode(jsgraph()->machine()->I16x8AddSaturateS(), |
3321 inputs[0], inputs[1]); | 3327 inputs[0], inputs[1]); |
| 3328 case wasm::kExprI16x8AddHoriz: |
| 3329 return graph()->NewNode(jsgraph()->machine()->I16x8AddHoriz(), inputs[0], |
| 3330 inputs[1]); |
3322 case wasm::kExprI16x8Sub: | 3331 case wasm::kExprI16x8Sub: |
3323 return graph()->NewNode(jsgraph()->machine()->I16x8Sub(), inputs[0], | 3332 return graph()->NewNode(jsgraph()->machine()->I16x8Sub(), inputs[0], |
3324 inputs[1]); | 3333 inputs[1]); |
3325 case wasm::kExprI16x8SubSaturateS: | 3334 case wasm::kExprI16x8SubSaturateS: |
3326 return graph()->NewNode(jsgraph()->machine()->I16x8SubSaturateS(), | 3335 return graph()->NewNode(jsgraph()->machine()->I16x8SubSaturateS(), |
3327 inputs[0], inputs[1]); | 3336 inputs[0], inputs[1]); |
3328 case wasm::kExprI16x8Mul: | 3337 case wasm::kExprI16x8Mul: |
3329 return graph()->NewNode(jsgraph()->machine()->I16x8Mul(), inputs[0], | 3338 return graph()->NewNode(jsgraph()->machine()->I16x8Mul(), inputs[0], |
3330 inputs[1]); | 3339 inputs[1]); |
3331 case wasm::kExprI16x8MinS: | 3340 case wasm::kExprI16x8MinS: |
(...skipping 801 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4133 wasm::ModuleBytesEnv* module_env, const wasm::WasmFunction* function) { | 4142 wasm::ModuleBytesEnv* module_env, const wasm::WasmFunction* function) { |
4134 WasmCompilationUnit unit(isolate, module_env, function); | 4143 WasmCompilationUnit unit(isolate, module_env, function); |
4135 unit.InitializeHandles(); | 4144 unit.InitializeHandles(); |
4136 unit.ExecuteCompilation(); | 4145 unit.ExecuteCompilation(); |
4137 return unit.FinishCompilation(thrower); | 4146 return unit.FinishCompilation(thrower); |
4138 } | 4147 } |
4139 | 4148 |
4140 } // namespace compiler | 4149 } // namespace compiler |
4141 } // namespace internal | 4150 } // namespace internal |
4142 } // namespace v8 | 4151 } // namespace v8 |
OLD | NEW |