Manta Interactive Ray Tracer Development Mailing List

Text archives Help


Re: [Manta] Compiling using SSE on IA64


Chronological Thread 
  • From: Ingo Wald <wald@sci.utah.edu>
  • To: Dirk Reiners <dirk@lite3d.com>
  • Cc: manta@sci.utah.edu
  • Subject: Re: [Manta] Compiling using SSE on IA64
  • Date: Wed, 07 Nov 2007 23:58:37 -0700


You mean backend on the Manta side? That's bad news. :(
No, I meant gcc not being able to support sse when building for itanium. So even though there are versions of gcc that "know" what sse is, I never found a version that supported the sse intrinsics when compiling to IA64.

Not sure what you mean here. What's buggy? Icc or the backend? Or both? ;)
in contrast to gcc, icc _does_ support SSE intrinsics even on the IA64 architecture, but the support for this is horribly unstable/buggy. First, the compiler is extremely unstable, and more often than not crashes with a "internal compiler error" when using sse on IA64. Some of those internal errors occur "only" when you do things it doesn't like (like passing references to an __m128 type, a really obscure idea I date say ....), in other instances it crashes randomly. Even when it does not crash, I had funny results happen -- for example, even after the icc/ia64 compiler with sse support had been out for quite some time, I found that it's implementatoin of "_mm_andnot(a,b)", was messed up, and actually did a "_mm_andnot(b,a)" instead. And since that's a pretty severe bug that everybody who wants to compile existing sse code to itanium _has_ to run into, it was a good indication that nobody until then had actually done that before ....

Of course none of that would be a killer argument for you, because
a) I got the icc guys to fix the andnot bug, and
b) the manta code has some time in the past already been successfully compiled w/ ia64-icc, so most of the nasty constructs that make the compiler core dump should already have been removed ....

Still, I have the very strong impression that SSE intrinsics simply are not intended to be used on itanium (not even by intel), and that you maybe shouldn't insist too hard on using them if you should run into trouble ;-)
(except, of coures, if entire _algorithms_ get disabled if sse is not turned on, which I do not know -- I'm not programming in manta too much)

Ingo






Archive powered by MHonArc 2.6.16.

Top of page