On Fri, 30 Aug 2024 13:17:26 GMT, Emanuel Peter <epe...@openjdk.org> wrote:
>> Jatin Bhateja has updated the pull request incrementally with one additional >> commit since the last revision: >> >> Adding descriptive comments > > src/hotspot/cpu/x86/matcher_x86.hpp line 215: > >> 213: } >> 214: >> 215: static bool vector_indexes_needs_massaging(BasicType ety, int vlen) { > > The name "massaging" sounds quite vague. Can we have something more > expressive / descriptive? Is it the vector that "needs" massaging or the > indices that "need" massaging? > > Why `ety` and not `bt`? Is that not the name we use most often? Hmm, I see that `ety` is used in other places here. What does it stand for? > src/hotspot/share/opto/vectornode.cpp line 2183: > >> 2181: }; >> 2182: // Targets emulating unsupported permutation for certain vector >> types >> 2183: // may need to message the indexes to match the users intent. > > Suggestion: > > // may need to massage the indexes to match the users intent. This optimization for now seems quite specific to your `SelectFromTwoVectorNode::Ideal` lowering code. Can this conversion not be done there already? What is the semantics of `VectorRearrangeNode`? Should its shuffle vector always be bytes, and we now violated that "for a quick second"? Or is it going to be generally the idea to create all sorts of shuffle types and then fix that up? But then why do we need the `vector_indexes_needs_massaging`? Can you help me understand the concept/strategy behind this? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20508#discussion_r1738714401 PR Review Comment: https://git.openjdk.org/jdk/pull/20508#discussion_r1738862138