It needs to use in-place function if source and destination have the same address. The out-of-place primitives could not guarantee the correct result if the input and output memory are overlapped.
Btw, 5.1 looks pretty old version. If possible, you can update to new version of IPP, to get additional performance on new processors.
IPP 7.0 is released. You can checkhow it works for you. If you still see any problem, could you provide some test code that can show this problem? It will help resolve the problem quickly.