| Issue |
176906
|
| Summary |
[X86] `is_ascii` optimizes poorly with avx-512
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
folkertdev
|
https://godbolt.org/z/6EzTa5crM
It looks like a `LoopFullUnrollPass` that is never re-rolled (or should not be unrolled in the first place). The unrolled operations are eventually emitted as
```asm
kshiftrd k7, k6, 12
add r10b, r9b
and dl, 1
kmovd r9d, k7
```
but this is probably just a symptom of an earlier missed optimization. The idea of `is_ascii` is to build a mask of which bytes set their highest bit, so I guess some avx-512 pattern for that is missing.
cc https://github.com/rust-lang/rust/pull/151259
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs