OLD | NEW |
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 2720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2731 EnsureSpace ensure_space(this); | 2731 EnsureSpace ensure_space(this); |
2732 last_pc_ = pc_; | 2732 last_pc_ = pc_; |
2733 emit(0xF2); | 2733 emit(0xF2); |
2734 emit_optional_rex_32(dst, src); | 2734 emit_optional_rex_32(dst, src); |
2735 emit(0x0F); | 2735 emit(0x0F); |
2736 emit(0x5A); | 2736 emit(0x5A); |
2737 emit_sse_operand(dst, src); | 2737 emit_sse_operand(dst, src); |
2738 } | 2738 } |
2739 | 2739 |
2740 | 2740 |
| 2741 void Assembler::cvtsd2si(Register dst, XMMRegister src) { |
| 2742 EnsureSpace ensure_space(this); |
| 2743 last_pc_ = pc_; |
| 2744 emit(0xF2); |
| 2745 emit_optional_rex_32(dst, src); |
| 2746 emit(0x0F); |
| 2747 emit(0x2D); |
| 2748 emit_sse_operand(dst, src); |
| 2749 } |
| 2750 |
| 2751 |
| 2752 void Assembler::cvtsd2siq(Register dst, XMMRegister src) { |
| 2753 EnsureSpace ensure_space(this); |
| 2754 last_pc_ = pc_; |
| 2755 emit(0xF2); |
| 2756 emit_rex_64(dst, src); |
| 2757 emit(0x0F); |
| 2758 emit(0x2D); |
| 2759 emit_sse_operand(dst, src); |
| 2760 } |
| 2761 |
| 2762 |
2741 void Assembler::addsd(XMMRegister dst, XMMRegister src) { | 2763 void Assembler::addsd(XMMRegister dst, XMMRegister src) { |
2742 EnsureSpace ensure_space(this); | 2764 EnsureSpace ensure_space(this); |
2743 last_pc_ = pc_; | 2765 last_pc_ = pc_; |
2744 emit(0xF2); | 2766 emit(0xF2); |
2745 emit_optional_rex_32(dst, src); | 2767 emit_optional_rex_32(dst, src); |
2746 emit(0x0F); | 2768 emit(0x0F); |
2747 emit(0x58); | 2769 emit(0x58); |
2748 emit_sse_operand(dst, src); | 2770 emit_sse_operand(dst, src); |
2749 } | 2771 } |
2750 | 2772 |
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2933 // specially coded on x64 means that it is a relative 32 bit address, as used | 2955 // specially coded on x64 means that it is a relative 32 bit address, as used |
2934 // by branch instructions. | 2956 // by branch instructions. |
2935 return (1 << rmode_) & kApplyMask; | 2957 return (1 << rmode_) & kApplyMask; |
2936 } | 2958 } |
2937 | 2959 |
2938 | 2960 |
2939 | 2961 |
2940 } } // namespace v8::internal | 2962 } } // namespace v8::internal |
2941 | 2963 |
2942 #endif // V8_TARGET_ARCH_X64 | 2964 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |