[PATCH] D129302: [RISCV] Mark vsadd(u)_vl as commutable
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 8 10:21:31 PDT 2022
craig.topper added a comment.
> I haven't fully dug in to understand why, but I suspect it's because of a difference in how we represent splats (splat_vector vs build_vector).
To close this. I believe it's because fixed vector uses build_vector of constants for the "step vector" while scalable vector uses the step_vector ISD node. The build_vector being all constants is canonicalized to the RHS. For the step_vector case there is no canonicalization preference so it keeps the order the node was created with which had the splat on the RHS.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D129302/new/
https://reviews.llvm.org/D129302
More information about the llvm-commits
mailing list