[x265] [PATCH 00/18] AArch64: Enable building with -flax-vector-conversions=none

Hari Limaye hari.limaye at arm.com
Tue Aug 13 15:18:41 UTC 2024


This patch series performs some refactoring to AArch64 intrinsics code
to use correct vector types and conversions for Neon vector operations,
in order to enable building with -flax-vector-conversions=none.

These patches are intended to be primarily refactoring only and are not
intended to have any performance impact.

The changes are based on the SAD series, as [PATCH 18/18] here makes
changes to source/CMakeLists.txt which depends on CMake refactoring in:
    https://mailman.videolan.org/pipermail/x265-devel/2024-July/013740.html

Many thanks,
Hari

Hari Limaye (18):
  AArch64: Use proper load/store intrinsics in pixel primitives
  AArch64: Refactor output variables in Neon sa8d helper
  AArch64: Use transpose helpers in pixel-prim.cpp
  AArch64: Refactor types and conversions in pixel-prim.cpp
  AArch64: Add missing include in arm64-utils.h
  AArch64: Use proper load/store intrinsics in arm64-utils.cpp
  AArch64: Refactor types and conversions in arm64-utils.cpp
  AArch64: Optimise shifts in filter-prim.cpp
  AArch64: Use proper load/store intrinsics in filter-prim.cpp
  AArch64: Refactor types and conversions in filter-prim.cpp
  AArch64: Use proper load/store intrinsics in intrapred-prim.cpp
  AArch64: Refactor types and conversions in intrapred-prim.cpp
  AArch64: Refactor narrowing in loopfilter-prim.cpp
  AArch64: Use proper load/store intrinsics in loopfilter-prim.cpp
  AArch64: Refactor types and conversions in loopfilter-prim.cpp
  AArch64: Use proper load/store intrinsics in dct-prim.cpp
  AArch64: Refactor types and conversions in dct-prim.cpp
  AArch64: Build with -flax-vector-conversions=none

 source/CMakeLists.txt                     |   8 +-
 source/common/CMakeLists.txt              |   2 +-
 source/common/aarch64/arm64-utils.cpp     | 478 ++++++-----
 source/common/aarch64/arm64-utils.h       |   1 +
 source/common/aarch64/dct-prim.cpp        | 132 +--
 source/common/aarch64/filter-prim.cpp     | 168 ++--
 source/common/aarch64/intrapred-prim.cpp  |  44 +-
 source/common/aarch64/loopfilter-prim.cpp | 113 +--
 source/common/aarch64/mem-neon.h          |  59 ++
 source/common/aarch64/pixel-prim.cpp      | 992 +++++++++++-----------
 10 files changed, 1098 insertions(+), 899 deletions(-)
 create mode 100644 source/common/aarch64/mem-neon.h

-- 
2.42.1



More information about the x265-devel mailing list