Added code generation for :

- FCOM/FUCOM
- FSUBR/FSUBRP/FDIVR/FDIVRP
- FLDCW/FSTCW
- FILD/FIST/FISTP (16-bit, 32-bit and 64-bit variants)
- FLD/FST/FSTP double precision
- Integer and double precision variants of FADD/FSUB/FMUL/FDIV
Also added 64-bit readmemq/writememq functions.
This commit is contained in:
TomW 2015-06-13 16:14:35 +01:00
commit f3607c2308
11 changed files with 1398 additions and 241 deletions

View file

@ -112,7 +112,7 @@ extern int block_pos;
static inline void addbyte(uint8_t val)
{
codeblock[block_current].data[block_pos++] = val;
if (block_pos >= 1780)
if (block_pos >= 1760)
{
CPU_BLOCK_END();
}
@ -122,7 +122,7 @@ static inline void addword(uint16_t val)
{
*(uint16_t *)&codeblock[block_current].data[block_pos] = val;
block_pos += 2;
if (block_pos >= 1780)
if (block_pos >= 1760)
{
CPU_BLOCK_END();
}
@ -132,7 +132,7 @@ static inline void addlong(uint32_t val)
{
*(uint32_t *)&codeblock[block_current].data[block_pos] = val;
block_pos += 4;
if (block_pos >= 1780)
if (block_pos >= 1760)
{
CPU_BLOCK_END();
}
@ -151,4 +151,6 @@ extern int codegen_flags_changed;
extern int codegen_fpu_entered;
extern int codegen_fpu_loaded_iq[8];
#endif