On Wed, 11 Jun 2025 08:30:51 GMT, Emanuel Peter <epe...@openjdk.org> wrote:
>>> You are checking IRNode.XOR_VL, "= 0". But you are comparing floats. Does >>> that make sense? >> >> The bottom types of `float` and `double` vector masks are casted to `int` >> and `long`. Seems this is by design? So this is correct. >> >> As for `control test`, yes for now I didn't add any such kind of test, >> because I personally think it's unnecessary. For specific code, it won't >> trigger this optimization now, but new optimizations in the future may cause >> this test to fail. >> >> Anyway I've tested the case where `vectormaskcmp` is multi used locally, and >> this optimization won't be triggered. >> >> Do you think it's necessary to add such a control test? > >> > You are checking IRNode.XOR_VL, "= 0". But you are comparing floats. Does >> > that make sense? > >> The bottom types of float and double vector masks are casted to int and >> long. Seems this is by design? So this is correct. > > This is a `float` test. What is the bottom type for the mask here? Oh, this is a stupid copy-paste mistake. Good catch, thanks! I'll double check them all. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24674#discussion_r2139582391