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

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

Issue 2719483002: [V8] Rename SIMD Create methods and add initialization operators. (Closed)
Patch Set: Created 3 years, 9 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
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 <limits> 7 #include <limits>
8 8
9 #include "src/compilation-info.h" 9 #include "src/compilation-info.h"
10 #include "src/compiler/code-generator-impl.h" 10 #include "src/compiler/code-generator-impl.h"
(...skipping 2135 matching lines...) Expand 10 before | Expand all | Expand 10 after
2146 Operand operand = i.MemoryOperand(&index); 2146 Operand operand = i.MemoryOperand(&index);
2147 __ xchgw(i.InputRegister(index), operand); 2147 __ xchgw(i.InputRegister(index), operand);
2148 break; 2148 break;
2149 } 2149 }
2150 case kX64Xchgl: { 2150 case kX64Xchgl: {
2151 size_t index = 0; 2151 size_t index = 0;
2152 Operand operand = i.MemoryOperand(&index); 2152 Operand operand = i.MemoryOperand(&index);
2153 __ xchgl(i.InputRegister(index), operand); 2153 __ xchgl(i.InputRegister(index), operand);
2154 break; 2154 break;
2155 } 2155 }
2156 case kX64Int32x4Create: { 2156 case kX64Int32x4Splat: {
2157 CpuFeatureScope sse_scope(masm(), SSE4_1); 2157 CpuFeatureScope sse_scope(masm(), SSE4_1);
2158 XMMRegister dst = i.OutputSimd128Register(); 2158 XMMRegister dst = i.OutputSimd128Register();
2159 __ Movd(dst, i.InputRegister(0)); 2159 __ Movd(dst, i.InputRegister(0));
2160 __ shufps(dst, dst, 0x0); 2160 __ shufps(dst, dst, 0x0);
2161 break; 2161 break;
2162 } 2162 }
2163 case kX64Int32x4ExtractLane: { 2163 case kX64Int32x4ExtractLane: {
2164 CpuFeatureScope sse_scope(masm(), SSE4_1); 2164 CpuFeatureScope sse_scope(masm(), SSE4_1);
2165 __ Pextrd(i.OutputRegister(), i.InputSimd128Register(0), i.InputInt8(1)); 2165 __ Pextrd(i.OutputRegister(), i.InputSimd128Register(0), i.InputInt8(1));
2166 break; 2166 break;
(...skipping 11 matching lines...) Expand all
2178 case kX64Int32x4Add: { 2178 case kX64Int32x4Add: {
2179 CpuFeatureScope sse_scope(masm(), SSE4_1); 2179 CpuFeatureScope sse_scope(masm(), SSE4_1);
2180 __ paddd(i.OutputSimd128Register(), i.InputSimd128Register(1)); 2180 __ paddd(i.OutputSimd128Register(), i.InputSimd128Register(1));
2181 break; 2181 break;
2182 } 2182 }
2183 case kX64Int32x4Sub: { 2183 case kX64Int32x4Sub: {
2184 CpuFeatureScope sse_scope(masm(), SSE4_1); 2184 CpuFeatureScope sse_scope(masm(), SSE4_1);
2185 __ psubd(i.OutputSimd128Register(), i.InputSimd128Register(1)); 2185 __ psubd(i.OutputSimd128Register(), i.InputSimd128Register(1));
2186 break; 2186 break;
2187 } 2187 }
2188 case kX64Simd128Zero: {
2189 CpuFeatureScope sse_scope(masm(), SSE4_1);
2190 XMMRegister dst = i.OutputSimd128Register();
2191 __ xorps(dst, dst);
2192 break;
2193 }
2188 case kCheckedLoadInt8: 2194 case kCheckedLoadInt8:
2189 ASSEMBLE_CHECKED_LOAD_INTEGER(movsxbl); 2195 ASSEMBLE_CHECKED_LOAD_INTEGER(movsxbl);
2190 break; 2196 break;
2191 case kCheckedLoadUint8: 2197 case kCheckedLoadUint8:
2192 ASSEMBLE_CHECKED_LOAD_INTEGER(movzxbl); 2198 ASSEMBLE_CHECKED_LOAD_INTEGER(movzxbl);
2193 break; 2199 break;
2194 case kCheckedLoadInt16: 2200 case kCheckedLoadInt16:
2195 ASSEMBLE_CHECKED_LOAD_INTEGER(movsxwl); 2201 ASSEMBLE_CHECKED_LOAD_INTEGER(movsxwl);
2196 break; 2202 break;
2197 case kCheckedLoadUint16: 2203 case kCheckedLoadUint16:
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after
2860 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; 2866 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc;
2861 __ Nop(padding_size); 2867 __ Nop(padding_size);
2862 } 2868 }
2863 } 2869 }
2864 2870
2865 #undef __ 2871 #undef __
2866 2872
2867 } // namespace compiler 2873 } // namespace compiler
2868 } // namespace internal 2874 } // namespace internal
2869 } // namespace v8 2875 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698