llvm-project
d9b65e6e - [LLVM][CodeGen][SVE] Improve code quality of predicate vector extracts. (#220254)

Commit
1 day ago
[LLVM][CodeGen][SVE] Improve code quality of predicate vector extracts. (#220254) When extracting a fixed-length vector from a scalable boolean vector, it is better to promote the scalable vector to i8s and extract from that because it makes the resulting DAG mostly legal with the hope the truncation of the result will be eliminated. NOTE: CodeGenDAGPatterns has been changed because the original code was too strict. Before this change a fixed-length vector was not considered a valid subvector of a scalable vector. This erronously removed all scalable vector MVTs to the point that type checking was disabled for some operations because the matcher assumed only a single MVT was legal. The net result of this is that NEON only patterns matched against scalable vector inputs and thus generated bad code.
Parents
Loading