Skip to content
This repository has been archived by the owner on Jan 6, 2025. It is now read-only.

ASM Support

Taner Sener edited this page Dec 31, 2018 · 15 revisions

Build scripts of libraries try to enable all CPU optimizations possible. But some libraries do not support CPU optimizations and configure/build operations fail when asm is enabled.

Below you can see the libraries and architectures that do not support asm. Other than that all libraries are built with asm enabled.

Android

  • gmp: Enabling assembly produces cannot locate symbol "__gmp_binvert_limb_table" error when library is loaded.
  • libass, xvidcore, x264: Enabling asm for x86 ABI causes text relocation errors for libavfilter.so/libavcodec.so.
  • x265: Assembly compilation fails for arm64-v8a architecture. It is possible to build arm-v7a, arm-v7a-neon and x86 with assembly enabled but all three ABIs include relocation errors. Additionally, assembly on x86-64 causes linking errors.

IOS

  • gmp: Enabling assembly on armv7, armv7s, arm64 and arm64e architectures causes configure to fail with configure: error: cannot determine how to define a 32-bit word.
  • gnutls: Library can not be built on arm64 and arm64e architectures with asm enabled (compiling assembly files fail).
  • xvidcore: Build fails for i386 architecture when asm is enabled. ffmpeg crashes when asm is enabled on x86-64 architecture.
  • x265: Assembly compilation fails for arm64 and arm64e architectures.
Clone this wiki locally