Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(428)

Side by Side Diff: src/compiler/x64/code-generator-x64.cc

Issue 2264533002: [wasm] Add native x64 implementations for I32x4Splat, I32x4ExtractLane (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@macroize_runtime
Patch Set: Review changes Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/wasm-compiler.cc ('k') | src/compiler/x64/instruction-codes-x64.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include "src/compiler/code-generator.h" 5 #include "src/compiler/code-generator.h"
6 6
7 #include "src/ast/scopes.h" 7 #include "src/ast/scopes.h"
8 #include "src/compiler/code-generator-impl.h" 8 #include "src/compiler/code-generator-impl.h"
9 #include "src/compiler/gap-resolver.h" 9 #include "src/compiler/gap-resolver.h"
10 #include "src/compiler/node-matchers.h" 10 #include "src/compiler/node-matchers.h"
(...skipping 2014 matching lines...) Expand 10 before | Expand all | Expand 10 after
2025 Operand operand = i.MemoryOperand(&index); 2025 Operand operand = i.MemoryOperand(&index);
2026 __ xchgw(i.InputRegister(index), operand); 2026 __ xchgw(i.InputRegister(index), operand);
2027 break; 2027 break;
2028 } 2028 }
2029 case kX64Xchgl: { 2029 case kX64Xchgl: {
2030 size_t index = 0; 2030 size_t index = 0;
2031 Operand operand = i.MemoryOperand(&index); 2031 Operand operand = i.MemoryOperand(&index);
2032 __ xchgl(i.InputRegister(index), operand); 2032 __ xchgl(i.InputRegister(index), operand);
2033 break; 2033 break;
2034 } 2034 }
2035 case kX64Int32x4Create: {
2036 CpuFeatureScope sse_scope(masm(), SSE4_1);
2037 XMMRegister dst = i.OutputSimd128Register();
2038 __ Movd(dst, i.InputRegister(0));
2039 __ shufps(dst, dst, 0x0);
2040 break;
2041 }
2042 case kX64Int32x4ExtractLane: {
2043 CpuFeatureScope sse_scope(masm(), SSE4_1);
2044 __ Pextrd(i.OutputRegister(), i.InputSimd128Register(0), i.InputInt8(1));
2045 break;
2046 }
2035 case kCheckedLoadInt8: 2047 case kCheckedLoadInt8:
2036 ASSEMBLE_CHECKED_LOAD_INTEGER(movsxbl); 2048 ASSEMBLE_CHECKED_LOAD_INTEGER(movsxbl);
2037 break; 2049 break;
2038 case kCheckedLoadUint8: 2050 case kCheckedLoadUint8:
2039 ASSEMBLE_CHECKED_LOAD_INTEGER(movzxbl); 2051 ASSEMBLE_CHECKED_LOAD_INTEGER(movzxbl);
2040 break; 2052 break;
2041 case kCheckedLoadInt16: 2053 case kCheckedLoadInt16:
2042 ASSEMBLE_CHECKED_LOAD_INTEGER(movsxwl); 2054 ASSEMBLE_CHECKED_LOAD_INTEGER(movsxwl);
2043 break; 2055 break;
2044 case kCheckedLoadUint16: 2056 case kCheckedLoadUint16:
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after
2661 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; 2673 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc;
2662 __ Nop(padding_size); 2674 __ Nop(padding_size);
2663 } 2675 }
2664 } 2676 }
2665 2677
2666 #undef __ 2678 #undef __
2667 2679
2668 } // namespace compiler 2680 } // namespace compiler
2669 } // namespace internal 2681 } // namespace internal
2670 } // namespace v8 2682 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/wasm-compiler.cc ('k') | src/compiler/x64/instruction-codes-x64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698