OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <limits.h> // For LONG_MIN, LONG_MAX. | 5 #include <limits.h> // For LONG_MIN, LONG_MAX. |
6 | 6 |
7 #if V8_TARGET_ARCH_MIPS64 | 7 #if V8_TARGET_ARCH_MIPS64 |
8 | 8 |
9 #include "src/base/division-by-constant.h" | 9 #include "src/base/division-by-constant.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 1463 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1474 | 1474 |
1475 | 1475 |
1476 void MacroAssembler::Dext(Register rt, Register rs, uint16_t pos, | 1476 void MacroAssembler::Dext(Register rt, Register rs, uint16_t pos, |
1477 uint16_t size) { | 1477 uint16_t size) { |
1478 DCHECK(pos < 32); | 1478 DCHECK(pos < 32); |
1479 DCHECK(pos + size < 33); | 1479 DCHECK(pos + size < 33); |
1480 dext_(rt, rs, pos, size); | 1480 dext_(rt, rs, pos, size); |
1481 } | 1481 } |
1482 | 1482 |
1483 | 1483 |
| 1484 void MacroAssembler::Dextm(Register rt, Register rs, uint16_t pos, |
| 1485 uint16_t size) { |
| 1486 DCHECK(pos < 32); |
| 1487 DCHECK(size <= 64); |
| 1488 dextm(rt, rs, pos, size); |
| 1489 } |
| 1490 |
| 1491 |
| 1492 void MacroAssembler::Dextu(Register rt, Register rs, uint16_t pos, |
| 1493 uint16_t size) { |
| 1494 DCHECK(pos >= 32 && pos < 64); |
| 1495 DCHECK(size < 33); |
| 1496 dextu(rt, rs, pos, size); |
| 1497 } |
| 1498 |
| 1499 |
1484 void MacroAssembler::Dins(Register rt, Register rs, uint16_t pos, | 1500 void MacroAssembler::Dins(Register rt, Register rs, uint16_t pos, |
1485 uint16_t size) { | 1501 uint16_t size) { |
1486 DCHECK(pos < 32); | 1502 DCHECK(pos < 32); |
1487 DCHECK(pos + size <= 32); | 1503 DCHECK(pos + size <= 32); |
1488 DCHECK(size != 0); | 1504 DCHECK(size != 0); |
1489 dins_(rt, rs, pos, size); | 1505 dins_(rt, rs, pos, size); |
1490 } | 1506 } |
1491 | 1507 |
1492 | 1508 |
1493 void MacroAssembler::Ins(Register rt, | 1509 void MacroAssembler::Ins(Register rt, |
(...skipping 4714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6208 if (mag.shift > 0) sra(result, result, mag.shift); | 6224 if (mag.shift > 0) sra(result, result, mag.shift); |
6209 srl(at, dividend, 31); | 6225 srl(at, dividend, 31); |
6210 Addu(result, result, Operand(at)); | 6226 Addu(result, result, Operand(at)); |
6211 } | 6227 } |
6212 | 6228 |
6213 | 6229 |
6214 } // namespace internal | 6230 } // namespace internal |
6215 } // namespace v8 | 6231 } // namespace v8 |
6216 | 6232 |
6217 #endif // V8_TARGET_ARCH_MIPS64 | 6233 #endif // V8_TARGET_ARCH_MIPS64 |
OLD | NEW |