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

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

Issue 2027043002: [Turbofan] Add ia32 support for 4 and 16 byte moves and swaps. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Disassembler and test. Created 4 years, 5 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/ia32/assembler-ia32.h ('k') | src/ia32/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 (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 2383 matching lines...) Expand 10 before | Expand all | Expand 10 after
2394 } 2394 }
2395 2395
2396 2396
2397 void Assembler::movaps(XMMRegister dst, XMMRegister src) { 2397 void Assembler::movaps(XMMRegister dst, XMMRegister src) {
2398 EnsureSpace ensure_space(this); 2398 EnsureSpace ensure_space(this);
2399 EMIT(0x0F); 2399 EMIT(0x0F);
2400 EMIT(0x28); 2400 EMIT(0x28);
2401 emit_sse_operand(dst, src); 2401 emit_sse_operand(dst, src);
2402 } 2402 }
2403 2403
2404 void Assembler::movups(XMMRegister dst, XMMRegister src) {
2405 EnsureSpace ensure_space(this);
2406 EMIT(0x0F);
2407 EMIT(0x11);
2408 emit_sse_operand(dst, src);
2409 }
2410
2411 void Assembler::movups(XMMRegister dst, const Operand& src) {
2412 EnsureSpace ensure_space(this);
2413 EMIT(0x0F);
2414 EMIT(0x10);
2415 emit_sse_operand(dst, src);
2416 }
2417
2418 void Assembler::movups(const Operand& dst, XMMRegister src) {
2419 EnsureSpace ensure_space(this);
2420 EMIT(0x0F);
2421 EMIT(0x11);
2422 emit_sse_operand(src, dst);
2423 }
2404 2424
2405 void Assembler::shufps(XMMRegister dst, XMMRegister src, byte imm8) { 2425 void Assembler::shufps(XMMRegister dst, XMMRegister src, byte imm8) {
2406 DCHECK(is_uint8(imm8)); 2426 DCHECK(is_uint8(imm8));
2407 EnsureSpace ensure_space(this); 2427 EnsureSpace ensure_space(this);
2408 EMIT(0x0F); 2428 EMIT(0x0F);
2409 EMIT(0xC6); 2429 EMIT(0xC6);
2410 emit_sse_operand(dst, src); 2430 emit_sse_operand(dst, src);
2411 EMIT(imm8); 2431 EMIT(imm8);
2412 } 2432 }
2413 2433
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
3072 fflush(coverage_log); 3092 fflush(coverage_log);
3073 } 3093 }
3074 } 3094 }
3075 3095
3076 #endif 3096 #endif
3077 3097
3078 } // namespace internal 3098 } // namespace internal
3079 } // namespace v8 3099 } // namespace v8
3080 3100
3081 #endif // V8_TARGET_ARCH_IA32 3101 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« no previous file with comments | « src/ia32/assembler-ia32.h ('k') | src/ia32/disasm-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698