Hi All, I was looking at 2 of the outstanding spec06 patches from Vince Weaver that implement x87 instructions. One implements the x87 fsincos instruction. The other implements the x87 fnstsw instruction. I wrote a little test program to exercise both of these instructions. The program runs on a real x86 machine correctly. When I run it in the simulator, even with these patches applied, it does not work.
What I found was that other x87 instructions, normally used in conjunction with these two instructions seem unimplemented. fsincos: Gets its source from the floating point stack. All of the instructions I came across that operate on the floating point stack (fld, fst, fstp, fxchg) are not currently implemented in gem5. fnstsw: Retrieves a value from the floating point status register. When I did a grep on the gem5 source, I didn't see any instructions updating the floating point status register. I am missing something here? Is there any way to exercise these instructions in gem5? Can we put stuff on the floating point stack so that fsincos is actually useful? Do any instructions ever actually update the floating point status register? Thanks, Marc _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
