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

Side by Side Diff: src/ia32/assembler-ia32.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/ia32/assembler-ia32.h ('k') | src/x64/assembler-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 (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 1951 matching lines...) Expand 10 before | Expand all | Expand 10 after
1962 1962
1963 void Assembler::cvtsd2ss(XMMRegister dst, const Operand& src) { 1963 void Assembler::cvtsd2ss(XMMRegister dst, const Operand& src) {
1964 EnsureSpace ensure_space(this); 1964 EnsureSpace ensure_space(this);
1965 EMIT(0xF2); 1965 EMIT(0xF2);
1966 EMIT(0x0F); 1966 EMIT(0x0F);
1967 EMIT(0x5A); 1967 EMIT(0x5A);
1968 emit_sse_operand(dst, src); 1968 emit_sse_operand(dst, src);
1969 } 1969 }
1970 1970
1971 1971
1972 void Assembler::addsd(XMMRegister dst, XMMRegister src) {
1973 EnsureSpace ensure_space(this);
1974 EMIT(0xF2);
1975 EMIT(0x0F);
1976 EMIT(0x58);
1977 emit_sse_operand(dst, src);
1978 }
1979
1980
1981 void Assembler::addsd(XMMRegister dst, const Operand& src) { 1972 void Assembler::addsd(XMMRegister dst, const Operand& src) {
1982 EnsureSpace ensure_space(this); 1973 EnsureSpace ensure_space(this);
1983 EMIT(0xF2); 1974 EMIT(0xF2);
1984 EMIT(0x0F); 1975 EMIT(0x0F);
1985 EMIT(0x58); 1976 EMIT(0x58);
1986 emit_sse_operand(dst, src); 1977 emit_sse_operand(dst, src);
1987 } 1978 }
1988 1979
1989 1980
1990 void Assembler::mulsd(XMMRegister dst, XMMRegister src) {
1991 EnsureSpace ensure_space(this);
1992 EMIT(0xF2);
1993 EMIT(0x0F);
1994 EMIT(0x59);
1995 emit_sse_operand(dst, src);
1996 }
1997
1998
1999 void Assembler::mulsd(XMMRegister dst, const Operand& src) { 1981 void Assembler::mulsd(XMMRegister dst, const Operand& src) {
2000 EnsureSpace ensure_space(this); 1982 EnsureSpace ensure_space(this);
2001 EMIT(0xF2); 1983 EMIT(0xF2);
2002 EMIT(0x0F); 1984 EMIT(0x0F);
2003 EMIT(0x59); 1985 EMIT(0x59);
2004 emit_sse_operand(dst, src); 1986 emit_sse_operand(dst, src);
2005 } 1987 }
2006 1988
2007 1989
2008 void Assembler::subsd(XMMRegister dst, XMMRegister src) {
2009 EnsureSpace ensure_space(this);
2010 EMIT(0xF2);
2011 EMIT(0x0F);
2012 EMIT(0x5C);
2013 emit_sse_operand(dst, src);
2014 }
2015
2016
2017 void Assembler::subsd(XMMRegister dst, const Operand& src) { 1990 void Assembler::subsd(XMMRegister dst, const Operand& src) {
2018 EnsureSpace ensure_space(this); 1991 EnsureSpace ensure_space(this);
2019 EMIT(0xF2); 1992 EMIT(0xF2);
2020 EMIT(0x0F); 1993 EMIT(0x0F);
2021 EMIT(0x5C); 1994 EMIT(0x5C);
2022 emit_sse_operand(dst, src); 1995 emit_sse_operand(dst, src);
2023 } 1996 }
2024 1997
2025 1998
2026 void Assembler::divsd(XMMRegister dst, XMMRegister src) { 1999 void Assembler::divsd(XMMRegister dst, const Operand& src) {
2027 EnsureSpace ensure_space(this); 2000 EnsureSpace ensure_space(this);
2028 EMIT(0xF2); 2001 EMIT(0xF2);
2029 EMIT(0x0F); 2002 EMIT(0x0F);
2030 EMIT(0x5E); 2003 EMIT(0x5E);
2031 emit_sse_operand(dst, src); 2004 emit_sse_operand(dst, src);
2032 } 2005 }
2033 2006
2034 2007
2035 void Assembler::xorpd(XMMRegister dst, XMMRegister src) { 2008 void Assembler::xorpd(XMMRegister dst, XMMRegister src) {
2036 EnsureSpace ensure_space(this); 2009 EnsureSpace ensure_space(this);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
2090 2063
2091 2064
2092 void Assembler::divps(XMMRegister dst, const Operand& src) { 2065 void Assembler::divps(XMMRegister dst, const Operand& src) {
2093 EnsureSpace ensure_space(this); 2066 EnsureSpace ensure_space(this);
2094 EMIT(0x0F); 2067 EMIT(0x0F);
2095 EMIT(0x5E); 2068 EMIT(0x5E);
2096 emit_sse_operand(dst, src); 2069 emit_sse_operand(dst, src);
2097 } 2070 }
2098 2071
2099 2072
2100 void Assembler::sqrtsd(XMMRegister dst, XMMRegister src) {
2101 EnsureSpace ensure_space(this);
2102 EMIT(0xF2);
2103 EMIT(0x0F);
2104 EMIT(0x51);
2105 emit_sse_operand(dst, src);
2106 }
2107
2108
2109 void Assembler::sqrtsd(XMMRegister dst, const Operand& src) { 2073 void Assembler::sqrtsd(XMMRegister dst, const Operand& src) {
2110 EnsureSpace ensure_space(this); 2074 EnsureSpace ensure_space(this);
2111 EMIT(0xF2); 2075 EMIT(0xF2);
2112 EMIT(0x0F); 2076 EMIT(0x0F);
2113 EMIT(0x51); 2077 EMIT(0x51);
2114 emit_sse_operand(dst, src); 2078 emit_sse_operand(dst, src);
2115 } 2079 }
2116 2080
2117 2081
2118 void Assembler::andpd(XMMRegister dst, XMMRegister src) { 2082 void Assembler::andpd(XMMRegister dst, XMMRegister src) {
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
2687 fprintf(coverage_log, "%s\n", file_line); 2651 fprintf(coverage_log, "%s\n", file_line);
2688 fflush(coverage_log); 2652 fflush(coverage_log);
2689 } 2653 }
2690 } 2654 }
2691 2655
2692 #endif 2656 #endif
2693 2657
2694 } } // namespace v8::internal 2658 } } // namespace v8::internal
2695 2659
2696 #endif // V8_TARGET_ARCH_IA32 2660 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/ia32/assembler-ia32.h ('k') | src/x64/assembler-x64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698