- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am writing this on the forum instead of calling Support, as I always appreciate anyone revealing their problems & solutions in public. Anyways...
A customer recently reported a strange error for a product of ours. The program was compiled using Intel C++ 9.1 034 with the switches /QaxTPBNWK. As it was compiled with /Qax... it should run on just about any processor, but the program crashes with an invalid instruction (an SSE2 instruction) on a PIII.
Is build 034 known to have this problem? Is upgrading the way to go? Have I done something wrong?
Thanks for reading. Thanks for a great compiler!
/Michael
I am writing this on the forum instead of calling Support, as I always appreciate anyone revealing their problems & solutions in public. Anyways...
A customer recently reported a strange error for a product of ours. The program was compiled using Intel C++ 9.1 034 with the switches /QaxTPBNWK. As it was compiled with /Qax... it should run on just about any processor, but the program crashes with an invalid instruction (an SSE2 instruction) on a PIII.
Is build 034 known to have this problem? Is upgrading the way to go? Have I done something wrong?
Thanks for reading. Thanks for a great compiler!
/Michael
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My guess is you have combined too many options for anyone to say whether that compiler version would have this specific problem, unless you care to submit a working example. Usually, the overhead for building so many code paths and choosing among them would outweigh slight performance advantages. For example, /QxKW would run on any CPU since P-III, and should give good performance for any code which does not actually need SSE3. The older options aKB haven't been getting as much attention as the newer ones. B has an advantage only for scalar floating point on Banias and Dothan.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Appreciate the info, but it doesn't ring a bell. If you really want a fix for it, I'd recommend that you file a reort at premier.intel.com and provide a test case and we can look into it.
Thanks!
Dale
Thanks!
Dale
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Michael, do you perhaps have any hand-written inline assembler code in that project?
I am asking because I have just noticed that for functions containing inline assembler, Intel compiler creates an auto-dispatch prolog targeting different CPUs with the same code, and it obviously doesn't check whether that inline assembler code block can actually be executed on any of those targets.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page