Lines Matching refs:amode
228 amode.value = immediate; in imm()
234 amode.reg = Rm; in reg_imm()
235 amode.stype = type; in reg_imm()
236 amode.value = shift; in reg_imm()
261 amode.value = immed12; in immed12_pre()
262 amode.writeback = W; in immed12_pre()
272 amode.value = immed12; in immed12_post()
281 amode.reg = Rm; in reg_scale_pre()
315 amode.value = immed8; in immed8_post()
322 amode.reg = Rm; in reg_pre()
377 if ((!_signed && amode.value > 0xffff) in dataProcAdrModes()
378 || (_signed && ((int)amode.value < -32768 || (int)amode.value > 32767) )) { in dataProcAdrModes()
379 mMips->LUI(tmpReg, (amode.value >> 16)); in dataProcAdrModes()
380 if (amode.value & 0x0000ffff) { in dataProcAdrModes()
381 mMips->ORI(tmpReg, tmpReg, (amode.value & 0x0000ffff)); in dataProcAdrModes()
386 source = amode.value; in dataProcAdrModes()
390 switch (amode.stype) { in dataProcAdrModes()
391 case LSL: mMips->SLL(tmpReg, amode.reg, amode.value); break; in dataProcAdrModes()
392 case LSR: mMips->SRL(tmpReg, amode.reg, amode.value); break; in dataProcAdrModes()
393 case ASR: mMips->SRA(tmpReg, amode.reg, amode.value); break; in dataProcAdrModes()
395 mMips->ROTR(tmpReg, amode.reg, amode.value); in dataProcAdrModes()
397 mMips->RORIsyn(tmpReg, amode.reg, amode.value); in dataProcAdrModes()
492 if (amode.value > 0xffff) { in dataProcessing()
493 mMips->LUI(Rd, (amode.value >> 16)); in dataProcessing()
494 if (amode.value & 0x0000ffff) { in dataProcessing()
495 mMips->ORI(Rd, Rd, (amode.value & 0x0000ffff)); in dataProcessing()
498 mMips->ORI(Rd, 0, amode.value); in dataProcessing()
501 switch (amode.stype) { in dataProcessing()
502 case LSL: mMips->SLL(Rd, amode.reg, amode.value); break; in dataProcessing()
503 case LSR: mMips->SRL(Rd, amode.reg, amode.value); break; in dataProcessing()
504 case ASR: mMips->SRA(Rd, amode.reg, amode.value); break; in dataProcessing()
506 mMips->ROTR(Rd, amode.reg, amode.value); in dataProcessing()
508 mMips->RORIsyn(Rd, amode.reg, amode.value); in dataProcessing()
524 if (amode.value > 0xffff) { in dataProcessing()
525 mMips->LUI(Rd, (amode.value >> 16)); in dataProcessing()
526 if (amode.value & 0x0000ffff) { in dataProcessing()
527 mMips->ORI(Rd, Rd, (amode.value & 0x0000ffff)); in dataProcessing()
530 mMips->ORI(Rd, 0, amode.value); in dataProcessing()
533 switch (amode.stype) { in dataProcessing()
534 case LSL: mMips->SLL(Rd, amode.reg, amode.value); break; in dataProcessing()
535 case LSR: mMips->SRL(Rd, amode.reg, amode.value); break; in dataProcessing()
536 case ASR: mMips->SRA(Rd, amode.reg, amode.value); break; in dataProcessing()
538 mMips->ROTR(Rd, amode.reg, amode.value); in dataProcessing()
540 mMips->RORIsyn(Rd, amode.reg, amode.value); in dataProcessing()
769 amode.value = 0; in LDR()
770 amode.writeback = 0; in LDR()
776 mMips->LW(Rd, Rn, amode.value); in LDR()
777 if (amode.writeback) { // OPTIONAL writeback on pre-index mode in LDR()
778 mMips->ADDIU(Rn, Rn, amode.value); in LDR()
786 mMips->ADDIU(Rn, Rn, amode.value); in LDR()
790 mMips->ADDU(R_at, Rn, amode.reg); in LDR()
803 amode.value = 0; in LDRB()
804 amode.writeback = 0; in LDRB()
807 mMips->LBU(Rd, Rn, amode.value); in LDRB()
808 if (amode.writeback) { // OPTIONAL writeback on pre-index mode in LDRB()
809 mMips->ADDIU(Rn, Rn, amode.value); in LDRB()
814 mMips->ADDIU(Rn, Rn, amode.value); in LDRB()
818 mMips->ADDU(R_at, Rn, amode.reg); in LDRB()
832 amode.value = 0; in STR()
833 amode.writeback = 0; in STR()
839 if (amode.writeback) { // OPTIONAL writeback on pre-index mode in STR()
842 mMips->ADDIU(Rn, Rn, amode.value); in STR()
846 mMips->SW(Rd, Rn, amode.value); in STR()
851 mMips->ADDIU(Rn, Rn, amode.value); // post index always writes back in STR()
855 mMips->ADDU(R_at, Rn, amode.reg); in STR()
868 amode.value = 0; in STRB()
869 amode.writeback = 0; in STRB()
872 mMips->SB(Rd, Rn, amode.value); in STRB()
873 if (amode.writeback) { // OPTIONAL writeback on pre-index mode in STRB()
874 mMips->ADDIU(Rn, Rn, amode.value); in STRB()
879 mMips->ADDIU(Rn, Rn, amode.value); in STRB()
883 mMips->ADDU(R_at, Rn, amode.reg); in STRB()
896 amode.value = 0; in LDRH()
899 mMips->LHU(Rd, Rn, amode.value); in LDRH()
903 mMips->ADDIU(Rn, Rn, amode.value); in LDRH()
907 if (amode.reg >= 0) { in LDRH()
908 mMips->ADDU(R_at, Rn, amode.reg); in LDRH()
910 mMips->SUBU(R_at, Rn, abs(amode.reg)); in LDRH()
940 amode.value = 0; in STRH()
943 mMips->SH(Rd, Rn, amode.value); in STRH()
947 mMips->ADDIU(Rn, Rn, amode.value); in STRH()
951 if (amode.reg >= 0) { in STRH()
952 mMips->ADDU(R_at, Rn, amode.reg); in STRH()
954 mMips->SUBU(R_at, Rn, abs(amode.reg)); in STRH()