Similar to D122281, we should firstly exclude all scalable vector extending
stores and then selectively enable those which we directly support.
Also merge integer and float scalable vector into scalable_vector_valuetypes.
Differential D123449
[AArch64][SelectionDAG] Refactor to support more scalable vector extending stores Allen on Apr 9 2022, 3:12 AM. Authored by
Details Similar to D122281, we should firstly exclude all scalable vector extending Also merge integer and float scalable vector into scalable_vector_valuetypes.
Diff Detail
Unit Tests Event Timeline
Comment Actions Merge integer_scalable_vector_valuetypes and fp_scalable_vector_valuetypes into scalable_vector_valuetypes
Comment Actions ping? 钟云德 Zhong Yunde 发件人:Paul Walker via Phabricator <reviews@reviews.llvm.org> paulwalker-arm added inline comments. Comment at: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:7780 if (StVT.isScalableVector())
Thanks for the change @Allen. Before accepting I just wanted to query this line. What's the circumstance where it now triggers? (I tried llvm-lit -v ../llvm-project/llvm/test/CodeGen/AArch64 without this change and nothing jumped out) I ask because it's not immediate clear to me that the callers are happy for the scalarisation request to be ignored, hence the original error message. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123449/new/ Comment Actions Hi @Allen , I think you've missed my previous comment, which is the only thing stopping me from accepting the patch. Comment Actions hi @paulwalker-arm,I'm sorry to miss that. +++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp } // Then, selectively enable those which we directly support.
the related failed cases LLVM :: CodeGen/AArch64/spillfill-sve.ll
Comment Actions revert the change of report_fatal_error("Cannot scalarize scalable vector stores") as we do support trunc stores
|
Thanks for the change @Allen. Before accepting I just wanted to query this line. What's the circumstance where it now triggers? (I tried llvm-lit -v ../llvm-project/llvm/test/CodeGen/AArch64 without this change and nothing jumped out) I ask because it's not immediate clear to me that the callers are happy for the scalarisation request to be ignored, hence the original error message.