- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm using ICC 12.0.0.025 beta to compile some code with lots of SSE2/3 intrinsics. When I try to compile it with no optimizations (-O0 switch), I get these compiiler errs:
filter1d_6_tap32.c(269) (col. 17): catastrophic error: intrinsic parameter must be an immediate value
compilation aborted for filter1d_6_tap32.c (code 4)
filter1d_6_tap.c(292) (col. 17): catastrophic error: intrinsic parameter must be an immediate value
compilation aborted for filter1d_6_tap.c (code 4)
make: *** [icc_objs/filter1d_6_tap32.o] Error 4
make: *** Waiting for unfinished jobs....
filter1d_6_tap_uv.c(307) (col. 17): catastrophic error: intrinsic parameter must be an immediate value
compilation aborted for filter1d_6_tap_uv.c (code 4)
make: *** [icc_objs/filter1d_6_tap_uv.o] Error 4
make: *** [icc_objs/filter1d_6_tap.o] Error 4
filter1d_6_tap32_uv.c(303) (col. 17): catastrophic error: intrinsic parameter must be an immediate value
compilation aborted for filter1d_6_tap32_uv.c (code 4)
make: *** [icc_objs/filter1d_6_tap32_uv.o] Error 4
filter1d_4_tap_uv.c(223) (col. 5): catastrophic error: intrinsic parameter must be an immediate value
compilation aborted for filter1d_4_tap_uv.c (code 4)
make: *** [icc_objs/filter1d_4_tap_uv.o] Error 4
filter1d_4_tap.c(249) (col. 5): catastrophic error: intrinsic parameter must be an immediate value
compilation aborted for filter1d_4_tap.c (code 4)
make: *** [icc_objs/filter1d_4_tap.o] Error 4
I just want to know where I could find information on what this error means...any infos on what I'm doing wrong in this case would be a big bonus too!
Thanks, Charles.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Charles,
If the code compiles fine with optimization enabled, one reason might be that the optimizer finds out that an expression is constant. The compiler can then replace the expression with this constant instead of recomputing it each time. Normally, this is only there to make your code run faster. In case of an intrinsics that requires an "immediate", this results in code that compiles with optimization, but does not compile without optimization.
To my surprise and delight, you can even use the unroll pragma to turn variables into constants and use them as immediate:
Kind regards
Thomas
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What that diagnostic means is that the intrinsic is expecting the argument to be an "immediate" which is a constant integer (or a literal). So look at the diagnostic and accordingly the line# in the code where it's coming from to correct the error. Also, the intrinsics reference manual should give you more information on the requirements of those intrinsics. In addition, you may also find some macro function(s) that can create constants too, just FYI.
-regards,
Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Were you able to resolve those intrinsic diagnostic errors?
-thanks,
Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Charles,
If the code compiles fine with optimization enabled, one reason might be that the optimizer finds out that an expression is constant. The compiler can then replace the expression with this constant instead of recomputing it each time. Normally, this is only there to make your code run faster. In case of an intrinsics that requires an "immediate", this results in code that compiles with optimization, but does not compile without optimization.
To my surprise and delight, you can even use the unroll pragma to turn variables into constants and use them as immediate:
Kind regards
Thomas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
_Cheers,
Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page