- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm (slowly) changing code to take explicit advantage of SSEs. Most of the vectorizable statements I have in a program I'm working on are not be vectorized. The compiler is issue this message (along with hundreds of others like it) in it's optimization report:
1>C:\\NewRT\\Rendering3\\RenderingWithBeamCasting 2Dblocking.f90(5707): (col. 10) remark: loop was not vectorized: nonstandard loop is not a vectorization candidate.
The pertinent code is:
! DEC$ ATTRIBUTES ALIGN: 128:: VprojectedPerpEdge
! DEC$ ATTRIBUTES ALIGN: 128:: SqMagPerpEdge
.
.
.
real(4):: VprojectedPerpEdge(4,4), &
SqMagPerpEdge(4), &
.
.
.
5705 SqMagPerpEdge = VprojectedPerpEdge(:,1)*VprojectedPerpEdge(:,1) + & VprojectedPerpEdge(:,2)*VprojectedPerpEdge(:,2)
.
.
.
I reserve the right to be making a silly mistake, but can anyone suggest what's wrong? This happens even if I put compiler directives to explicitly vectorize this code. Strangely, this identical process works in another (much smaller) program that I've already vectorized.
David
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It looks like you showed us line number 5705, while the optimization report is referencing line 5707.
What does the code after theline you showed look like?
thanks -
- Lorri

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