> > The following test case is able
> > to reproduce the error:
> >
> > #include<ipps.h>
> > int main() {
> > const int mySize = 1024;
>> Ipp32f* myRealVector = ippsMalloc_32f(mySize);
> > Ipp32f myResult = 0.0;
> > ippsStdDev_32f(myRealVector, mySize,
> > &myResult, ippAlgHintFast);
> > }
> >
> > the function ippsStdDev_32f is a function in the Intel IPP library.
> > I'm running my test on a RedHat 5.4 64bit> Thank you for isolating that test case. > Please post a complete copy of the actual error message from valgrind. > The message contains several hexadecimal bytes which are > the actual instruction bytes which are not recognized. > Knowing those instruction bytes enables diagnosis and fixing > without requiring access to the Intel IPP library. > Not all developers have that library. I didn't see that hexadecimal bytes because I got the screen filled with ( I had to kill valgrind (3.5.0) with a -9 signal ) ==2142== valgrind: Unrecognised instruction at address 0x57c0340. ==2142== Your program just tried to execute an instruction that Valgrind ==2142== did not recognise. There are two possible reasons for this. ==2142== 1. Your program has a bug and erroneously jumped to a non-code ==2142== location. If you are running Memcheck and you just saw a ==2142== warning about a bad jump, it's probably your program's fault. ==2142== 2. The instruction is legitimate but Valgrind doesn't handle it, ==2142== i.e. it's Valgrind's fault. If you think this is the case or ==2142== you are not sure, please let us know and we'll try to fix it. ==2142== Either way, Valgrind will now raise a SIGILL signal which will ==2142== probably kill your program. and the hexadecimal values were reported only on first two of those blocks, this is first error block with the values you asked me reported: vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0x5A 0x6 0x48 0xF ==2142== valgrind: Unrecognised instruction at address 0x57c0340. ==2142== Your program just tried to execute an instruction that Valgrind ==2142== did not recognise. There are two possible reasons for this. ==2142== 1. Your program has a bug and erroneously jumped to a non-code ==2142== location. If you are running Memcheck and you just saw a ==2142== warning about a bad jump, it's probably your program's fault. ==2142== 2. The instruction is legitimate but Valgrind doesn't handle it, ==2142== i.e. it's Valgrind's fault. If you think this is the case or ==2142== you are not sure, please let us know and we'll try to fix it. ==2142== Either way, Valgrind will now raise a SIGILL signal which will ==2142== probably kill your program. Regards Gaetano Mendola -- cpp-today.blogspot.com ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Valgrind-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/valgrind-users
