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

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

Issue 1992011: Make X64 double-to-int32 conversion use the 64-bit version of cvttsd2si. (Closed)
Patch Set: Created 10 years, 7 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
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 2492 matching lines...) Expand 10 before | Expand all | Expand 10 after
2503 EnsureSpace ensure_space(this); 2503 EnsureSpace ensure_space(this);
2504 last_pc_ = pc_; 2504 last_pc_ = pc_;
2505 emit(0xF2); 2505 emit(0xF2);
2506 emit_optional_rex_32(dst, src); 2506 emit_optional_rex_32(dst, src);
2507 emit(0x0F); 2507 emit(0x0F);
2508 emit(0x2C); 2508 emit(0x2C);
2509 emit_operand(dst, src); 2509 emit_operand(dst, src);
2510 } 2510 }
2511 2511
2512 2512
2513 void Assembler::cvttsd2siq(Register dst, XMMRegister src) {
2514 EnsureSpace ensure_space(this);
2515 last_pc_ = pc_;
2516 emit(0xF2);
2517 emit_rex_64(dst, src);
2518 emit(0x0F);
2519 emit(0x2C);
2520 emit_sse_operand(dst, src);
2521 }
2522
2523
2513 void Assembler::cvtlsi2sd(XMMRegister dst, const Operand& src) { 2524 void Assembler::cvtlsi2sd(XMMRegister dst, const Operand& src) {
2514 EnsureSpace ensure_space(this); 2525 EnsureSpace ensure_space(this);
2515 last_pc_ = pc_; 2526 last_pc_ = pc_;
2516 emit(0xF2); 2527 emit(0xF2);
2517 emit_optional_rex_32(dst, src); 2528 emit_optional_rex_32(dst, src);
2518 emit(0x0F); 2529 emit(0x0F);
2519 emit(0x2A); 2530 emit(0x2A);
2520 emit_sse_operand(dst, src); 2531 emit_sse_operand(dst, src);
2521 } 2532 }
2522 2533
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
2722 written_position_ = current_position_; 2733 written_position_ = current_position_;
2723 } 2734 }
2724 } 2735 }
2725 2736
2726 2737
2727 const int RelocInfo::kApplyMask = RelocInfo::kCodeTargetMask | 2738 const int RelocInfo::kApplyMask = RelocInfo::kCodeTargetMask |
2728 1 << RelocInfo::INTERNAL_REFERENCE | 2739 1 << RelocInfo::INTERNAL_REFERENCE |
2729 1 << RelocInfo::JS_RETURN; 2740 1 << RelocInfo::JS_RETURN;
2730 2741
2731 } } // namespace v8::internal 2742 } } // namespace v8::internal
OLDNEW
« src/ia32/codegen-ia32.cc ('K') | « src/x64/assembler-x64.h ('k') | src/x64/codegen-x64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698