OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 2469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2480 | 2480 |
2481 void Assembler::andps(XMMRegister dst, XMMRegister src) { | 2481 void Assembler::andps(XMMRegister dst, XMMRegister src) { |
2482 EnsureSpace ensure_space(this); | 2482 EnsureSpace ensure_space(this); |
2483 emit_optional_rex_32(dst, src); | 2483 emit_optional_rex_32(dst, src); |
2484 emit(0x0F); | 2484 emit(0x0F); |
2485 emit(0x54); | 2485 emit(0x54); |
2486 emit_sse_operand(dst, src); | 2486 emit_sse_operand(dst, src); |
2487 } | 2487 } |
2488 | 2488 |
2489 | 2489 |
| 2490 void Assembler::orps(XMMRegister dst, XMMRegister src) { |
| 2491 EnsureSpace ensure_space(this); |
| 2492 emit_optional_rex_32(dst, src); |
| 2493 emit(0x0F); |
| 2494 emit(0x56); |
| 2495 emit_sse_operand(dst, src); |
| 2496 } |
| 2497 |
| 2498 |
| 2499 void Assembler::xorps(XMMRegister dst, XMMRegister src) { |
| 2500 EnsureSpace ensure_space(this); |
| 2501 emit_optional_rex_32(dst, src); |
| 2502 emit(0x0F); |
| 2503 emit(0x57); |
| 2504 emit_sse_operand(dst, src); |
| 2505 } |
| 2506 |
| 2507 |
2490 // SSE 2 operations. | 2508 // SSE 2 operations. |
2491 | 2509 |
2492 void Assembler::movd(XMMRegister dst, Register src) { | 2510 void Assembler::movd(XMMRegister dst, Register src) { |
2493 EnsureSpace ensure_space(this); | 2511 EnsureSpace ensure_space(this); |
2494 emit(0x66); | 2512 emit(0x66); |
2495 emit_optional_rex_32(dst, src); | 2513 emit_optional_rex_32(dst, src); |
2496 emit(0x0F); | 2514 emit(0x0F); |
2497 emit(0x6E); | 2515 emit(0x6E); |
2498 emit_sse_operand(dst, src); | 2516 emit_sse_operand(dst, src); |
2499 } | 2517 } |
(...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2911 void Assembler::xorpd(XMMRegister dst, XMMRegister src) { | 2929 void Assembler::xorpd(XMMRegister dst, XMMRegister src) { |
2912 EnsureSpace ensure_space(this); | 2930 EnsureSpace ensure_space(this); |
2913 emit(0x66); | 2931 emit(0x66); |
2914 emit_optional_rex_32(dst, src); | 2932 emit_optional_rex_32(dst, src); |
2915 emit(0x0F); | 2933 emit(0x0F); |
2916 emit(0x57); | 2934 emit(0x57); |
2917 emit_sse_operand(dst, src); | 2935 emit_sse_operand(dst, src); |
2918 } | 2936 } |
2919 | 2937 |
2920 | 2938 |
2921 void Assembler::xorps(XMMRegister dst, XMMRegister src) { | |
2922 EnsureSpace ensure_space(this); | |
2923 emit_optional_rex_32(dst, src); | |
2924 emit(0x0F); | |
2925 emit(0x57); | |
2926 emit_sse_operand(dst, src); | |
2927 } | |
2928 | |
2929 | |
2930 void Assembler::sqrtsd(XMMRegister dst, XMMRegister src) { | 2939 void Assembler::sqrtsd(XMMRegister dst, XMMRegister src) { |
2931 EnsureSpace ensure_space(this); | 2940 EnsureSpace ensure_space(this); |
2932 emit(0xF2); | 2941 emit(0xF2); |
2933 emit_optional_rex_32(dst, src); | 2942 emit_optional_rex_32(dst, src); |
2934 emit(0x0F); | 2943 emit(0x0F); |
2935 emit(0x51); | 2944 emit(0x51); |
2936 emit_sse_operand(dst, src); | 2945 emit_sse_operand(dst, src); |
2937 } | 2946 } |
2938 | 2947 |
2939 | 2948 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3089 bool RelocInfo::IsCodedSpecially() { | 3098 bool RelocInfo::IsCodedSpecially() { |
3090 // The deserializer needs to know whether a pointer is specially coded. Being | 3099 // The deserializer needs to know whether a pointer is specially coded. Being |
3091 // specially coded on x64 means that it is a relative 32 bit address, as used | 3100 // specially coded on x64 means that it is a relative 32 bit address, as used |
3092 // by branch instructions. | 3101 // by branch instructions. |
3093 return (1 << rmode_) & kApplyMask; | 3102 return (1 << rmode_) & kApplyMask; |
3094 } | 3103 } |
3095 | 3104 |
3096 } } // namespace v8::internal | 3105 } } // namespace v8::internal |
3097 | 3106 |
3098 #endif // V8_TARGET_ARCH_X64 | 3107 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |