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 1057 matching lines...) Loading... |
1068 emit_operand(edi, dst); | 1068 emit_operand(edi, dst); |
1069 } | 1069 } |
1070 | 1070 |
1071 | 1071 |
1072 void Assembler::sbb(Register dst, const Operand& src) { | 1072 void Assembler::sbb(Register dst, const Operand& src) { |
1073 EnsureSpace ensure_space(this); | 1073 EnsureSpace ensure_space(this); |
1074 EMIT(0x1B); | 1074 EMIT(0x1B); |
1075 emit_operand(dst, src); | 1075 emit_operand(dst, src); |
1076 } | 1076 } |
1077 | 1077 |
| 1078 void Assembler::shld(Register dst, Register src, uint8_t shift) { |
| 1079 DCHECK(is_uint5(shift)); |
| 1080 EnsureSpace ensure_space(this); |
| 1081 EMIT(0x0F); |
| 1082 EMIT(0xA4); |
| 1083 emit_operand(src, Operand(dst)); |
| 1084 EMIT(shift); |
| 1085 } |
1078 | 1086 |
1079 void Assembler::shld(Register dst, const Operand& src) { | 1087 void Assembler::shld_cl(Register dst, Register src) { |
1080 EnsureSpace ensure_space(this); | 1088 EnsureSpace ensure_space(this); |
1081 EMIT(0x0F); | 1089 EMIT(0x0F); |
1082 EMIT(0xA5); | 1090 EMIT(0xA5); |
1083 emit_operand(dst, src); | 1091 emit_operand(src, Operand(dst)); |
1084 } | 1092 } |
1085 | 1093 |
1086 | 1094 |
1087 void Assembler::shl(const Operand& dst, uint8_t imm8) { | 1095 void Assembler::shl(const Operand& dst, uint8_t imm8) { |
1088 EnsureSpace ensure_space(this); | 1096 EnsureSpace ensure_space(this); |
1089 DCHECK(is_uint5(imm8)); // illegal shift count | 1097 DCHECK(is_uint5(imm8)); // illegal shift count |
1090 if (imm8 == 1) { | 1098 if (imm8 == 1) { |
1091 EMIT(0xD1); | 1099 EMIT(0xD1); |
1092 emit_operand(esp, dst); | 1100 emit_operand(esp, dst); |
1093 } else { | 1101 } else { |
(...skipping 1860 matching lines...) Loading... |
2954 fflush(coverage_log); | 2962 fflush(coverage_log); |
2955 } | 2963 } |
2956 } | 2964 } |
2957 | 2965 |
2958 #endif | 2966 #endif |
2959 | 2967 |
2960 } // namespace internal | 2968 } // namespace internal |
2961 } // namespace v8 | 2969 } // namespace v8 |
2962 | 2970 |
2963 #endif // V8_TARGET_ARCH_IA32 | 2971 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |