- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have some problems getting loop unrolling to function.
Using for example the options for a simple dot product routine
-QxW -Qunrolln
the compiler always appears to unroll 4 times (actually 8 since
double values are loaded) regardless of n, except in the case n=0 which does not unroll.
Without SSE specification, i.e.
-O3 -Qunroll
nothing apparently happens! -Qunroll0 and -Qunroll4 gives identical code.
I am using the latest version of the compiler, and I have tried many 'unroll'-variants with and without : (the documentation is not quite consistent)
Michael
Using for example the options for a simple dot product routine
-QxW -Qunrolln
the compiler always appears to unroll 4 times (actually 8 since
double values are loaded) regardless of n, except in the case n=0 which does not unroll.
Without SSE specification, i.e.
-O3 -Qunroll
nothing apparently happens! -Qunroll0 and -Qunroll4 gives identical code.
I am using the latest version of the compiler, and I have tried many 'unroll'-variants with and without : (the documentation is not quite consistent)
Michael
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In the current version of the IA-32 compiler, you need to use one of the Qx switches to get loop unrolling in conjunction with -O3. My understanding is that this will no longer be required in a future version.

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