| 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 627 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   638     sll(zero_reg, nop_rt_reg, type, true); |   638     sll(zero_reg, nop_rt_reg, type, true); | 
|   639   } |   639   } | 
|   640  |   640  | 
|   641  |   641  | 
|   642   // --------Branch-and-jump-instructions---------- |   642   // --------Branch-and-jump-instructions---------- | 
|   643   // We don't use likely variant of instructions. |   643   // We don't use likely variant of instructions. | 
|   644   void b(int16_t offset); |   644   void b(int16_t offset); | 
|   645   void b(Label* L) { b(branch_offset(L, false)>>2); } |   645   void b(Label* L) { b(branch_offset(L, false)>>2); } | 
|   646   void bal(int16_t offset); |   646   void bal(int16_t offset); | 
|   647   void bal(Label* L) { bal(branch_offset(L, false)>>2); } |   647   void bal(Label* L) { bal(branch_offset(L, false)>>2); } | 
 |   648   void bc(int32_t offset); | 
 |   649   void bc(Label* L) { bc(branch_offset(L, false) >> 2); } | 
 |   650   void balc(int32_t offset); | 
 |   651   void balc(Label* L) { balc(branch_offset(L, false) >> 2); } | 
|   648  |   652  | 
|   649   void beq(Register rs, Register rt, int16_t offset); |   653   void beq(Register rs, Register rt, int16_t offset); | 
|   650   void beq(Register rs, Register rt, Label* L) { |   654   void beq(Register rs, Register rt, Label* L) { | 
|   651     beq(rs, rt, branch_offset(L, false) >> 2); |   655     beq(rs, rt, branch_offset(L, false) >> 2); | 
|   652   } |   656   } | 
|   653   void bgez(Register rs, int16_t offset); |   657   void bgez(Register rs, int16_t offset); | 
|   654   void bgezc(Register rt, int16_t offset); |   658   void bgezc(Register rt, int16_t offset); | 
|   655   void bgezc(Register rt, Label* L) { |   659   void bgezc(Register rt, Label* L) { | 
|   656     bgezc(rt, branch_offset_compact(L, false)>>2); |   660     bgezc(rt, branch_offset_compact(L, false)>>2); | 
|   657   } |   661   } | 
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   746   } |   750   } | 
|   747  |   751  | 
|   748   // Never use the int16_t b(l)cond version with a branch offset |   752   // Never use the int16_t b(l)cond version with a branch offset | 
|   749   // instead of using the Label* version. |   753   // instead of using the Label* version. | 
|   750  |   754  | 
|   751   // Jump targets must be in the current 256 MB-aligned region. i.e. 28 bits. |   755   // Jump targets must be in the current 256 MB-aligned region. i.e. 28 bits. | 
|   752   void j(int32_t target); |   756   void j(int32_t target); | 
|   753   void jal(int32_t target); |   757   void jal(int32_t target); | 
|   754   void jalr(Register rs, Register rd = ra); |   758   void jalr(Register rs, Register rd = ra); | 
|   755   void jr(Register target); |   759   void jr(Register target); | 
|   756   void j_or_jr(int32_t target, Register rs); |   760   void jic(Register rt, int16_t offset); | 
|   757   void jal_or_jalr(int32_t target, Register rs); |   761   void jialc(Register rt, int16_t offset); | 
|   758  |   762  | 
|   759  |   763  | 
|   760   // -------Data-processing-instructions--------- |   764   // -------Data-processing-instructions--------- | 
|   761  |   765  | 
|   762   // Arithmetic. |   766   // Arithmetic. | 
|   763   void addu(Register rd, Register rs, Register rt); |   767   void addu(Register rd, Register rs, Register rt); | 
|   764   void subu(Register rd, Register rs, Register rt); |   768   void subu(Register rd, Register rs, Register rt); | 
|   765   void mult(Register rs, Register rt); |   769   void mult(Register rs, Register rt); | 
|   766   void multu(Register rs, Register rt); |   770   void multu(Register rs, Register rt); | 
|   767   void div(Register rs, Register rt); |   771   void div(Register rs, Register rt); | 
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   812   void lw(Register rd, const MemOperand& rs); |   816   void lw(Register rd, const MemOperand& rs); | 
|   813   void lwl(Register rd, const MemOperand& rs); |   817   void lwl(Register rd, const MemOperand& rs); | 
|   814   void lwr(Register rd, const MemOperand& rs); |   818   void lwr(Register rd, const MemOperand& rs); | 
|   815   void sb(Register rd, const MemOperand& rs); |   819   void sb(Register rd, const MemOperand& rs); | 
|   816   void sh(Register rd, const MemOperand& rs); |   820   void sh(Register rd, const MemOperand& rs); | 
|   817   void sw(Register rd, const MemOperand& rs); |   821   void sw(Register rd, const MemOperand& rs); | 
|   818   void swl(Register rd, const MemOperand& rs); |   822   void swl(Register rd, const MemOperand& rs); | 
|   819   void swr(Register rd, const MemOperand& rs); |   823   void swr(Register rd, const MemOperand& rs); | 
|   820  |   824  | 
|   821  |   825  | 
 |   826   // ---------PC-Relative-instructions----------- | 
 |   827  | 
 |   828   void addiupc(Register rs, int32_t imm19); | 
 |   829   void lwpc(Register rs, int32_t offset19); | 
 |   830   void auipc(Register rs, int16_t imm16); | 
 |   831   void aluipc(Register rs, int16_t imm16); | 
 |   832  | 
 |   833  | 
|   822   // ----------------Prefetch-------------------- |   834   // ----------------Prefetch-------------------- | 
|   823  |   835  | 
|   824   void pref(int32_t hint, const MemOperand& rs); |   836   void pref(int32_t hint, const MemOperand& rs); | 
|   825  |   837  | 
|   826  |   838  | 
|   827   // -------------Misc-instructions-------------- |   839   // -------------Misc-instructions-------------- | 
|   828  |   840  | 
|   829   // Break / Trap instructions. |   841   // Break / Trap instructions. | 
|   830   void break_(uint32_t code, bool break_as_stop = false); |   842   void break_(uint32_t code, bool break_as_stop = false); | 
|   831   void stop(const char* msg, uint32_t code = kMaxStopCode); |   843   void stop(const char* msg, uint32_t code = kMaxStopCode); | 
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   872   void movt_d(FPURegister fd, FPURegister fs, uint16_t cc); |   884   void movt_d(FPURegister fd, FPURegister fs, uint16_t cc); | 
|   873   void movf_s(FPURegister fd, FPURegister fs, uint16_t cc); |   885   void movf_s(FPURegister fd, FPURegister fs, uint16_t cc); | 
|   874   void movf_d(FPURegister fd, FPURegister fs, uint16_t cc); |   886   void movf_d(FPURegister fd, FPURegister fs, uint16_t cc); | 
|   875   void movn_s(FPURegister fd, FPURegister fs, Register rt); |   887   void movn_s(FPURegister fd, FPURegister fs, Register rt); | 
|   876   void movn_d(FPURegister fd, FPURegister fs, Register rt); |   888   void movn_d(FPURegister fd, FPURegister fs, Register rt); | 
|   877   // Bit twiddling. |   889   // Bit twiddling. | 
|   878   void clz(Register rd, Register rs); |   890   void clz(Register rd, Register rs); | 
|   879   void ins_(Register rt, Register rs, uint16_t pos, uint16_t size); |   891   void ins_(Register rt, Register rs, uint16_t pos, uint16_t size); | 
|   880   void ext_(Register rt, Register rs, uint16_t pos, uint16_t size); |   892   void ext_(Register rt, Register rs, uint16_t pos, uint16_t size); | 
|   881   void bitswap(Register rd, Register rt); |   893   void bitswap(Register rd, Register rt); | 
 |   894   void align(Register rd, Register rs, Register rt, uint8_t bp); | 
|   882  |   895  | 
|   883   // --------Coprocessor-instructions---------------- |   896   // --------Coprocessor-instructions---------------- | 
|   884  |   897  | 
|   885   // Load, store, and move. |   898   // Load, store, and move. | 
|   886   void lwc1(FPURegister fd, const MemOperand& src); |   899   void lwc1(FPURegister fd, const MemOperand& src); | 
|   887   void ldc1(FPURegister fd, const MemOperand& src); |   900   void ldc1(FPURegister fd, const MemOperand& src); | 
|   888  |   901  | 
|   889   void swc1(FPURegister fs, const MemOperand& dst); |   902   void swc1(FPURegister fs, const MemOperand& dst); | 
|   890   void sdc1(FPURegister fs, const MemOperand& dst); |   903   void sdc1(FPURegister fs, const MemOperand& dst); | 
|   891  |   904  | 
| (...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1340                          Register rt, |  1353                          Register rt, | 
|  1341                          int32_t  j); |  1354                          int32_t  j); | 
|  1342   void GenInstrImmediate(Opcode opcode, |  1355   void GenInstrImmediate(Opcode opcode, | 
|  1343                          Register rs, |  1356                          Register rs, | 
|  1344                          SecondaryField SF, |  1357                          SecondaryField SF, | 
|  1345                          int32_t  j); |  1358                          int32_t  j); | 
|  1346   void GenInstrImmediate(Opcode opcode, |  1359   void GenInstrImmediate(Opcode opcode, | 
|  1347                          Register r1, |  1360                          Register r1, | 
|  1348                          FPURegister r2, |  1361                          FPURegister r2, | 
|  1349                          int32_t  j); |  1362                          int32_t  j); | 
 |  1363   void GenInstrImmediate(Opcode opcode, Register rs, int32_t j); | 
 |  1364   void GenInstrImmediate(Opcode opcode, int32_t offset26); | 
|  1350  |  1365  | 
|  1351  |  1366  | 
|  1352   void GenInstrJump(Opcode opcode, |  1367   void GenInstrJump(Opcode opcode, | 
|  1353                      uint32_t address); |  1368                      uint32_t address); | 
|  1354  |  1369  | 
|  1355   // Helpers. |  1370   // Helpers. | 
|  1356   void LoadRegPlusOffsetToAt(const MemOperand& src); |  1371   void LoadRegPlusOffsetToAt(const MemOperand& src); | 
|  1357  |  1372  | 
|  1358   // Labels. |  1373   // Labels. | 
|  1359   void print(Label* L); |  1374   void print(Label* L); | 
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1444 class EnsureSpace BASE_EMBEDDED { |  1459 class EnsureSpace BASE_EMBEDDED { | 
|  1445  public: |  1460  public: | 
|  1446   explicit EnsureSpace(Assembler* assembler) { |  1461   explicit EnsureSpace(Assembler* assembler) { | 
|  1447     assembler->CheckBuffer(); |  1462     assembler->CheckBuffer(); | 
|  1448   } |  1463   } | 
|  1449 }; |  1464 }; | 
|  1450  |  1465  | 
|  1451 } }  // namespace v8::internal |  1466 } }  // namespace v8::internal | 
|  1452  |  1467  | 
|  1453 #endif  // V8_ARM_ASSEMBLER_MIPS_H_ |  1468 #endif  // V8_ARM_ASSEMBLER_MIPS_H_ | 
| OLD | NEW |