This complements the existing RVV ISel patterns for arithmetic, bitwise
and shifts with the remaining operations in those categories: sub, and,
xor, sra.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/test/CodeGen/RISCV/rvv/vand-sdnode-rv32.ll | ||
---|---|---|
31 | Should we pick a different value here so this test doesn't break if someone fixes DAG combine to optimize out and with -1 on scalable vectors. |
llvm/test/CodeGen/RISCV/rvv/vand-sdnode-rv32.ll | ||
---|---|---|
31 | Yes, good shout! I arbitrarily chose -10. Now that you mention it I'll push an NFC to fix the same flaw in the existing upstream vor-sdnode-* tests. |
llvm/test/CodeGen/RISCV/rvv/vrsub-sdnode-rv32.ll | ||
---|---|---|
21 | This constant should probably also change. sub -1, X is equivalent to xor x, -1. InstCombine knows this but I guess SelectionDAG doesn't yet. |
llvm/test/CodeGen/RISCV/rvv/vrsub-sdnode-rv32.ll | ||
---|---|---|
21 | Or rather it doesn't know it for SPLAT_VECTOR yet. |
llvm/test/CodeGen/RISCV/rvv/vrsub-sdnode-rv32.ll | ||
---|---|---|
21 | Yep good idea. I've updated the tests. |
Should we pick a different value here so this test doesn't break if someone fixes DAG combine to optimize out and with -1 on scalable vectors.