Claim to not have any vector support to dissuade SLP, LV and friends from generating SIMD IR for the VE target.
We will take this back once vector isel is stable.
Details
- Reviewers
kaz7 k-ishizaka fhahn - Commits
- rGd3b33a78106e: [VE][TTI] don't advertise vregs/vops
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Please add few regression tests for each modification.
llvm/lib/Target/VE/VETargetTransformInfo.h | ||
---|---|---|
67 | Do we really need this and following functions? |
llvm/lib/Target/VE/VETargetTransformInfo.h | ||
---|---|---|
67 | Not yet. |
llvm/lib/Target/VE/VETargetTransformInfo.h | ||
---|---|---|
67 | If so, can you add them when those are required with some regression tests please? |
Yeah. Some tests make it easy. I'm trying to understand how these modifications work, but it takes hours.
A more direct way to test the costs would be adding a targeted test in llvm/test/Analysis/CostModel/. Does not look like there are any VE tests there yet.
We will need tests there once we implement a cost model. The idea of this patch is to make sure that LLVM does not auto-vectorize and the current tests check directly for that outcome.
@fhahn -san, thank you for letting us know about llvm/test/Analysis/CostModel/. I didn't know those regression tests. We, @simoll and me actually, will add several cost-model tests in near future. However, the purpose of this patch is disabling vector regs advertisement and it is tested well by newly added regression tests, in my opinion. Therefore, I think this is LGTM. Please let us know if you have any suggestions about it. And thank you very much for reviewing this patch!
Sounds good to me with respect to the cost model tests.
LGTM.
llvm/test/Transforms/LoopVectorize/VE/disable_lv.ll | ||
---|---|---|
3 | a bit unconventional but I guess it should not cause any problems down the road. |
LGTM. Thanks!
llvm/test/Transforms/LoopVectorize/VE/disable_lv.ll | ||
---|---|---|
3 | I hope so too. We need to enable vectorize ASAP to remove these tests. :-) |
llvm/test/Transforms/LoopVectorize/VE/disable_lv.ll | ||
---|---|---|
3 | Just to clarify, I was referring to the fact that we run X86 tests in the VE/ sub-directory. |
Do we really need this and following functions?