Lines Matching refs:opcode
212 unsigned int PerformLDF(const unsigned int opcode) in PerformLDF() argument
215 unsigned int nRc = 1, write_back = WRITE_BACK(opcode); in PerformLDF()
217 pBase = (unsigned int __user *) readRegister(getRn(opcode)); in PerformLDF()
218 if (REG_PC == getRn(opcode)) { in PerformLDF()
224 if (BIT_UP_SET(opcode)) in PerformLDF()
225 pFinal += getOffset(opcode); in PerformLDF()
227 pFinal -= getOffset(opcode); in PerformLDF()
229 if (PREINDEXED(opcode)) in PerformLDF()
234 switch (opcode & MASK_TRANSFER_LENGTH) { in PerformLDF()
236 loadSingle(getFd(opcode), pAddress); in PerformLDF()
239 loadDouble(getFd(opcode), pAddress); in PerformLDF()
243 loadExtended(getFd(opcode), pAddress); in PerformLDF()
251 writeRegister(getRn(opcode), (unsigned long) pFinal); in PerformLDF()
255 unsigned int PerformSTF(const unsigned int opcode) in PerformSTF() argument
258 unsigned int nRc = 1, write_back = WRITE_BACK(opcode); in PerformSTF()
261 roundData.mode = SetRoundingMode(opcode); in PerformSTF()
262 roundData.precision = SetRoundingPrecision(opcode); in PerformSTF()
265 pBase = (unsigned int __user *) readRegister(getRn(opcode)); in PerformSTF()
266 if (REG_PC == getRn(opcode)) { in PerformSTF()
272 if (BIT_UP_SET(opcode)) in PerformSTF()
273 pFinal += getOffset(opcode); in PerformSTF()
275 pFinal -= getOffset(opcode); in PerformSTF()
277 if (PREINDEXED(opcode)) in PerformSTF()
282 switch (opcode & MASK_TRANSFER_LENGTH) { in PerformSTF()
284 storeSingle(&roundData, getFd(opcode), pAddress); in PerformSTF()
287 storeDouble(&roundData, getFd(opcode), pAddress); in PerformSTF()
291 storeExtended(getFd(opcode), pAddress); in PerformSTF()
302 writeRegister(getRn(opcode), (unsigned long) pFinal); in PerformSTF()
306 unsigned int PerformLFM(const unsigned int opcode) in PerformLFM() argument
309 unsigned int i, Fd, write_back = WRITE_BACK(opcode); in PerformLFM()
311 pBase = (unsigned int __user *) readRegister(getRn(opcode)); in PerformLFM()
312 if (REG_PC == getRn(opcode)) { in PerformLFM()
318 if (BIT_UP_SET(opcode)) in PerformLFM()
319 pFinal += getOffset(opcode); in PerformLFM()
321 pFinal -= getOffset(opcode); in PerformLFM()
323 if (PREINDEXED(opcode)) in PerformLFM()
328 Fd = getFd(opcode); in PerformLFM()
329 for (i = getRegisterCount(opcode); i > 0; i--) { in PerformLFM()
338 writeRegister(getRn(opcode), (unsigned long) pFinal); in PerformLFM()
342 unsigned int PerformSFM(const unsigned int opcode) in PerformSFM() argument
345 unsigned int i, Fd, write_back = WRITE_BACK(opcode); in PerformSFM()
347 pBase = (unsigned int __user *) readRegister(getRn(opcode)); in PerformSFM()
348 if (REG_PC == getRn(opcode)) { in PerformSFM()
354 if (BIT_UP_SET(opcode)) in PerformSFM()
355 pFinal += getOffset(opcode); in PerformSFM()
357 pFinal -= getOffset(opcode); in PerformSFM()
359 if (PREINDEXED(opcode)) in PerformSFM()
364 Fd = getFd(opcode); in PerformSFM()
365 for (i = getRegisterCount(opcode); i > 0; i--) { in PerformSFM()
374 writeRegister(getRn(opcode), (unsigned long) pFinal); in PerformSFM()
378 unsigned int EmulateCPDT(const unsigned int opcode) in EmulateCPDT() argument
382 if (LDF_OP(opcode)) { in EmulateCPDT()
383 nRc = PerformLDF(opcode); in EmulateCPDT()
384 } else if (LFM_OP(opcode)) { in EmulateCPDT()
385 nRc = PerformLFM(opcode); in EmulateCPDT()
386 } else if (STF_OP(opcode)) { in EmulateCPDT()
387 nRc = PerformSTF(opcode); in EmulateCPDT()
388 } else if (SFM_OP(opcode)) { in EmulateCPDT()
389 nRc = PerformSFM(opcode); in EmulateCPDT()