compiler thoughts

All | Personal | Sun
« Previous day (Dec 16, 2006) | Main | Next day (Dec 18, 2006) »
20061217 Sunday December 17, 2006

Ultra3 vs Ultra4

One user reported an interesting problem: the same application was giving one result on Ultra III and different result on Ultra IV and Ultra II.

Turned out that some operations on floating point were trapping into the OS on ultra3 and Solaris fp emulator executed them in IEEE compliant way whereas Ultra4 and Ultra2 were executing the same code natively on cpu and because 'non-standard' bit in fsr register was set, Ultra4/2 chips produced different result than Solaris emulation.

Of course this behaviour of Ultra3 is documented, but you really need to be a chip guru to know/remember such details.

That's just something to be aware of if you use floating point a lot
and compile with -ffast-math or -fsimple or -fns flags with GCCfss.

Posted by alexey ( Dec 17 2006, 10:04:28 PM PST ) Permalink

Disclaimer:

This site is a personal blog and is to be used for informational purposes only. The views expressed on this blog are those of the author only, and should not be attributed to any past or present employers.

Calendar

RSS Feeds

Search

Links

Navigation

Referers