• Home
  • Raw
  • Download

Lines Matching refs:opcode

30 unsigned int PerformFLT(const unsigned int opcode);
31 unsigned int PerformFIX(const unsigned int opcode);
33 static unsigned int PerformComparison(const unsigned int opcode);
35 unsigned int EmulateCPRT(const unsigned int opcode) in EmulateCPRT() argument
38 if (opcode & 0x800000) { in EmulateCPRT()
43 return PerformComparison(opcode); in EmulateCPRT()
47 switch ((opcode & 0x700000) >> 20) { in EmulateCPRT()
49 return PerformFLT(opcode); in EmulateCPRT()
52 return PerformFIX(opcode); in EmulateCPRT()
56 writeFPSR(readRegister(getRd(opcode))); in EmulateCPRT()
59 writeRegister(getRd(opcode), readFPSR()); in EmulateCPRT()
69 unsigned int PerformFLT(const unsigned int opcode) in PerformFLT() argument
74 roundData.mode = SetRoundingMode(opcode); in PerformFLT()
75 roundData.precision = SetRoundingPrecision(opcode); in PerformFLT()
78 switch (opcode & MASK_ROUNDING_PRECISION) { in PerformFLT()
81 fpa11->fType[getFn(opcode)] = typeSingle; in PerformFLT()
82 fpa11->fpreg[getFn(opcode)].fSingle = int32_to_float32(&roundData, readRegister(getRd(opcode))); in PerformFLT()
88 fpa11->fType[getFn(opcode)] = typeDouble; in PerformFLT()
89 fpa11->fpreg[getFn(opcode)].fDouble = int32_to_float64(readRegister(getRd(opcode))); in PerformFLT()
96 fpa11->fType[getFn(opcode)] = typeExtended; in PerformFLT()
97 fpa11->fpreg[getFn(opcode)].fExtended = int32_to_floatx80(readRegister(getRd(opcode))); in PerformFLT()
112 unsigned int PerformFIX(const unsigned int opcode) in PerformFIX() argument
115 unsigned int Fn = getFm(opcode); in PerformFIX()
118 roundData.mode = SetRoundingMode(opcode); in PerformFIX()
119 roundData.precision = SetRoundingPrecision(opcode); in PerformFIX()
125 writeRegister(getRd(opcode), float32_to_int32(&roundData, fpa11->fpreg[Fn].fSingle)); in PerformFIX()
131 writeRegister(getRd(opcode), float64_to_int32(&roundData, fpa11->fpreg[Fn].fDouble)); in PerformFIX()
138 writeRegister(getRd(opcode), floatx80_to_int32(&roundData, fpa11->fpreg[Fn].fExtended)); in PerformFIX()
154 static unsigned int PerformComparison(const unsigned int opcode) in PerformComparison() argument
157 unsigned int Fn = getFn(opcode), Fm = getFm(opcode); in PerformComparison()
158 int e_flag = opcode & 0x400000; /* 1 if CxFE */ in PerformComparison()
159 int n_flag = opcode & 0x200000; /* 1 if CNxx */ in PerformComparison()
196 if (CONSTANT_FM(opcode)) { in PerformComparison()
246 if (CONSTANT_FM(opcode)) { in PerformComparison()