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

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

Issue 662813002: IA: Double arithmetic binops support memory operand (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « src/x64/assembler-x64.h ('k') | test/cctest/test-disasm-ia32.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/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_X64 7 #if V8_TARGET_ARCH_X64
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/macro-assembler.h" 10 #include "src/macro-assembler.h"
(...skipping 2857 matching lines...) Expand 10 before | Expand all | Expand 10 after
2868 void Assembler::subsd(XMMRegister dst, XMMRegister src) { 2868 void Assembler::subsd(XMMRegister dst, XMMRegister src) {
2869 EnsureSpace ensure_space(this); 2869 EnsureSpace ensure_space(this);
2870 emit(0xF2); 2870 emit(0xF2);
2871 emit_optional_rex_32(dst, src); 2871 emit_optional_rex_32(dst, src);
2872 emit(0x0F); 2872 emit(0x0F);
2873 emit(0x5C); 2873 emit(0x5C);
2874 emit_sse_operand(dst, src); 2874 emit_sse_operand(dst, src);
2875 } 2875 }
2876 2876
2877 2877
2878 void Assembler::subsd(XMMRegister dst, const Operand& src) {
2879 EnsureSpace ensure_space(this);
2880 emit(0xF2);
2881 emit_optional_rex_32(dst, src);
2882 emit(0x0F);
2883 emit(0x5C);
2884 emit_sse_operand(dst, src);
2885 }
2886
2887
2878 void Assembler::divsd(XMMRegister dst, XMMRegister src) { 2888 void Assembler::divsd(XMMRegister dst, XMMRegister src) {
2879 EnsureSpace ensure_space(this); 2889 EnsureSpace ensure_space(this);
2880 emit(0xF2); 2890 emit(0xF2);
2881 emit_optional_rex_32(dst, src); 2891 emit_optional_rex_32(dst, src);
2882 emit(0x0F); 2892 emit(0x0F);
2883 emit(0x5E); 2893 emit(0x5E);
2884 emit_sse_operand(dst, src); 2894 emit_sse_operand(dst, src);
2885 } 2895 }
2886 2896
2887 2897
2898 void Assembler::divsd(XMMRegister dst, const Operand& src) {
2899 EnsureSpace ensure_space(this);
2900 emit(0xF2);
2901 emit_optional_rex_32(dst, src);
2902 emit(0x0F);
2903 emit(0x5E);
2904 emit_sse_operand(dst, src);
2905 }
2906
2907
2888 void Assembler::andpd(XMMRegister dst, XMMRegister src) { 2908 void Assembler::andpd(XMMRegister dst, XMMRegister src) {
2889 EnsureSpace ensure_space(this); 2909 EnsureSpace ensure_space(this);
2890 emit(0x66); 2910 emit(0x66);
2891 emit_optional_rex_32(dst, src); 2911 emit_optional_rex_32(dst, src);
2892 emit(0x0F); 2912 emit(0x0F);
2893 emit(0x54); 2913 emit(0x54);
2894 emit_sse_operand(dst, src); 2914 emit_sse_operand(dst, src);
2895 } 2915 }
2896 2916
2897 2917
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
3117 3137
3118 3138
3119 bool RelocInfo::IsInConstantPool() { 3139 bool RelocInfo::IsInConstantPool() {
3120 return false; 3140 return false;
3121 } 3141 }
3122 3142
3123 3143
3124 } } // namespace v8::internal 3144 } } // namespace v8::internal
3125 3145
3126 #endif // V8_TARGET_ARCH_X64 3146 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/x64/assembler-x64.h ('k') | test/cctest/test-disasm-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698