llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.13k stars 12.02k forks source link

[libc++] Vectorize all the algorithms #84663

Open philnik777 opened 8 months ago

philnik777 commented 8 months ago

There are quite a few algorithms which can be vectorized, or one should at least look into doing so. This issue lists all the algorithms which I think can be vectorized (and a few that shouldn't be with explanations).

To be vectorized:

Should be checked whether they can be vectorized:

Shouldn't be vectorized:

mrdaybird commented 4 months ago

@philnik777 std::reverse auto-vectorized by #92560

philnik777 commented 4 months ago

@mrdaybird thanks, that's great! I've updated the list.

sjoerdmeijer commented 2 months ago

FYI: vectorization of find_first_of for AArch64 is implemented in https://github.com/llvm/llvm-project/pull/101976