explain these statements

Hi
I am compiling PGI code that getting these statements

" 238, Memory set idiom, loop replaced by call to __c_mset8
conj_grad:
499, Memory copy idiom, loop replaced by call to __c_mcopy8
507, Memory zero idiom, loop replaced by call to __c_mzero8
794, Memory copy idiom, loop replaced by call to __c_mcopy4_bwd

"
what does __c_mset8, __c_mcopy8, __c_mzero and __c_mcopy4_bwd means.
or they just giving me information that my replacing to c_mset8, my compiler is running things fast or do i need to try to remove them.

thanks in advance

Hi MaYa_Malik,

These are optimizations where the compiler is replacing an implied or explicit DO loop with a faster memory function.

For example, consider the following code snip-it:

program foo

real, dimension(1024) :: A, B

B=0.0
A=B

print *, A(100), B(100)
end program foo

Without optimization “B=0.0” and “A=B” will get turned into DO loops. With optimization, the compiler will replace the implied DO loop with a call to mzero and mcopy, which are much faster.

Hope this helps,
Mat

Thanks Mat :)