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

Reply via email to