Skip to content

Add SVE2 DescrIntDecode16f optimization#469

Merged
ermig1979 merged 2 commits into
devfrom
cursor/sve2-descr-int-decode16f-5858
Jun 18, 2026
Merged

Add SVE2 DescrIntDecode16f optimization#469
ermig1979 merged 2 commits into
devfrom
cursor/sve2-descr-int-decode16f-5858

Conversation

@ermig1979

@ermig1979 ermig1979 commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add SVE2 DescrIntDecode16f decode kernels for descriptor depths 4 through 8.
  • Wire the SVE2 descriptor context and auto-test coverage for DescrIntDecode16f.
  • Document the optimization in release 7.2.163 notes.
  • Fix SVE half-lane packing so converted fp16 values are stored contiguously.

Testing

  • git diff --check
  • cmake ./prj/cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DSIMD_TOOLCHAIN="g++" -DSIMD_TARGET="" -DSIMD_AVX512VNNI=ON -DSIMD_AMXBF16=ON -DSIMD_TEST_FLAGS="-march=native" -DSIMD_SHARED=ON && cmake --build build --parallel$(nproc)
  • cmake --build build --parallel$(nproc)
  • export LD_LIBRARY_PATH="$(pwd)/build:$LD_LIBRARY_PATH" && ./build/Test "-r=." -fi=DescrIntDecode16f -tt=1 -ts=1
  • aarch64-linux-gnu-g++ -std=c++11 -fsyntax-only -march=armv9-a+sve2 -msve-vector-bits=scalable -I src src/Simd/SimdSve2DescrIntDec.cpp
  • aarch64-linux-gnu-g++ -std=c++11 -fsyntax-only -march=armv9-a+sve2 -msve-vector-bits=scalable -I src src/Simd/SimdSve2DescrInt.cpp src/Test/TestDescrInt.cpp
  • aarch64-linux-gnu-g++ -std=c++11 -O2 -S -march=armv9-a+sve2 -msve-vector-bits=scalable -I src src/Simd/SimdSve2DescrIntDec.cpp -o /tmp/SimdSve2DescrIntDec_fixed.s
  • Verified generated SVE2 assembly contains fcvt, uzp1, and st1h in Decode16f kernels.
Open in Web Open in Cursor 

cursoragent and others added 2 commits June 18, 2026 08:51
Co-authored-by: Ihar Yermalayeu <ermig1979@gmail.com>
Co-authored-by: Ihar Yermalayeu <ermig1979@gmail.com>
@ermig1979 ermig1979 marked this pull request as ready for review June 18, 2026 09:09
@ermig1979 ermig1979 merged commit 9132c5f into dev Jun 18, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants