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 1413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1424 src->link_to(pc_offset() - sizeof(int32_t)); | 1424 src->link_to(pc_offset() - sizeof(int32_t)); |
1425 } else { | 1425 } else { |
1426 ASSERT(src->is_unused()); | 1426 ASSERT(src->is_unused()); |
1427 int32_t current = pc_offset(); | 1427 int32_t current = pc_offset(); |
1428 emitl(current); | 1428 emitl(current); |
1429 src->link_to(current); | 1429 src->link_to(current); |
1430 } | 1430 } |
1431 } | 1431 } |
1432 | 1432 |
1433 | 1433 |
| 1434 void Assembler::movsxbl(Register dst, const Operand& src) { |
| 1435 EnsureSpace ensure_space(this); |
| 1436 emit_optional_rex_32(dst, src); |
| 1437 emit(0x0F); |
| 1438 emit(0xBE); |
| 1439 emit_operand(dst, src); |
| 1440 } |
| 1441 |
| 1442 |
1434 void Assembler::movsxbq(Register dst, const Operand& src) { | 1443 void Assembler::movsxbq(Register dst, const Operand& src) { |
1435 EnsureSpace ensure_space(this); | 1444 EnsureSpace ensure_space(this); |
1436 emit_rex_64(dst, src); | 1445 emit_rex_64(dst, src); |
1437 emit(0x0F); | 1446 emit(0x0F); |
1438 emit(0xBE); | 1447 emit(0xBE); |
1439 emit_operand(dst, src); | 1448 emit_operand(dst, src); |
1440 } | 1449 } |
1441 | 1450 |
1442 | 1451 |
| 1452 void Assembler::movsxwl(Register dst, const Operand& src) { |
| 1453 EnsureSpace ensure_space(this); |
| 1454 emit_optional_rex_32(dst, src); |
| 1455 emit(0x0F); |
| 1456 emit(0xBF); |
| 1457 emit_operand(dst, src); |
| 1458 } |
| 1459 |
| 1460 |
1443 void Assembler::movsxwq(Register dst, const Operand& src) { | 1461 void Assembler::movsxwq(Register dst, const Operand& src) { |
1444 EnsureSpace ensure_space(this); | 1462 EnsureSpace ensure_space(this); |
1445 emit_rex_64(dst, src); | 1463 emit_rex_64(dst, src); |
1446 emit(0x0F); | 1464 emit(0x0F); |
1447 emit(0xBF); | 1465 emit(0xBF); |
1448 emit_operand(dst, src); | 1466 emit_operand(dst, src); |
1449 } | 1467 } |
1450 | 1468 |
1451 | 1469 |
1452 void Assembler::movsxlq(Register dst, Register src) { | 1470 void Assembler::movsxlq(Register dst, Register src) { |
(...skipping 1591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3044 | 3062 |
3045 | 3063 |
3046 bool RelocInfo::IsInConstantPool() { | 3064 bool RelocInfo::IsInConstantPool() { |
3047 return false; | 3065 return false; |
3048 } | 3066 } |
3049 | 3067 |
3050 | 3068 |
3051 } } // namespace v8::internal | 3069 } } // namespace v8::internal |
3052 | 3070 |
3053 #endif // V8_TARGET_ARCH_X64 | 3071 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |