Valgrind does not recognize the prfm instruction used in hand-written assembly: % valgrind libavcodec/tests/fft -n4 -m -i ==21618== Memcheck, a memory error detector ==21618== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==21618== Using Valgrind-3.12.0.SVN and LibVEX; rerun with -h for copyright info ==21618== Command: libavcodec/tests/fft -n4 -m -i ==21618== Scale factor is set to 1.000000 IMDCT 16 test Checking... ARM64 front end: load_store disInstr(arm64): unhandled instruction 0xF89F0000 disInstr(arm64): 1111'1000 1001'1111 0000'0000 0000'0000 ==21618== valgrind: Unrecognised instruction at address 0x411f64. ==21618== at 0x411F64: ff_imdct_calc_neon (mdct_neon.S:149) Reproducible: Always Steps to Reproduce: 1. git clone git://git.libav.org/libav.git && cd libav 2. ./configure && make libavcodec/tests/fft && valgrind libavcodec/tests/fft -n4 -m -i
Does this still happen with the trunk? It has supported "PRFM (register)" since 2015-08-16.
> Does this still happen with the trunk? Yes. > It has supported "PRFM (register)" since 2015-08-16. Sorry for the inaccuracy, this is the prfum instruction: 1a4: f89f0000 prfum pldl1keep, [x0,#-16]
Fixed, vex r3369.