Hi all,
While running an ARMv8 benchmark, I found that an instruction Valgrind
appears to choke on.
For reference, the error message follows:
"The instruction is legitimate but Valgrind doesn't handle it, i.e. it's
> Valgrind's fault. If you think this is the case or you are not sure,
> please let us know and we'll try to fix it."
I tracked down the problem instruction: a vectorized form of the double
precision 'fmaxnm' instruction to compare two double precision numbers. The
scalar version of this instruction runs fine, and I can verify that the
vectorized instruction only gets generated by gcc when using the
tree-vectorize flag (and 03).
405720: 4e60c508 fmaxnm v8.2d, v8.2d, v0.2d
Does anyone know if:
1) Vectorized double-precision instructions are unimplemented in valgrind,
2) This particular instruction has been unimplemented, or
3) The platform I'm using is doing something sticky with these instructions?
Thanks,
Karthik
|