| 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 727 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 738 // Never use the int16_t b(l)cond version with a branch offset | 738 // Never use the int16_t b(l)cond version with a branch offset |
| 739 // instead of using the Label* version. | 739 // instead of using the Label* version. |
| 740 | 740 |
| 741 // Jump targets must be in the current 256 MB-aligned region. i.e. 28 bits. | 741 // Jump targets must be in the current 256 MB-aligned region. i.e. 28 bits. |
| 742 void j(int64_t target); | 742 void j(int64_t target); |
| 743 void jal(int64_t target); | 743 void jal(int64_t target); |
| 744 void jalr(Register rs, Register rd = ra); | 744 void jalr(Register rs, Register rd = ra); |
| 745 void jr(Register target); | 745 void jr(Register target); |
| 746 void j_or_jr(int64_t target, Register rs); | 746 void j_or_jr(int64_t target, Register rs); |
| 747 void jal_or_jalr(int64_t target, Register rs); | 747 void jal_or_jalr(int64_t target, Register rs); |
| 748 void jic(Register rt, int16_t offset); |
| 749 void jialc(Register rt, int16_t offset); |
| 748 | 750 |
| 749 | 751 |
| 750 // -------Data-processing-instructions--------- | 752 // -------Data-processing-instructions--------- |
| 751 | 753 |
| 752 // Arithmetic. | 754 // Arithmetic. |
| 753 void addu(Register rd, Register rs, Register rt); | 755 void addu(Register rd, Register rs, Register rt); |
| 754 void subu(Register rd, Register rs, Register rt); | 756 void subu(Register rd, Register rs, Register rt); |
| 755 | 757 |
| 756 void div(Register rs, Register rt); | 758 void div(Register rs, Register rt); |
| 757 void divu(Register rs, Register rt); | 759 void divu(Register rs, Register rt); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 840 void swl(Register rd, const MemOperand& rs); | 842 void swl(Register rd, const MemOperand& rs); |
| 841 void swr(Register rd, const MemOperand& rs); | 843 void swr(Register rd, const MemOperand& rs); |
| 842 void ldl(Register rd, const MemOperand& rs); | 844 void ldl(Register rd, const MemOperand& rs); |
| 843 void ldr(Register rd, const MemOperand& rs); | 845 void ldr(Register rd, const MemOperand& rs); |
| 844 void sdl(Register rd, const MemOperand& rs); | 846 void sdl(Register rd, const MemOperand& rs); |
| 845 void sdr(Register rd, const MemOperand& rs); | 847 void sdr(Register rd, const MemOperand& rs); |
| 846 void ld(Register rd, const MemOperand& rs); | 848 void ld(Register rd, const MemOperand& rs); |
| 847 void sd(Register rd, const MemOperand& rs); | 849 void sd(Register rd, const MemOperand& rs); |
| 848 | 850 |
| 849 | 851 |
| 852 // ---------PC-Relative-instructions----------- |
| 853 |
| 854 void addiupc(Register rs, int32_t imm19); |
| 855 void lwpc(Register rs, int32_t offset19); |
| 856 // void lwupc(Register rs, int32_t offset19); |
| 857 void ldpc(Register rs, int32_t offset18); |
| 858 // void auipc(Register rs, int16_t imm16); |
| 859 void aluipc(Register rs, int16_t imm16); |
| 860 |
| 861 |
| 850 // ----------------Prefetch-------------------- | 862 // ----------------Prefetch-------------------- |
| 851 | 863 |
| 852 void pref(int32_t hint, const MemOperand& rs); | 864 void pref(int32_t hint, const MemOperand& rs); |
| 853 | 865 |
| 854 | 866 |
| 855 // -------------Misc-instructions-------------- | 867 // -------------Misc-instructions-------------- |
| 856 | 868 |
| 857 // Break / Trap instructions. | 869 // Break / Trap instructions. |
| 858 void break_(uint32_t code, bool break_as_stop = false); | 870 void break_(uint32_t code, bool break_as_stop = false); |
| 859 void stop(const char* msg, uint32_t code = kMaxStopCode); | 871 void stop(const char* msg, uint32_t code = kMaxStopCode); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 902 void movf_d(FPURegister fd, FPURegister fs, uint16_t cc); | 914 void movf_d(FPURegister fd, FPURegister fs, uint16_t cc); |
| 903 void movn_s(FPURegister fd, FPURegister fs, Register rt); | 915 void movn_s(FPURegister fd, FPURegister fs, Register rt); |
| 904 void movn_d(FPURegister fd, FPURegister fs, Register rt); | 916 void movn_d(FPURegister fd, FPURegister fs, Register rt); |
| 905 // Bit twiddling. | 917 // Bit twiddling. |
| 906 void clz(Register rd, Register rs); | 918 void clz(Register rd, Register rs); |
| 907 void ins_(Register rt, Register rs, uint16_t pos, uint16_t size); | 919 void ins_(Register rt, Register rs, uint16_t pos, uint16_t size); |
| 908 void ext_(Register rt, Register rs, uint16_t pos, uint16_t size); | 920 void ext_(Register rt, Register rs, uint16_t pos, uint16_t size); |
| 909 void dext_(Register rt, Register rs, uint16_t pos, uint16_t size); | 921 void dext_(Register rt, Register rs, uint16_t pos, uint16_t size); |
| 910 void bitswap(Register rd, Register rt); | 922 void bitswap(Register rd, Register rt); |
| 911 void dbitswap(Register rd, Register rt); | 923 void dbitswap(Register rd, Register rt); |
| 924 void align(Register rd, Register rs, Register rt, uint8_t bp); |
| 925 void dalign(Register rd, Register rs, Register rt, uint8_t bp); |
| 912 | 926 |
| 913 // --------Coprocessor-instructions---------------- | 927 // --------Coprocessor-instructions---------------- |
| 914 | 928 |
| 915 // Load, store, and move. | 929 // Load, store, and move. |
| 916 void lwc1(FPURegister fd, const MemOperand& src); | 930 void lwc1(FPURegister fd, const MemOperand& src); |
| 917 void ldc1(FPURegister fd, const MemOperand& src); | 931 void ldc1(FPURegister fd, const MemOperand& src); |
| 918 | 932 |
| 919 void swc1(FPURegister fs, const MemOperand& dst); | 933 void swc1(FPURegister fs, const MemOperand& dst); |
| 920 void sdc1(FPURegister fs, const MemOperand& dst); | 934 void sdc1(FPURegister fs, const MemOperand& dst); |
| 921 | 935 |
| (...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1374 Register rt, | 1388 Register rt, |
| 1375 int32_t j); | 1389 int32_t j); |
| 1376 void GenInstrImmediate(Opcode opcode, | 1390 void GenInstrImmediate(Opcode opcode, |
| 1377 Register rs, | 1391 Register rs, |
| 1378 SecondaryField SF, | 1392 SecondaryField SF, |
| 1379 int32_t j); | 1393 int32_t j); |
| 1380 void GenInstrImmediate(Opcode opcode, | 1394 void GenInstrImmediate(Opcode opcode, |
| 1381 Register r1, | 1395 Register r1, |
| 1382 FPURegister r2, | 1396 FPURegister r2, |
| 1383 int32_t j); | 1397 int32_t j); |
| 1398 void GenInstrImmediate(Opcode opcode, Register rs, int32_t j); |
| 1384 | 1399 |
| 1385 | 1400 |
| 1386 void GenInstrJump(Opcode opcode, | 1401 void GenInstrJump(Opcode opcode, |
| 1387 uint32_t address); | 1402 uint32_t address); |
| 1388 | 1403 |
| 1389 // Helpers. | 1404 // Helpers. |
| 1390 void LoadRegPlusOffsetToAt(const MemOperand& src); | 1405 void LoadRegPlusOffsetToAt(const MemOperand& src); |
| 1391 | 1406 |
| 1392 // Labels. | 1407 // Labels. |
| 1393 void print(Label* L); | 1408 void print(Label* L); |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1478 class EnsureSpace BASE_EMBEDDED { | 1493 class EnsureSpace BASE_EMBEDDED { |
| 1479 public: | 1494 public: |
| 1480 explicit EnsureSpace(Assembler* assembler) { | 1495 explicit EnsureSpace(Assembler* assembler) { |
| 1481 assembler->CheckBuffer(); | 1496 assembler->CheckBuffer(); |
| 1482 } | 1497 } |
| 1483 }; | 1498 }; |
| 1484 | 1499 |
| 1485 } } // namespace v8::internal | 1500 } } // namespace v8::internal |
| 1486 | 1501 |
| 1487 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 1502 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
| OLD | NEW |