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 | 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 928 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
939 emit_operand(edi, dst); | 939 emit_operand(edi, dst); |
940 } | 940 } |
941 | 941 |
942 | 942 |
943 void Assembler::sbb(Register dst, const Operand& src) { | 943 void Assembler::sbb(Register dst, const Operand& src) { |
944 EnsureSpace ensure_space(this); | 944 EnsureSpace ensure_space(this); |
945 EMIT(0x1B); | 945 EMIT(0x1B); |
946 emit_operand(dst, src); | 946 emit_operand(dst, src); |
947 } | 947 } |
948 | 948 |
| 949 void Assembler::shld(Register dst, Register src, uint8_t shift) { |
| 950 DCHECK(is_uint5(shift)); |
| 951 EnsureSpace ensure_space(this); |
| 952 EMIT(0x0F); |
| 953 EMIT(0xA4); |
| 954 emit_operand(src, Operand(dst)); |
| 955 EMIT(shift); |
| 956 } |
949 | 957 |
950 void Assembler::shld(Register dst, const Operand& src) { | 958 void Assembler::shld_cl(Register dst, Register src) { |
951 EnsureSpace ensure_space(this); | 959 EnsureSpace ensure_space(this); |
952 EMIT(0x0F); | 960 EMIT(0x0F); |
953 EMIT(0xA5); | 961 EMIT(0xA5); |
954 emit_operand(dst, src); | 962 emit_operand(src, Operand(dst)); |
955 } | 963 } |
956 | 964 |
957 | 965 |
958 void Assembler::shl(const Operand& dst, uint8_t imm8) { | 966 void Assembler::shl(const Operand& dst, uint8_t imm8) { |
959 EnsureSpace ensure_space(this); | 967 EnsureSpace ensure_space(this); |
960 DCHECK(is_uint5(imm8)); // illegal shift count | 968 DCHECK(is_uint5(imm8)); // illegal shift count |
961 if (imm8 == 1) { | 969 if (imm8 == 1) { |
962 EMIT(0xD1); | 970 EMIT(0xD1); |
963 emit_operand(esp, dst); | 971 emit_operand(esp, dst); |
964 } else { | 972 } else { |
(...skipping 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2113 fflush(coverage_log); | 2121 fflush(coverage_log); |
2114 } | 2122 } |
2115 } | 2123 } |
2116 | 2124 |
2117 #endif | 2125 #endif |
2118 | 2126 |
2119 } // namespace internal | 2127 } // namespace internal |
2120 } // namespace v8 | 2128 } // namespace v8 |
2121 | 2129 |
2122 #endif // V8_TARGET_ARCH_X87 | 2130 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |