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

Side by Side Diff: src/x64/assembler-x64.cc

Issue 1406293003: [x64] Make use of vucomiss and vucomisd when AVX is enabled. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebaseline Created 5 years, 2 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/x64/code-generator-x64.cc ('k') | src/x64/code-stubs-x64.cc » ('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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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/x64/assembler-x64.h" 5 #include "src/x64/assembler-x64.h"
6 6
7 #include <cstring> 7 #include <cstring>
8 8
9 #if V8_TARGET_ARCH_X64 9 #if V8_TARGET_ARCH_X64
10 10
(...skipping 2913 matching lines...) Expand 10 before | Expand all | Expand 10 after
2924 EnsureSpace ensure_space(this); 2924 EnsureSpace ensure_space(this);
2925 emit(0xF3); 2925 emit(0xF3);
2926 emit_optional_rex_32(dst, src); 2926 emit_optional_rex_32(dst, src);
2927 emit(0x0F); 2927 emit(0x0F);
2928 emit(0x51); 2928 emit(0x51);
2929 emit_sse_operand(dst, src); 2929 emit_sse_operand(dst, src);
2930 } 2930 }
2931 2931
2932 2932
2933 void Assembler::ucomiss(XMMRegister dst, XMMRegister src) { 2933 void Assembler::ucomiss(XMMRegister dst, XMMRegister src) {
2934 DCHECK(!IsEnabled(AVX));
2934 EnsureSpace ensure_space(this); 2935 EnsureSpace ensure_space(this);
2935 emit_optional_rex_32(dst, src); 2936 emit_optional_rex_32(dst, src);
2936 emit(0x0f); 2937 emit(0x0f);
2937 emit(0x2e); 2938 emit(0x2e);
2938 emit_sse_operand(dst, src); 2939 emit_sse_operand(dst, src);
2939 } 2940 }
2940 2941
2941 2942
2942 void Assembler::ucomiss(XMMRegister dst, const Operand& src) { 2943 void Assembler::ucomiss(XMMRegister dst, const Operand& src) {
2944 DCHECK(!IsEnabled(AVX));
2943 EnsureSpace ensure_space(this); 2945 EnsureSpace ensure_space(this);
2944 emit_optional_rex_32(dst, src); 2946 emit_optional_rex_32(dst, src);
2945 emit(0x0f); 2947 emit(0x0f);
2946 emit(0x2e); 2948 emit(0x2e);
2947 emit_sse_operand(dst, src); 2949 emit_sse_operand(dst, src);
2948 } 2950 }
2949 2951
2950 2952
2951 void Assembler::movss(XMMRegister dst, const Operand& src) { 2953 void Assembler::movss(XMMRegister dst, const Operand& src) {
2952 EnsureSpace ensure_space(this); 2954 EnsureSpace ensure_space(this);
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
3359 EnsureSpace ensure_space(this); 3361 EnsureSpace ensure_space(this);
3360 emit(0xF2); 3362 emit(0xF2);
3361 emit_optional_rex_32(dst, src); 3363 emit_optional_rex_32(dst, src);
3362 emit(0x0F); 3364 emit(0x0F);
3363 emit(0x51); 3365 emit(0x51);
3364 emit_sse_operand(dst, src); 3366 emit_sse_operand(dst, src);
3365 } 3367 }
3366 3368
3367 3369
3368 void Assembler::ucomisd(XMMRegister dst, XMMRegister src) { 3370 void Assembler::ucomisd(XMMRegister dst, XMMRegister src) {
3371 DCHECK(!IsEnabled(AVX));
3369 EnsureSpace ensure_space(this); 3372 EnsureSpace ensure_space(this);
3370 emit(0x66); 3373 emit(0x66);
3371 emit_optional_rex_32(dst, src); 3374 emit_optional_rex_32(dst, src);
3372 emit(0x0f); 3375 emit(0x0f);
3373 emit(0x2e); 3376 emit(0x2e);
3374 emit_sse_operand(dst, src); 3377 emit_sse_operand(dst, src);
3375 } 3378 }
3376 3379
3377 3380
3378 void Assembler::ucomisd(XMMRegister dst, const Operand& src) { 3381 void Assembler::ucomisd(XMMRegister dst, const Operand& src) {
3382 DCHECK(!IsEnabled(AVX));
3379 EnsureSpace ensure_space(this); 3383 EnsureSpace ensure_space(this);
3380 emit(0x66); 3384 emit(0x66);
3381 emit_optional_rex_32(dst, src); 3385 emit_optional_rex_32(dst, src);
3382 emit(0x0f); 3386 emit(0x0f);
3383 emit(0x2e); 3387 emit(0x2e);
3384 emit_sse_operand(dst, src); 3388 emit_sse_operand(dst, src);
3385 } 3389 }
3386 3390
3387 3391
3388 void Assembler::cmpltsd(XMMRegister dst, XMMRegister src) { 3392 void Assembler::cmpltsd(XMMRegister dst, XMMRegister src) {
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
4012 4016
4013 bool RelocInfo::IsInConstantPool() { 4017 bool RelocInfo::IsInConstantPool() {
4014 return false; 4018 return false;
4015 } 4019 }
4016 4020
4017 4021
4018 } // namespace internal 4022 } // namespace internal
4019 } // namespace v8 4023 } // namespace v8
4020 4024
4021 #endif // V8_TARGET_ARCH_X64 4025 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/compiler/x64/code-generator-x64.cc ('k') | src/x64/code-stubs-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698