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 1952 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1963 | 1963 |
1964 void Assembler::fstp_d(const Operand& adr) { | 1964 void Assembler::fstp_d(const Operand& adr) { |
1965 EnsureSpace ensure_space(this); | 1965 EnsureSpace ensure_space(this); |
1966 last_pc_ = pc_; | 1966 last_pc_ = pc_; |
1967 emit_optional_rex_32(adr); | 1967 emit_optional_rex_32(adr); |
1968 emit(0xDD); | 1968 emit(0xDD); |
1969 emit_operand(3, adr); | 1969 emit_operand(3, adr); |
1970 } | 1970 } |
1971 | 1971 |
1972 | 1972 |
| 1973 void Assembler::fstp(int index) { |
| 1974 ASSERT(is_uint3(index)); |
| 1975 EnsureSpace ensure_space(this); |
| 1976 last_pc_ = pc_; |
| 1977 emit_farith(0xDD, 0xD8, index); |
| 1978 } |
| 1979 |
| 1980 |
1973 void Assembler::fild_s(const Operand& adr) { | 1981 void Assembler::fild_s(const Operand& adr) { |
1974 EnsureSpace ensure_space(this); | 1982 EnsureSpace ensure_space(this); |
1975 last_pc_ = pc_; | 1983 last_pc_ = pc_; |
1976 emit_optional_rex_32(adr); | 1984 emit_optional_rex_32(adr); |
1977 emit(0xDB); | 1985 emit(0xDB); |
1978 emit_operand(0, adr); | 1986 emit_operand(0, adr); |
1979 } | 1987 } |
1980 | 1988 |
1981 | 1989 |
1982 void Assembler::fild_d(const Operand& adr) { | 1990 void Assembler::fild_d(const Operand& adr) { |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2251 EnsureSpace ensure_space(this); | 2259 EnsureSpace ensure_space(this); |
2252 last_pc_ = pc_; | 2260 last_pc_ = pc_; |
2253 emit(0xF2); // double | 2261 emit(0xF2); // double |
2254 emit_optional_rex_32(src, dst); | 2262 emit_optional_rex_32(src, dst); |
2255 emit(0x0F); | 2263 emit(0x0F); |
2256 emit(0x11); // store | 2264 emit(0x11); // store |
2257 emit_sse_operand(src, dst); | 2265 emit_sse_operand(src, dst); |
2258 } | 2266 } |
2259 | 2267 |
2260 | 2268 |
2261 void Assembler::movsd(Register dst, XMMRegister src) { | 2269 void Assembler::movsd(XMMRegister dst, XMMRegister src) { |
2262 EnsureSpace ensure_space(this); | 2270 EnsureSpace ensure_space(this); |
2263 last_pc_ = pc_; | 2271 last_pc_ = pc_; |
2264 emit(0xF2); // double | 2272 emit(0xF2); // double |
2265 emit_optional_rex_32(src, dst); | |
2266 emit(0x0F); | |
2267 emit(0x11); // store | |
2268 emit_sse_operand(src, dst); | |
2269 } | |
2270 | |
2271 | |
2272 void Assembler::movsd(XMMRegister dst, Register src) { | |
2273 EnsureSpace ensure_space(this); | |
2274 last_pc_ = pc_; | |
2275 emit(0xF2); // double | |
2276 emit_optional_rex_32(dst, src); | 2273 emit_optional_rex_32(dst, src); |
2277 emit(0x0F); | 2274 emit(0x0F); |
2278 emit(0x10); // load | 2275 emit(0x10); // load |
2279 emit_sse_operand(dst, src); | 2276 emit_sse_operand(dst, src); |
2280 } | 2277 } |
2281 | 2278 |
2282 | 2279 |
2283 void Assembler::movsd(XMMRegister dst, const Operand& src) { | 2280 void Assembler::movsd(XMMRegister dst, const Operand& src) { |
2284 EnsureSpace ensure_space(this); | 2281 EnsureSpace ensure_space(this); |
2285 last_pc_ = pc_; | 2282 last_pc_ = pc_; |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2467 written_position_ = current_position_; | 2464 written_position_ = current_position_; |
2468 } | 2465 } |
2469 } | 2466 } |
2470 | 2467 |
2471 | 2468 |
2472 const int RelocInfo::kApplyMask = RelocInfo::kCodeTargetMask | | 2469 const int RelocInfo::kApplyMask = RelocInfo::kCodeTargetMask | |
2473 1 << RelocInfo::INTERNAL_REFERENCE | | 2470 1 << RelocInfo::INTERNAL_REFERENCE | |
2474 1 << RelocInfo::JS_RETURN; | 2471 1 << RelocInfo::JS_RETURN; |
2475 | 2472 |
2476 } } // namespace v8::internal | 2473 } } // namespace v8::internal |
OLD | NEW |