OLD | NEW |
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 are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // 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 998 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1009 } | 1009 } |
1010 | 1010 |
1011 void rcr(Register dst, Immediate imm8) { | 1011 void rcr(Register dst, Immediate imm8) { |
1012 shift(dst, imm8, 0x3); | 1012 shift(dst, imm8, 0x3); |
1013 } | 1013 } |
1014 | 1014 |
1015 void ror(Register dst, Immediate imm8) { | 1015 void ror(Register dst, Immediate imm8) { |
1016 shift(dst, imm8, 0x1); | 1016 shift(dst, imm8, 0x1); |
1017 } | 1017 } |
1018 | 1018 |
| 1019 void rorl(Register dst, Immediate imm8) { |
| 1020 shift_32(dst, imm8, 0x1); |
| 1021 } |
| 1022 |
| 1023 void rorl_cl(Register dst) { |
| 1024 shift_32(dst, 0x1); |
| 1025 } |
| 1026 |
1019 // Shifts dst:src left by cl bits, affecting only dst. | 1027 // Shifts dst:src left by cl bits, affecting only dst. |
1020 void shld(Register dst, Register src); | 1028 void shld(Register dst, Register src); |
1021 | 1029 |
1022 // Shifts src:dst right by cl bits, affecting only dst. | 1030 // Shifts src:dst right by cl bits, affecting only dst. |
1023 void shrd(Register dst, Register src); | 1031 void shrd(Register dst, Register src); |
1024 | 1032 |
1025 // Shifts dst right, duplicating sign bit, by shift_amount bits. | 1033 // Shifts dst right, duplicating sign bit, by shift_amount bits. |
1026 // Shifting by 1 is handled efficiently. | 1034 // Shifting by 1 is handled efficiently. |
1027 void sar(Register dst, Immediate shift_amount) { | 1035 void sar(Register dst, Immediate shift_amount) { |
1028 shift(dst, shift_amount, 0x7); | 1036 shift(dst, shift_amount, 0x7); |
(...skipping 643 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1672 private: | 1680 private: |
1673 Assembler* assembler_; | 1681 Assembler* assembler_; |
1674 #ifdef DEBUG | 1682 #ifdef DEBUG |
1675 int space_before_; | 1683 int space_before_; |
1676 #endif | 1684 #endif |
1677 }; | 1685 }; |
1678 | 1686 |
1679 } } // namespace v8::internal | 1687 } } // namespace v8::internal |
1680 | 1688 |
1681 #endif // V8_X64_ASSEMBLER_X64_H_ | 1689 #endif // V8_X64_ASSEMBLER_X64_H_ |
OLD | NEW |