Pentium Pro and Pentium II bug

Robert Harley (Robert.Harley@inria.fr)
Sun, 11 May 1997 17:43:42 +0200 (MET DST)


>Apparently these chips sometimes set the wrong flags when storing floating
>point numbers...

It's looking worse than originally thought.

The initial tests suggested that they mixed up the "overflow" and
"invalid" flags when storing large negative floats as integers, which
would typically cause the wrong exceptions to be raised. That's a
serious bug but at least is fairly visible to its victims.

But now it appears that in fact the only flag set is "loss of
precision" so that no exception is raised and any number of
computations may have given incorrect results silently.
This is particularly worrying for systems that switch back and forth
between integer and floating point representations like spreadsheets
and some Lisps.

So much for Wintel attacking the workstation market! Bwa ha ha!

-- Rob (whose Alpha does 19.7 SPECfp95, can divide properly and can even
set exception flags!)