aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMatthias Kretz <m.kretz@gsi.de>2024-06-14 15:11:25 +0200
committerMatthias Kretz <m.kretz@gsi.de>2024-06-20 12:56:45 +0200
commit1340ddea0158de3f49aeb75b4013e5fc313ff6f4 (patch)
treefa2c12e6042c294193ac98ee5798abd7c7593e61 /gcc
parent301927d93356871f606ff3db2549bb5d44e74516 (diff)
downloadgcc-1340ddea0158de3f49aeb75b4013e5fc313ff6f4.zip
gcc-1340ddea0158de3f49aeb75b4013e5fc313ff6f4.tar.gz
gcc-1340ddea0158de3f49aeb75b4013e5fc313ff6f4.tar.bz2
libstdc++: Fix find_last_set(simd_mask) to ignore padding bits
With the change to the AVX512 find_last_set implementation, the change to AVX512 operator!= is unnecessary. However, the latter was not producing optimal code and unnecessarily set the padding bits. In theory, the compiler could determine that with the new != implementation, the bit operation for clearing the padding bits is a no-op and can be elided. Signed-off-by: Matthias Kretz <m.kretz@gsi.de> libstdc++-v3/ChangeLog: PR libstdc++/115454 * include/experimental/bits/simd_x86.h (_S_not_equal_to): Use neq comparison instead of bitwise negation after eq. (_S_find_last_set): Clear unused high bits before computing bit_width. * testsuite/experimental/simd/pr115454_find_last_set.cc: New test.
Diffstat (limited to 'gcc')
0 files changed, 0 insertions, 0 deletions