FW: [PD] iemlib-filters and Pentium-NaNs

Bob Colwell bob.colwell at attbi.com
Fri Jul 19 20:21:37 CEST 2002

Folks: The Pentium 4 has two different ways to do floating point: x87, and
SSE/SSE2. SSE* has two mode bits:

	FTZ: flush to zero on underflows (not IEEE compatible)
	DAZ: treat denormals (input) as zero (not IEEE compatible)

Although these two modes are not IEEE compatible, they are quite
popular and lead to almost no degradation.

x87 has no such modes and denorms are treated as in P6 (fixed through ucode
assists), except significantly slower (read: P6 about 100-120 clk,
P4 about 1200 clk). More recent version of the Pentium 4 are much faster
on these.

C code to filter denorms ought to work no differently on P4 than on
Pentium III's and earlier.

-Bob Colwell

ps. I checked this answer directly with the engineer responsible for both
P6 and Pentium 4 floating point architecture. I can't read German or I'd
check your reference below.

For those speaking german, the July-issue of "Keyboards" magazine observed
a similar thing in VST plugins etc. on Pentium IV processors. Obviously
Intel changed the handling of denormalisation in the newer processors, so
that older counter measures against denorm. fail again.

Interesting article...

Frank Barknecht <barknecht at dradio-online.de>
           -= www.dradio.de =-
DeutschlandRadio-Online * Redaktion Köln
tel 0221 - 345 1471 * fax 0221 - 345 1480

More information about the Pd-list mailing list