Does x87 floating point work?
Yes. PTLsim implements the vast majority of all x87 floating point instructions. The only unimplemented instructions are binary coded decimal (BCD) instructions and a few oddball instructions Intel and AMD have not recommended for many years. None of these are actually generated by modern compilers or even hand coded assembly language in the standard libraries. Be advised that PTLsim models 64-bit IEEE compliant FPUs (i.e. with full SSE2 semantics), not 80-bit like x87. This means very old legacy code actually using this mode will have slightly less precision (which may or may not be important) and results may differ very slightly from a real machine. Fortunately C, C++ and Fortran are incapable of using 80-bit mode anyway. IMPORTANT: Legacy x87 code will be much slower than SSE code due to our microarchitectural model (all x87 stack operations are microcoded and sequentual). We’re not alone in this decision – Intel has also decided to focus solely on SSE/SSE2 performance at the expens