Lines Matching refs:opcode
224 unsigned int PerformLDF(const unsigned int opcode) in PerformLDF() argument
227 unsigned int nRc = 1, write_back = WRITE_BACK(opcode); in PerformLDF()
229 pBase = (unsigned int __user *) readRegister(getRn(opcode)); in PerformLDF()
230 if (REG_PC == getRn(opcode)) { in PerformLDF()
236 if (BIT_UP_SET(opcode)) in PerformLDF()
237 pFinal += getOffset(opcode); in PerformLDF()
239 pFinal -= getOffset(opcode); in PerformLDF()
241 if (PREINDEXED(opcode)) in PerformLDF()
246 switch (opcode & MASK_TRANSFER_LENGTH) { in PerformLDF()
248 loadSingle(getFd(opcode), pAddress); in PerformLDF()
251 loadDouble(getFd(opcode), pAddress); in PerformLDF()
255 loadExtended(getFd(opcode), pAddress); in PerformLDF()
263 writeRegister(getRn(opcode), (unsigned long) pFinal); in PerformLDF()
267 unsigned int PerformSTF(const unsigned int opcode) in PerformSTF() argument
270 unsigned int nRc = 1, write_back = WRITE_BACK(opcode); in PerformSTF()
273 roundData.mode = SetRoundingMode(opcode); in PerformSTF()
274 roundData.precision = SetRoundingPrecision(opcode); in PerformSTF()
277 pBase = (unsigned int __user *) readRegister(getRn(opcode)); in PerformSTF()
278 if (REG_PC == getRn(opcode)) { in PerformSTF()
284 if (BIT_UP_SET(opcode)) in PerformSTF()
285 pFinal += getOffset(opcode); in PerformSTF()
287 pFinal -= getOffset(opcode); in PerformSTF()
289 if (PREINDEXED(opcode)) in PerformSTF()
294 switch (opcode & MASK_TRANSFER_LENGTH) { in PerformSTF()
296 storeSingle(&roundData, getFd(opcode), pAddress); in PerformSTF()
299 storeDouble(&roundData, getFd(opcode), pAddress); in PerformSTF()
303 storeExtended(getFd(opcode), pAddress); in PerformSTF()
314 writeRegister(getRn(opcode), (unsigned long) pFinal); in PerformSTF()
318 unsigned int PerformLFM(const unsigned int opcode) in PerformLFM() argument
321 unsigned int i, Fd, write_back = WRITE_BACK(opcode); in PerformLFM()
323 pBase = (unsigned int __user *) readRegister(getRn(opcode)); in PerformLFM()
324 if (REG_PC == getRn(opcode)) { in PerformLFM()
330 if (BIT_UP_SET(opcode)) in PerformLFM()
331 pFinal += getOffset(opcode); in PerformLFM()
333 pFinal -= getOffset(opcode); in PerformLFM()
335 if (PREINDEXED(opcode)) in PerformLFM()
340 Fd = getFd(opcode); in PerformLFM()
341 for (i = getRegisterCount(opcode); i > 0; i--) { in PerformLFM()
350 writeRegister(getRn(opcode), (unsigned long) pFinal); in PerformLFM()
354 unsigned int PerformSFM(const unsigned int opcode) in PerformSFM() argument
357 unsigned int i, Fd, write_back = WRITE_BACK(opcode); in PerformSFM()
359 pBase = (unsigned int __user *) readRegister(getRn(opcode)); in PerformSFM()
360 if (REG_PC == getRn(opcode)) { in PerformSFM()
366 if (BIT_UP_SET(opcode)) in PerformSFM()
367 pFinal += getOffset(opcode); in PerformSFM()
369 pFinal -= getOffset(opcode); in PerformSFM()
371 if (PREINDEXED(opcode)) in PerformSFM()
376 Fd = getFd(opcode); in PerformSFM()
377 for (i = getRegisterCount(opcode); i > 0; i--) { in PerformSFM()
386 writeRegister(getRn(opcode), (unsigned long) pFinal); in PerformSFM()
390 unsigned int EmulateCPDT(const unsigned int opcode) in EmulateCPDT() argument
394 if (LDF_OP(opcode)) { in EmulateCPDT()
395 nRc = PerformLDF(opcode); in EmulateCPDT()
396 } else if (LFM_OP(opcode)) { in EmulateCPDT()
397 nRc = PerformLFM(opcode); in EmulateCPDT()
398 } else if (STF_OP(opcode)) { in EmulateCPDT()
399 nRc = PerformSTF(opcode); in EmulateCPDT()
400 } else if (SFM_OP(opcode)) { in EmulateCPDT()
401 nRc = PerformSFM(opcode); in EmulateCPDT()