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

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

Issue 1471913006: [turbofan] Implemented the optional Float32RoundDown operator. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Removed a debugging printf. Created 5 years 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 (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 2176 matching lines...) Expand 10 before | Expand all | Expand 10 after
2187 2187
2188 void Assembler::ucomisd(XMMRegister dst, const Operand& src) { 2188 void Assembler::ucomisd(XMMRegister dst, const Operand& src) {
2189 EnsureSpace ensure_space(this); 2189 EnsureSpace ensure_space(this);
2190 EMIT(0x66); 2190 EMIT(0x66);
2191 EMIT(0x0F); 2191 EMIT(0x0F);
2192 EMIT(0x2E); 2192 EMIT(0x2E);
2193 emit_sse_operand(dst, src); 2193 emit_sse_operand(dst, src);
2194 } 2194 }
2195 2195
2196 2196
2197 void Assembler::roundss(XMMRegister dst, XMMRegister src, RoundingMode mode) {
2198 DCHECK(IsEnabled(SSE4_1));
2199 EnsureSpace ensure_space(this);
2200 EMIT(0x66);
2201 EMIT(0x0F);
2202 EMIT(0x3A);
2203 EMIT(0x0A);
2204 emit_sse_operand(dst, src);
2205 // Mask precision exeption.
titzer 2015/11/25 10:33:25 s/exeption/exception/
2206 EMIT(static_cast<byte>(mode) | 0x8);
2207 }
2208
2209
2197 void Assembler::roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode) { 2210 void Assembler::roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode) {
2198 DCHECK(IsEnabled(SSE4_1)); 2211 DCHECK(IsEnabled(SSE4_1));
2199 EnsureSpace ensure_space(this); 2212 EnsureSpace ensure_space(this);
2200 EMIT(0x66); 2213 EMIT(0x66);
2201 EMIT(0x0F); 2214 EMIT(0x0F);
2202 EMIT(0x3A); 2215 EMIT(0x3A);
2203 EMIT(0x0B); 2216 EMIT(0x0B);
2204 emit_sse_operand(dst, src); 2217 emit_sse_operand(dst, src);
2205 // Mask precision exeption. 2218 // Mask precision exeption.
2206 EMIT(static_cast<byte>(mode) | 0x8); 2219 EMIT(static_cast<byte>(mode) | 0x8);
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after
2956 fflush(coverage_log); 2969 fflush(coverage_log);
2957 } 2970 }
2958 } 2971 }
2959 2972
2960 #endif 2973 #endif
2961 2974
2962 } // namespace internal 2975 } // namespace internal
2963 } // namespace v8 2976 } // namespace v8
2964 2977
2965 #endif // V8_TARGET_ARCH_IA32 2978 #endif // V8_TARGET_ARCH_IA32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698