x86: Make fprem like the fprem on a real x87
authorAndreas Sandberg <andreas@sandberg.pp.se>
Tue, 18 Jun 2013 14:10:42 +0000 (16:10 +0200)
committerAndreas Sandberg <andreas@sandberg.pp.se>
Tue, 18 Jun 2013 14:10:42 +0000 (16:10 +0200)
commit5d584934ada15446123d5dc97a9de820a87fd4cf
tree8ed8c0dc38c753588d560fa645d3e5716b003ea6
parent6151c0f7f43f0e3b62a6a2887a4a80d1c2154a3b
x86: Make fprem like the fprem on a real x87

The current implementation of fprem simply does an fmod and doesn't
simulate any of the iterative behavior in a real fprem. This isn't
normally a problem, however, it can lead to problems when switching
between CPU models. If switching from a real CPU in the middle of an
fprem loop to a simulated CPU, the output of the fprem loop becomes
correupted. This changeset changes the fprem implementation to work
like the one on real hardware.
src/arch/x86/isa/insts/x87/arithmetic/partial_remainder.py
src/arch/x86/isa/microops/fpop.isa