RFR: 8342440: [BACKOUT] Support two vector selectFrom API

Chen Liang liach at openjdk.org
Wed Oct 16 18:06:10 UTC 2024


On Wed, 16 Oct 2024 17:49:51 GMT, Chen Liang <liach at openjdk.org> wrote:

> This reverts commit 709914fc92dd180c8f081ff70ef476554a04f4ce, #20508. It was based against the master from a few months ago and caused build failures on all platforms upon integration. The reverted commit can build again on my personal machine.

@jatin-bhateja The failure message is like:



/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp: In function 'Node* LowerSelectFromTwoVectorOperation(PhaseGVN&, Node*, Node*, Node*, const TypeVect*)':
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp:2876:110: error: cannot convert 'const Type*' to 'BasicType'
 2876 |                                                                                    Type::get_const_basic_type(T_BYTE), false));
      |                                                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
      |                                                                                                              |
      |                                                                                                              const Type*
In file included from /home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp:30:
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectornode.hpp:78:66: note:   initializing argument 3 of 'static VectorNode* VectorNode::scalar2vector(Node*, uint, BasicType, bool)'
   78 |   static VectorNode* scalar2vector(Node* s, uint vlen, BasicType bt, bool is_mask = false);
      |                                                        ~~~~~~~~~~^~
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp:2887:101: error: cannot convert 'const Type*' to 'BasicType'
 2887 |                                                                           Type::get_const_basic_type(T_BYTE), false));
      |                                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
      |                                                                                                     |
      |                                                                                                     const Type*
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectornode.hpp:78:66: note:   initializing argument 3 of 'static VectorNode* VectorNode::scalar2vector(Node*, uint, BasicType, bool)'
   78 |   static VectorNode* scalar2vector(Node* s, uint vlen, BasicType bt, bool is_mask = false);
      |                                                        ~~~~~~~~~~^~
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp: In member function 'bool LibraryCallKit::inline_vector_select_from_two_vectors()':
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp:3015:116: error: cannot convert 'const Type*' to 'BasicType'
 3015 |     Node* wrap_mask_vec = gvn().transform(VectorNode::scalar2vector(wrap_mask, num_elem, Type::get_const_basic_type(index_elem_bt), false));
      |                                                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
      |                                                                                                                    |
      |                                                                                                                    const Type*
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectornode.hpp:78:66: note:   initializing argument 3 of 'static VectorNode* VectorNode::scalar2vector(Node*, uint, BasicType, bool)'
   78 |   static VectorNode* scalar2vector(Node* s, uint vlen, BasicType bt, bool is_mask = false);
      |                                                        ~~~~~~~~~~^~
lib/CompileJvm.gmk:168: recipe for target '/home/liach/java/jdk-5/build/linux-x64/hotspot/variant-server/libjvm/objs/vectorIntrinsics.o' failed
make[3]: *** [/home/liach/java/jdk-5/build/linux-x64/hotspot/variant-server/libjvm/objs/vectorIntrinsics.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [hotspot-server-libs] Error 2
make/Main.gmk:245: recipe for target 'hotspot-server-libs' failed
make[2]: *** Waiting for unfinished jobs....

ERROR: Build failed for target 'images' in configuration 'linux-x64' (exit code 2) 
Stopping javac server

=== Output from failing command(s) repeated here ===
* For target hotspot_variant-server_libjvm_objs_vectorIntrinsics.o:
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp: In function 'Node* LowerSelectFromTwoVectorOperation(PhaseGVN&, Node*, Node*, Node*, const TypeVect*)':
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp:2876:110: error: cannot convert 'const Type*' to 'BasicType'
 2876 |                                                                                    Type::get_const_basic_type(T_BYTE), false));
      |                                                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
      |                                                                                                              |
      |                                                                                                              const Type*
In file included from /home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp:30:
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectornode.hpp:78:66: note:   initializing argument 3 of 'static VectorNode* VectorNode::scalar2vector(Node*, uint, BasicType, bool)'
   78 |   static VectorNode* scalar2vector(Node* s, uint vlen, BasicType bt, bool is_mask = false);
      |                                                        ~~~~~~~~~~^~
/home/liach/java/jdk-5/open/src/hotspot/share/opto/vectorIntrinsics.cpp:2887:101: error: cannot convert 'const Type*' to 'BasicType'
 2887 |                                                                           Type::get_const_basic_type(T_BYTE), false));
      |                                                                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
      |                                                                                                     |
      |                                                                                                     const Type*
   ... (rest of output omitted)

* All command lines available in /home/liach/java/jdk-5/build/linux-x64/make-support/failure-logs.



If you can give a hotfix under the redo issue, we can merge that redo too.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/21546#issuecomment-2417540448


More information about the core-libs-dev mailing list