Issue |
132672
|
Summary |
[libc++] Suboptimal codegen for std::equal(std::byte)
|
Labels |
|
Assignees |
|
Reporter |
halbi2
|
```
#include <algorithm>
bool f(char* a, char* b) {
return std::equal(a, a+16, b, b+16);
}
bool g(std::byte* a, std::byte* b) {
return std::equal(a, a+16, b, b+16);
}
```
`f` generates `pcmpeqb`. `g` generates a loop. `std::equal` should be aware that `std::byte` is functionally the same as `char`.
#89820 could relate.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs