On 2014-05-13 23:25:12 +0800, [email protected] wrote: > From: James Yu <[email protected]> > > Using NEON intrinsics to support ARMv7 and ARMv8 simultaneously. > Rewrite ARMv7 assembly to intinsics version.
Thanks for the patch. We prefer asm over intrinsics especially for functions with existing ARMv7 NEON asm. For new functions intrinsics have the advantage that they can be shared between AArch64 and ARMv7. That is reason enough to support intrinsics. > Toolchain: > armv7: gcc-linaro-arm-linux-gnueabihf-4.8-2014.01_linux > armv8: gcc-linaro-aarch64-linux-gnu-4.8-2013.10_linux clang 3.4 on AArch64 seems to fail over its own arm_neon.h header > [RFC] Currently, libavcodec had a aarch64 dir includes all related > assembly code. However, I put this file under libavcodec/arm dir first, > since this > support ARMv7 and ARMv8 simultaneously. And RFC how could we > port and optimize libav to aarch64. > > Add libavcodec/arm/mpegvideo_neon.c. That conflicts with the existing libavcodec/arm/mpegvideo_neon.S since both result in the object file libavcodec/arm/mpegvideo_neon.o I think a cleaner solution would be to put the shared intrinsics code in another directory, libavcodec/neon for example. I have a working patch for that including configure checks we need for arm_neon.h. > Signed-off-by: James Yu <[email protected]> > --- > libavcodec/aarch64/Makefile | 1 + > libavcodec/arm/mpegvideo_neon.c | 127 > +++++++++++++++++++++++++++++++++++++++ > 2 files changed, 128 insertions(+) > create mode 100644 libavcodec/arm/mpegvideo_neon.c It looks like you sent the wrong patch. The added function are not called nor assigned to function pointers. The function is not bit exact to the arm asm. fate-vsynth1-mpeg4 fails for example after fixing the setup. Janne _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
