| 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 are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // 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 2465 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2476 DCHECK(IsMipsArchVariant(kMips32r6)); | 2476 DCHECK(IsMipsArchVariant(kMips32r6)); |
| 2477 DCHECK((fmt == D) || (fmt == S)); | 2477 DCHECK((fmt == D) || (fmt == S)); |
| 2478 GenInstrRegister(COP1, fmt, f0, fs, fd, RINT); | 2478 GenInstrRegister(COP1, fmt, f0, fs, fd, RINT); |
| 2479 } | 2479 } |
| 2480 | 2480 |
| 2481 | 2481 |
| 2482 void Assembler::rint_d(FPURegister fd, FPURegister fs) { rint(D, fd, fs); } | 2482 void Assembler::rint_d(FPURegister fd, FPURegister fs) { rint(D, fd, fs); } |
| 2483 | 2483 |
| 2484 | 2484 |
| 2485 void Assembler::cvt_l_s(FPURegister fd, FPURegister fs) { | 2485 void Assembler::cvt_l_s(FPURegister fd, FPURegister fs) { |
| 2486 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2486 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2487 IsFp64Mode()); |
| 2487 GenInstrRegister(COP1, S, f0, fs, fd, CVT_L_S); | 2488 GenInstrRegister(COP1, S, f0, fs, fd, CVT_L_S); |
| 2488 } | 2489 } |
| 2489 | 2490 |
| 2490 | 2491 |
| 2491 void Assembler::cvt_l_d(FPURegister fd, FPURegister fs) { | 2492 void Assembler::cvt_l_d(FPURegister fd, FPURegister fs) { |
| 2492 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2493 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2494 IsFp64Mode()); |
| 2493 GenInstrRegister(COP1, D, f0, fs, fd, CVT_L_D); | 2495 GenInstrRegister(COP1, D, f0, fs, fd, CVT_L_D); |
| 2494 } | 2496 } |
| 2495 | 2497 |
| 2496 | 2498 |
| 2497 void Assembler::trunc_l_s(FPURegister fd, FPURegister fs) { | 2499 void Assembler::trunc_l_s(FPURegister fd, FPURegister fs) { |
| 2498 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2500 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2501 IsFp64Mode()); |
| 2499 GenInstrRegister(COP1, S, f0, fs, fd, TRUNC_L_S); | 2502 GenInstrRegister(COP1, S, f0, fs, fd, TRUNC_L_S); |
| 2500 } | 2503 } |
| 2501 | 2504 |
| 2502 | 2505 |
| 2503 void Assembler::trunc_l_d(FPURegister fd, FPURegister fs) { | 2506 void Assembler::trunc_l_d(FPURegister fd, FPURegister fs) { |
| 2504 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2507 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2508 IsFp64Mode()); |
| 2505 GenInstrRegister(COP1, D, f0, fs, fd, TRUNC_L_D); | 2509 GenInstrRegister(COP1, D, f0, fs, fd, TRUNC_L_D); |
| 2506 } | 2510 } |
| 2507 | 2511 |
| 2508 | 2512 |
| 2509 void Assembler::round_l_s(FPURegister fd, FPURegister fs) { | 2513 void Assembler::round_l_s(FPURegister fd, FPURegister fs) { |
| 2514 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2515 IsFp64Mode()); |
| 2510 GenInstrRegister(COP1, S, f0, fs, fd, ROUND_L_S); | 2516 GenInstrRegister(COP1, S, f0, fs, fd, ROUND_L_S); |
| 2511 } | 2517 } |
| 2512 | 2518 |
| 2513 | 2519 |
| 2514 void Assembler::round_l_d(FPURegister fd, FPURegister fs) { | 2520 void Assembler::round_l_d(FPURegister fd, FPURegister fs) { |
| 2521 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2522 IsFp64Mode()); |
| 2515 GenInstrRegister(COP1, D, f0, fs, fd, ROUND_L_D); | 2523 GenInstrRegister(COP1, D, f0, fs, fd, ROUND_L_D); |
| 2516 } | 2524 } |
| 2517 | 2525 |
| 2518 | 2526 |
| 2519 void Assembler::floor_l_s(FPURegister fd, FPURegister fs) { | 2527 void Assembler::floor_l_s(FPURegister fd, FPURegister fs) { |
| 2528 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2529 IsFp64Mode()); |
| 2520 GenInstrRegister(COP1, S, f0, fs, fd, FLOOR_L_S); | 2530 GenInstrRegister(COP1, S, f0, fs, fd, FLOOR_L_S); |
| 2521 } | 2531 } |
| 2522 | 2532 |
| 2523 | 2533 |
| 2524 void Assembler::floor_l_d(FPURegister fd, FPURegister fs) { | 2534 void Assembler::floor_l_d(FPURegister fd, FPURegister fs) { |
| 2535 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2536 IsFp64Mode()); |
| 2525 GenInstrRegister(COP1, D, f0, fs, fd, FLOOR_L_D); | 2537 GenInstrRegister(COP1, D, f0, fs, fd, FLOOR_L_D); |
| 2526 } | 2538 } |
| 2527 | 2539 |
| 2528 | 2540 |
| 2529 void Assembler::ceil_l_s(FPURegister fd, FPURegister fs) { | 2541 void Assembler::ceil_l_s(FPURegister fd, FPURegister fs) { |
| 2542 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2543 IsFp64Mode()); |
| 2530 GenInstrRegister(COP1, S, f0, fs, fd, CEIL_L_S); | 2544 GenInstrRegister(COP1, S, f0, fs, fd, CEIL_L_S); |
| 2531 } | 2545 } |
| 2532 | 2546 |
| 2533 | 2547 |
| 2534 void Assembler::ceil_l_d(FPURegister fd, FPURegister fs) { | 2548 void Assembler::ceil_l_d(FPURegister fd, FPURegister fs) { |
| 2549 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2550 IsFp64Mode()); |
| 2535 GenInstrRegister(COP1, D, f0, fs, fd, CEIL_L_D); | 2551 GenInstrRegister(COP1, D, f0, fs, fd, CEIL_L_D); |
| 2536 } | 2552 } |
| 2537 | 2553 |
| 2538 | 2554 |
| 2539 void Assembler::class_s(FPURegister fd, FPURegister fs) { | 2555 void Assembler::class_s(FPURegister fd, FPURegister fs) { |
| 2540 DCHECK(IsMipsArchVariant(kMips32r6)); | 2556 DCHECK(IsMipsArchVariant(kMips32r6)); |
| 2541 GenInstrRegister(COP1, S, f0, fs, fd, CLASS_S); | 2557 GenInstrRegister(COP1, S, f0, fs, fd, CLASS_S); |
| 2542 } | 2558 } |
| 2543 | 2559 |
| 2544 | 2560 |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2619 maxa(D, fd, fs, ft); | 2635 maxa(D, fd, fs, ft); |
| 2620 } | 2636 } |
| 2621 | 2637 |
| 2622 | 2638 |
| 2623 void Assembler::cvt_s_w(FPURegister fd, FPURegister fs) { | 2639 void Assembler::cvt_s_w(FPURegister fd, FPURegister fs) { |
| 2624 GenInstrRegister(COP1, W, f0, fs, fd, CVT_S_W); | 2640 GenInstrRegister(COP1, W, f0, fs, fd, CVT_S_W); |
| 2625 } | 2641 } |
| 2626 | 2642 |
| 2627 | 2643 |
| 2628 void Assembler::cvt_s_l(FPURegister fd, FPURegister fs) { | 2644 void Assembler::cvt_s_l(FPURegister fd, FPURegister fs) { |
| 2629 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2645 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2646 IsFp64Mode()); |
| 2630 GenInstrRegister(COP1, L, f0, fs, fd, CVT_S_L); | 2647 GenInstrRegister(COP1, L, f0, fs, fd, CVT_S_L); |
| 2631 } | 2648 } |
| 2632 | 2649 |
| 2633 | 2650 |
| 2634 void Assembler::cvt_s_d(FPURegister fd, FPURegister fs) { | 2651 void Assembler::cvt_s_d(FPURegister fd, FPURegister fs) { |
| 2635 GenInstrRegister(COP1, D, f0, fs, fd, CVT_S_D); | 2652 GenInstrRegister(COP1, D, f0, fs, fd, CVT_S_D); |
| 2636 } | 2653 } |
| 2637 | 2654 |
| 2638 | 2655 |
| 2639 void Assembler::cvt_d_w(FPURegister fd, FPURegister fs) { | 2656 void Assembler::cvt_d_w(FPURegister fd, FPURegister fs) { |
| 2640 GenInstrRegister(COP1, W, f0, fs, fd, CVT_D_W); | 2657 GenInstrRegister(COP1, W, f0, fs, fd, CVT_D_W); |
| 2641 } | 2658 } |
| 2642 | 2659 |
| 2643 | 2660 |
| 2644 void Assembler::cvt_d_l(FPURegister fd, FPURegister fs) { | 2661 void Assembler::cvt_d_l(FPURegister fd, FPURegister fs) { |
| 2645 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2662 DCHECK((IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) && |
| 2663 IsFp64Mode()); |
| 2646 GenInstrRegister(COP1, L, f0, fs, fd, CVT_D_L); | 2664 GenInstrRegister(COP1, L, f0, fs, fd, CVT_D_L); |
| 2647 } | 2665 } |
| 2648 | 2666 |
| 2649 | 2667 |
| 2650 void Assembler::cvt_d_s(FPURegister fd, FPURegister fs) { | 2668 void Assembler::cvt_d_s(FPURegister fd, FPURegister fs) { |
| 2651 GenInstrRegister(COP1, S, f0, fs, fd, CVT_D_S); | 2669 GenInstrRegister(COP1, S, f0, fs, fd, CVT_D_S); |
| 2652 } | 2670 } |
| 2653 | 2671 |
| 2654 | 2672 |
| 2655 // Conditions for >= MIPSr6. | 2673 // Conditions for >= MIPSr6. |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3023 | 3041 |
| 3024 if (icache_flush_mode != SKIP_ICACHE_FLUSH) { | 3042 if (icache_flush_mode != SKIP_ICACHE_FLUSH) { |
| 3025 CpuFeatures::FlushICache(pc, 2 * sizeof(int32_t)); | 3043 CpuFeatures::FlushICache(pc, 2 * sizeof(int32_t)); |
| 3026 } | 3044 } |
| 3027 } | 3045 } |
| 3028 | 3046 |
| 3029 } // namespace internal | 3047 } // namespace internal |
| 3030 } // namespace v8 | 3048 } // namespace v8 |
| 3031 | 3049 |
| 3032 #endif // V8_TARGET_ARCH_MIPS | 3050 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |