Skip to content

Remove SSE4.1 operation, reduce and reorder alignment checks - #1064

Merged
ermig1979 merged 1 commit into
devfrom
cursor/sse41-operation-reduce-reorder-unaligned-c1f0
Oct 6, 2026
Merged

ermig1979 merged 1 commit into
devfrom
cursor/sse41-operation-reduce-reorder-unaligned-c1f0

Conversation

@ermig1979

Copy link
Copy Markdown
Owner

Always use unaligned SSE4.1 loads and stores in binary operations, color and gray reduce, and byte reorder.

  • Drop alignment checks and the aligned/unaligned function split in SimdSse41Operation.cpp, SimdSse41Reduce.cpp, SimdSse41ReduceGray2x2.cpp, SimdSse41ReduceGray3x3.cpp, and SimdSse41Reorder.cpp.
  • Load and store with _mm_loadu_si128 and _mm_storeu_si128 instead of Load<align>() / Store<align>() and Load<false>() / Store<false>().
  • Step-only LoadNose3, LoadBody3, LoadTail3, LoadNose5, LoadBody5, and LoadTail5 are already available in SimdLoadBlock.h and are unused by these functions.
Open in Web Open in Cursor 

Always use unaligned SSE4.1 loads and stores in binary operations, color and gray reduce, and byte reorder.

Co-authored-by: igor.ermolaev <igor.ermolaev@altezza.org>
@ermig1979
ermig1979 marked this pull request as ready for review October 6, 2026 09:41
@ermig1979
ermig1979 merged commit 8237f34 into dev Oct 6, 2026
2 checks 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