If all the operands of a BUILD_VECTOR extract elements from same vector then split the
vector efficiently based on the maximum vector access index.
This will also fix PR 33784
Differential D35788
[DAGCombiner] Extending pattern detection for vector shuffle. jbhateja on Jul 24 2017, 1:44 AM. Authored by
Details
If all the operands of a BUILD_VECTOR extract elements from same vector then split the This will also fix PR 33784
Diff Detail
Event Timeline
Comment Actions Hi Zvi , I'm in process of uploading patch post rebase which should show the changes in asm with the diff. Thanks Comment Actions Hi Simon, Zvi since D35700 also taking care of shuffle_vectors extraction, and this patch is also extending the pattern should it be ok to merge this patch with it. Comment Actions Updating post rebase. Splitting of a vector argument of shuffle vector based on extracted shuffle_mask from the build_vector
Comment Actions A few minors but it looks like its almost there
Comment Actions A few final minor comments, but otherwise LGTM
Comment Actions
Comment Actions
Comment Actions PR34073 is a huge .cpp test which is running fine now. Comment Actions @ Simon, patch has been updated and good to land, please let me know if anything more is needed here. Comment Actions Hi Simon, patch has been updated and good to land, please let me know if anything more is needed here. This comment was removed by jbhateja. Comment Actions LGTM @jbhateja Sorry for the delay - I highly recommend that you request commit rights yourself Comment Actions Folks, please consider using utils/shuffle_fuzz.py or some other fuzz testing device. The number of times this lands and gets reverted is becoming fairly disruptive. Comment Actions
Comment Actions Closed by commit rL311255: [DAGCombiner] Extending pattern detection for vector shuffle. |