I have been using copy functions(the one which takes strided data and the other which takes non strided data) provided in IPP for copying complex arrays. Do these functions usenon-temporal movntq instructions to copy ? Because I think movntq instruction evicts the output data from the cache and this means that the following operation that I do with the output data after the copy has to reload the data into the cache.
Could you please specify which exactly functions you are tried, what is IPP version and what is your target platform?
Note, usually, IPP functions do not use non-temporal move instruction but there is a special function, ippiCopyManaged, where you can control on this behaviour. Please refer to documentation of this function.