-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rework SSE intrinsics to avoid Clang 19 bugs
Fixes the Clang part of #1312. The problem is that LLVM wrongly considers __m128 to have floating-point semantics at all times. When it sees an all-ones mask in some component it wrongly sees it as a NaN and replaces it with an undefined value when in -ffinite-math mode. In the cases where the new first_XYZ_second_W is used, that is actually what Clang itself outputs after optimizing the original intrinsics code (with a non-bugged flag configuration). So hopefully it is faster anyway.
- Loading branch information
Showing
1 changed file
with
14 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters