This commit is contained in:
Andrii Riabushenko 2018-10-24 20:29:51 +01:00
commit a54e0703a9
3 changed files with 60 additions and 10 deletions

View file

@ -489,17 +489,21 @@ proc rawExecute(c: PCtx, start: int, tos: PStackFrame): TFullReg =
decodeB(rkFloat)
regs[ra].floatVal = regs[rb].floatVal
of opcAsgnIntFromFloat32:
decodeB(rkFloat)
let rb = instr.regB
ensureKind(rkInt)
regs[ra].intVal = cast[int32](float32(regs[rb].floatVal))
of opcAsgnIntFromFloat64:
decodeB(rkFloat)
let rb = instr.regB
ensureKind(rkInt)
regs[ra].intVal = cast[int64](regs[rb].floatVal)
of opcAsgnFloat32FromInt:
decodeB(rkInt)
let rb = instr.regB
ensureKind(rkFloat)
regs[ra].floatVal = cast[float32](int32(regs[rb].intVal))
of opcAsgnFloat64FromInt:
decodeB(rkInt)
regs[ra].floatVal = cast[float64](int64(regs[rb].intVal))
let rb = instr.regB
ensureKind(rkFloat)
regs[ra].floatVal = cast[float64](int64(regs[rb].intVal))
of opcAsgnComplex:
asgnComplex(regs[ra], regs[instr.regB])
of opcAsgnRef: