RFR: 8356760: VectorAPI: Optimize VectorMask.fromLong for all-true/all-false cases [v7]

Christian Hagedorn chagedorn at openjdk.org
Tue Jul 29 08:24:58 UTC 2025


On Fri, 25 Jul 2025 09:27:19 GMT, erifan <duke at openjdk.org> wrote:

>> If the input long value `l` of `VectorMask.fromLong(SPECIES, l)` would set or unset all lanes, `VectorMask.fromLong(SPECIES, l)` is equivalent to `maskAll(true)` or `maskAll(false)`. But the cost of the `maskAll` is
>> relative smaller than that of `fromLong`. So this patch does the conversion for these cases.
>> 
>> The conversion is done in C2's IGVN phase. And on platforms (like Arm NEON) that don't support `VectorLongToMask`, the conversion is done during intrinsiication process if `MaskAll` or `Replicate` is supported.
>> 
>> Since this optimization requires the input long value of `VectorMask.fromLong` to be specific compile-time constants, and such expressions are usually hoisted out of the loop. So we can't see noticeable performance change.
>> 
>> This conversion also enables further optimizations that recognize maskAll patterns, see [1]. And we can observe a performance improvement of about 7% on both aarch64 and x64.
>> 
>> As `VectorLongToMask` is converted to `MaskAll` or `Replicate`, some existing optimizations recognizing the `VectorLongToMask` will be affected, like
>> 
>>   VectorMaskToLong (VectorLongToMask x) => x
>> 
>> 
>> Hence, this patch also added the following optimizations:
>> 
>>   VectorMaskToLong (MaskAll x) => (x & (-1ULL >> (64 - vlen)))    // x is -1 or 0
>>   VectorMaskToLong (VectorStoreMask (Replicate x)) => (x & (-1ULL >> (64 - vlen)))  // x is -1 or 0
>> 
>>   VectorMaskCast (VectorMaskCast x) => x
>> 
>> And we can see noticeable performance improvement with the above optimizations for floating-point types.
>> 
>> Benchmarks on Nvidia Grace machine with option `-XX:UseSVE=2`:
>> 
>> Benchmark				Unit	Before		Error		After		Error		Uplift
>> microMaskFromLongToLong_Double128	ops/s	1522384.986	1324881.46	2835774480	403575069.7	1862.71
>> microMaskFromLongToLong_Double256	ops/s	4275.415598	28.560622	4285.587451	27.633101	1
>> microMaskFromLongToLong_Double512	ops/s	3702.171936	9.528497	3692.747579	18.47744	0.99
>> microMaskFromLongToLong_Double64	ops/s	4624.452243	37.388427	4616.320519	23.455954	0.99
>> microMaskFromLongToLong_Float128	ops/s	1239661.887	1286803.852	2842927993	360468218.3	2293.3
>> microMaskFromLongToLong_Float256	ops/s	3681.64954	15.153633	3685.411771	21.737124	1
>> microMaskFromLongToLong_Float512	ops/s	3007.563025	10.189944	3022.002986	14.137287	1
>> microMaskFromLongToLong_Float64		ops/s	1646664.258	1375451.279	2948453900	397472562.4	1790.56
>> 
>> 
>> Benchmarks on AMD EPYC 9124 16-Core Processor with option `-XX:UseAVX=3`:
>> 
>> Benchm...
>
> erifan has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Move the assertion to the beginning of the code block

Testing is currently slow - still running but I report what I have so far. There is one test failure on `linux-aarch64` and `macosx-aarch64` with the new test `VectorMaskToLongTest.java`:

Additional flags: `-ea -esa -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -server -XX:-TieredCompilation` (probably only related to `-XX:-TieredComilation`, maybe we have not enough profiling and need to increase the warm-up but that's just a wild guess without looking at the test)

<details>
<summary>Log</summary>

Compilations (5) of Failed Methods (5)
--------------------------------------
1) Compilation of "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongByte()":
> Phase "PrintIdeal":
AFTER: print_ideal
   0  Root  === 0 203 230 269 270  [[ 0 1 3 225 198 189 23 186 167 28 44 124 104 54 277 295 ]] inner 
   1  Con  === 0  [[ ]]  #top
   3  Start  === 3 0  [[ 3 5 6 7 8 9 ]]  #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address}
   5  Parm  === 3  [[ 168 ]] Control !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
   6  Parm  === 3  [[ 168 ]] I_O !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
   7  Parm  === 3  [[ 168 279 286 ]] Memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
   8  Parm  === 3  [[ 270 269 255 233 230 199 203 168 226 ]] FramePtr !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
   9  Parm  === 3  [[ 270 269 199 226 ]] ReturnAdr !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:-1 (line 182)
  23  ConP  === 0  [[ 255 168 ]]  #jdk/incubator/vector/ByteVector$ByteSpecies (jdk/incubator/vector/VectorSpecies):exact *  Oop:jdk/incubator/vector/ByteVector$ByteSpecies (jdk/incubator/vector/VectorSpecies):exact *
  28  ConI  === 0  [[ 168 ]]  #int:1
  44  ConI  === 0  [[ 168 ]]  #int:16
  54  ConL  === 0  [[ 255 233 168 168 199 ]]  #long:65534
 104  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 124  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 167  ConP  === 0  [[ 168 ]]  #jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *  Oop:jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *
 168  CallStaticJava  === 5 6 7 8 1 (104 124 44 54 1 28 23 167 54 1 1 1 1 1 1 1 ) [[ 169 181 182 173 ]] # Static  jdk.internal.vm.vector.VectorSupport::fromBitsCoerced jdk/internal/vm/vector/VectorSupport$VectorPayload * ( java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, int, long, half, int, jdk/internal/vm/vector/VectorSupport$VectorSpecies *, java/lang/Object * ) VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183) !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongTo
 LongByte @ bci:22 (line 183)
 169  Proj  === 168  [[ 175 ]] #0 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 173  Proj  === 168  [[ 226 190 278 278 222 ]] #5  Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 175  Catch  === 169 181  [[ 176 177 ]]  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 176  CatchProj  === 175  [[ 192 ]] #0 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 177  CatchProj  === 175  [[ 251 180 ]] #1 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 180  CreateEx  === 177 181  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 181  Proj  === 168  [[ 233 199 226 252 175 180 ]] #1 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 182  Proj  === 168  [[ 233 226 199 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 186  ConP  === 0  [[ 296 ]]  #precise jdk/incubator/vector/VectorMask: 0x0000000148423080:Constant:exact *  Klass:precise jdk/incubator/vector/VectorMask: 0x0000000148423080:Constant:exact *
 189  ConP  === 0  [[ 190 199 ]]  #null
 190  CmpP  === _ 173 189  [[ 191 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 191  Bool  === _ 190  [[ 192 ]] [ne] !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 192  If  === 176 191  [[ 193 194 ]] P=0.999999, C=-1.000000 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 193  IfFalse  === 192  [[ 199 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 194  IfTrue  === 192  [[ 299 279 ]] #1 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 198  ConI  === 0  [[ 199 ]]  #int:-12
 199  CallStaticJava  === 193 181 182 8 9 (198 54 1 1 1 1 1 1 1 189 ) [[ 200 ]] # Static uncommon_trap(reason='null_check' action='make_not_entrant' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 200  Proj  === 199  [[ 203 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 203  Halt  === 200 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 222  CheckCastPP  === 300 173  [[ 233 ]]  #jdk/incubator/vector/VectorMask:NotNull *  Oop:jdk/incubator/vector/VectorMask:NotNull * !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 225  ConI  === 0  [[ 226 ]]  #int:-34
 226  CallStaticJava  === 301 181 182 8 9 (225 1 1 1 1 1 1 1 1 173 ) [[ 227 ]] # Static uncommon_trap(reason='class_check' action='maybe_recompile' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 227  Proj  === 226  [[ 230 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 230  Halt  === 227 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 233  CallDynamicJava  === 300 181 182 8 1 (222 54 1 1 1 ) [[ 234 246 247 238 ]] # Dynamic  jdk.incubator.vector.VectorMask::toLong long/half ( jdk/incubator/vector/VectorMask:NotNull * ) VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183) !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 234  Proj  === 233  [[ 240 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 238  Proj  === 233  [[ 255 ]] #5 !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 240  Catch  === 234 246  [[ 241 242 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 241  CatchProj  === 240  [[ 255 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 242  CatchProj  === 240  [[ 251 245 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 245  CreateEx  === 242 246  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 246  Proj  === 233  [[ 255 252 240 245 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 247  Proj  === 233  [[ 255 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 251  Region  === 251 177 242 263  [[ 251 252 253 254 270 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 252  Phi  === 251 181 246 257  [[ 270 ]]  #abIO !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 253  Phi  === 251 182 247 258  [[ 270 ]]  #memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 254  Phi  === 251 180 245 266  [[ 270 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:25 (line 183)
 255  CallStaticJava  === 241 246 247 8 1 (23 54 1 238 1 1 1 1 1 ) [[ 256 257 258 ]] # Static  compiler.vectorapi.VectorMaskToLongTest::verifyMaskToLong void ( java/lang/Object *, long, half, long, half ) VectorMaskToLongTest::testFromLongToLongByte @ bci:34 (line 184) !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:34 (line 184)
 256  Proj  === 255  [[ 261 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:34 (line 184)
 257  Proj  === 255  [[ 269 261 252 266 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:34 (line 184)
 258  Proj  === 255  [[ 269 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:34 (line 184)
 261  Catch  === 256 257  [[ 262 263 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:34 (line 184)
 262  CatchProj  === 261  [[ 269 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:34 (line 184)
 263  CatchProj  === 261  [[ 251 266 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:34 (line 184)
 266  CreateEx  === 263 257  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongByte @ bci:34 (line 184)
 269  Return  === 262 257 258 8 9  [[ 0 ]] 
 270  Rethrow  === 251 252 253 8 9 exception 254  [[ 0 ]] 
 277  ConL  === 0  [[ 278 ]]  #long:8
 278  AddP  === _ 173 173 277  [[ 279 ]]   Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload+8 * [narrowklass] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 279  LoadNKlass  === 194 7 278  [[ 280 ]]  @java/lang/Object+8 * [narrowklass], idx=5; #narrowklass: jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 280  DecodeNKlass  === _ 279  [[ 285 285 ]]  #jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 *  Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 285  AddP  === _ 280 280 295  [[ 286 ]]   Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8+80 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 286  LoadKlass  === _ 7 285  [[ 296 ]]  @java/lang/Object: 0x000000014800a050+any *, idx=6; # *  Klass: * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 295  ConL  === 0  [[ 285 ]]  #long:80
 296  CmpP  === _ 286 186  [[ 298 ]]  !orig=[289] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 298  Bool  === _ 296  [[ 299 ]] [ne] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 299  If  === 194 298  [[ 300 301 ]] P=0.170000, C=-1.000000 !orig=[291] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 300  IfFalse  === 299  [[ 222 233 ]] #0 !orig=[292],[273],[220] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)
 301  IfTrue  === 299  [[ 226 ]] #1 !orig=[293],[274],[221] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongByte @ bci:22 (line 183)

2) Compilation of "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongDouble()":
> Phase "PrintIdeal":
AFTER: print_ideal
   0  Root  === 0 203 230 269 270  [[ 0 1 3 225 198 189 23 186 167 28 44 124 104 54 277 295 ]] inner 
   1  Con  === 0  [[ ]]  #top
   3  Start  === 3 0  [[ 3 5 6 7 8 9 ]]  #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address}
   5  Parm  === 3  [[ 168 ]] Control !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:-1 (line 252)
   6  Parm  === 3  [[ 168 ]] I_O !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:-1 (line 252)
   7  Parm  === 3  [[ 168 279 286 ]] Memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:-1 (line 252)
   8  Parm  === 3  [[ 270 269 255 233 230 199 203 168 226 ]] FramePtr !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:-1 (line 252)
   9  Parm  === 3  [[ 270 269 199 226 ]] ReturnAdr !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:-1 (line 252)
  23  ConP  === 0  [[ 255 168 ]]  #jdk/incubator/vector/DoubleVector$DoubleSpecies (jdk/incubator/vector/VectorSpecies):exact *  Oop:jdk/incubator/vector/DoubleVector$DoubleSpecies (jdk/incubator/vector/VectorSpecies):exact *
  28  ConI  === 0  [[ 168 ]]  #int:1
  44  ConI  === 0  [[ 168 ]]  #int:2
  54  ConL  === 0  [[ 255 233 168 168 199 ]]  #long:2
 104  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 124  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 167  ConP  === 0  [[ 168 ]]  #jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *  Oop:jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *
 168  CallStaticJava  === 5 6 7 8 1 (104 124 44 54 1 28 23 167 54 1 1 1 1 1 1 1 ) [[ 169 181 182 173 ]] # Static  jdk.internal.vm.vector.VectorSupport::fromBitsCoerced jdk/internal/vm/vector/VectorSupport$VectorPayload * ( java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, int, long, half, int, jdk/internal/vm/vector/VectorSupport$VectorSpecies *, java/lang/Object * ) VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253) !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLong
 ToLongDouble @ bci:22 (line 253)
 169  Proj  === 168  [[ 175 ]] #0 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 173  Proj  === 168  [[ 226 190 278 278 222 ]] #5  Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 175  Catch  === 169 181  [[ 176 177 ]]  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 176  CatchProj  === 175  [[ 192 ]] #0 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 177  CatchProj  === 175  [[ 251 180 ]] #1 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 180  CreateEx  === 177 181  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 181  Proj  === 168  [[ 233 199 226 252 175 180 ]] #1 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 182  Proj  === 168  [[ 233 226 199 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 186  ConP  === 0  [[ 296 ]]  #precise jdk/incubator/vector/VectorMask: 0x00000001484db080:Constant:exact *  Klass:precise jdk/incubator/vector/VectorMask: 0x00000001484db080:Constant:exact *
 189  ConP  === 0  [[ 190 199 ]]  #null
 190  CmpP  === _ 173 189  [[ 191 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 191  Bool  === _ 190  [[ 192 ]] [ne] !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 192  If  === 176 191  [[ 193 194 ]] P=0.999999, C=-1.000000 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 193  IfFalse  === 192  [[ 199 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 194  IfTrue  === 192  [[ 299 279 ]] #1 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 198  ConI  === 0  [[ 199 ]]  #int:-12
 199  CallStaticJava  === 193 181 182 8 9 (198 54 1 1 1 1 1 1 1 189 ) [[ 200 ]] # Static uncommon_trap(reason='null_check' action='make_not_entrant' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 200  Proj  === 199  [[ 203 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 203  Halt  === 200 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 222  CheckCastPP  === 300 173  [[ 233 ]]  #jdk/incubator/vector/VectorMask:NotNull *  Oop:jdk/incubator/vector/VectorMask:NotNull * !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 225  ConI  === 0  [[ 226 ]]  #int:-34
 226  CallStaticJava  === 301 181 182 8 9 (225 1 1 1 1 1 1 1 1 173 ) [[ 227 ]] # Static uncommon_trap(reason='class_check' action='maybe_recompile' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 227  Proj  === 226  [[ 230 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 230  Halt  === 227 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 233  CallDynamicJava  === 300 181 182 8 1 (222 54 1 1 1 ) [[ 234 246 247 238 ]] # Dynamic  jdk.incubator.vector.VectorMask::toLong long/half ( jdk/incubator/vector/VectorMask:NotNull * ) VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253) !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 234  Proj  === 233  [[ 240 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 238  Proj  === 233  [[ 255 ]] #5 !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 240  Catch  === 234 246  [[ 241 242 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 241  CatchProj  === 240  [[ 255 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 242  CatchProj  === 240  [[ 251 245 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 245  CreateEx  === 242 246  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 246  Proj  === 233  [[ 255 252 240 245 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 247  Proj  === 233  [[ 255 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 251  Region  === 251 177 242 263  [[ 251 252 253 254 270 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 252  Phi  === 251 181 246 257  [[ 270 ]]  #abIO !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 253  Phi  === 251 182 247 258  [[ 270 ]]  #memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 254  Phi  === 251 180 245 266  [[ 270 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:25 (line 253)
 255  CallStaticJava  === 241 246 247 8 1 (23 54 1 238 1 1 1 1 1 ) [[ 256 257 258 ]] # Static  compiler.vectorapi.VectorMaskToLongTest::verifyMaskToLong void ( java/lang/Object *, long, half, long, half ) VectorMaskToLongTest::testFromLongToLongDouble @ bci:34 (line 254) !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:34 (line 254)
 256  Proj  === 255  [[ 261 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:34 (line 254)
 257  Proj  === 255  [[ 269 261 252 266 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:34 (line 254)
 258  Proj  === 255  [[ 269 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:34 (line 254)
 261  Catch  === 256 257  [[ 262 263 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:34 (line 254)
 262  CatchProj  === 261  [[ 269 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:34 (line 254)
 263  CatchProj  === 261  [[ 251 266 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:34 (line 254)
 266  CreateEx  === 263 257  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongDouble @ bci:34 (line 254)
 269  Return  === 262 257 258 8 9  [[ 0 ]] 
 270  Rethrow  === 251 252 253 8 9 exception 254  [[ 0 ]] 
 277  ConL  === 0  [[ 278 ]]  #long:8
 278  AddP  === _ 173 173 277  [[ 279 ]]   Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload+8 * [narrowklass] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 279  LoadNKlass  === 194 7 278  [[ 280 ]]  @java/lang/Object+8 * [narrowklass], idx=5; #narrowklass: jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 280  DecodeNKlass  === _ 279  [[ 285 285 ]]  #jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 *  Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 285  AddP  === _ 280 280 295  [[ 286 ]]   Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8+80 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 286  LoadKlass  === _ 7 285  [[ 296 ]]  @java/lang/Object: 0x000000014800a050+any *, idx=6; # *  Klass: * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 295  ConL  === 0  [[ 285 ]]  #long:80
 296  CmpP  === _ 286 186  [[ 298 ]]  !orig=[289] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 298  Bool  === _ 296  [[ 299 ]] [ne] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 299  If  === 194 298  [[ 300 301 ]] P=0.170000, C=-1.000000 !orig=[291] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 300  IfFalse  === 299  [[ 222 233 ]] #0 !orig=[292],[273],[220] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)
 301  IfTrue  === 299  [[ 226 ]] #1 !orig=[293],[274],[221] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongDouble @ bci:22 (line 253)

3) Compilation of "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongInt()":
> Phase "PrintIdeal":
AFTER: print_ideal
   0  Root  === 0 203 230 269 270  [[ 0 1 3 225 198 189 23 186 167 28 44 124 104 54 277 295 ]] inner 
   1  Con  === 0  [[ ]]  #top
   3  Start  === 3 0  [[ 3 5 6 7 8 9 ]]  #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address}
   5  Parm  === 3  [[ 168 ]] Control !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:-1 (line 210)
   6  Parm  === 3  [[ 168 ]] I_O !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:-1 (line 210)
   7  Parm  === 3  [[ 168 279 286 ]] Memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:-1 (line 210)
   8  Parm  === 3  [[ 270 269 255 233 230 199 203 168 226 ]] FramePtr !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:-1 (line 210)
   9  Parm  === 3  [[ 270 269 199 226 ]] ReturnAdr !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:-1 (line 210)
  23  ConP  === 0  [[ 255 168 ]]  #jdk/incubator/vector/IntVector$IntSpecies (jdk/incubator/vector/VectorSpecies):exact *  Oop:jdk/incubator/vector/IntVector$IntSpecies (jdk/incubator/vector/VectorSpecies):exact *
  28  ConI  === 0  [[ 168 ]]  #int:1
  44  ConI  === 0  [[ 168 ]]  #int:4
  54  ConL  === 0  [[ 255 233 168 168 199 ]]  #long:14
 104  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 124  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 167  ConP  === 0  [[ 168 ]]  #jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *  Oop:jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *
 168  CallStaticJava  === 5 6 7 8 1 (104 124 44 54 1 28 23 167 54 1 1 1 1 1 1 1 ) [[ 169 181 182 173 ]] # Static  jdk.internal.vm.vector.VectorSupport::fromBitsCoerced jdk/internal/vm/vector/VectorSupport$VectorPayload * ( java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, int, long, half, int, jdk/internal/vm/vector/VectorSupport$VectorSpecies *, java/lang/Object * ) VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211) !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToL
 ongInt @ bci:22 (line 211)
 169  Proj  === 168  [[ 175 ]] #0 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 173  Proj  === 168  [[ 226 190 278 278 222 ]] #5  Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 175  Catch  === 169 181  [[ 176 177 ]]  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 176  CatchProj  === 175  [[ 192 ]] #0 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 177  CatchProj  === 175  [[ 251 180 ]] #1 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 180  CreateEx  === 177 181  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 181  Proj  === 168  [[ 233 199 226 252 175 180 ]] #1 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 182  Proj  === 168  [[ 233 226 199 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 186  ConP  === 0  [[ 296 ]]  #precise jdk/incubator/vector/VectorMask: 0x000000015829b080:Constant:exact *  Klass:precise jdk/incubator/vector/VectorMask: 0x000000015829b080:Constant:exact *
 189  ConP  === 0  [[ 190 199 ]]  #null
 190  CmpP  === _ 173 189  [[ 191 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 191  Bool  === _ 190  [[ 192 ]] [ne] !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 192  If  === 176 191  [[ 193 194 ]] P=0.999999, C=-1.000000 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 193  IfFalse  === 192  [[ 199 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 194  IfTrue  === 192  [[ 299 279 ]] #1 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 198  ConI  === 0  [[ 199 ]]  #int:-12
 199  CallStaticJava  === 193 181 182 8 9 (198 54 1 1 1 1 1 1 1 189 ) [[ 200 ]] # Static uncommon_trap(reason='null_check' action='make_not_entrant' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 200  Proj  === 199  [[ 203 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 203  Halt  === 200 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 222  CheckCastPP  === 300 173  [[ 233 ]]  #jdk/incubator/vector/VectorMask:NotNull *  Oop:jdk/incubator/vector/VectorMask:NotNull * !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 225  ConI  === 0  [[ 226 ]]  #int:-34
 226  CallStaticJava  === 301 181 182 8 9 (225 1 1 1 1 1 1 1 1 173 ) [[ 227 ]] # Static uncommon_trap(reason='class_check' action='maybe_recompile' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 227  Proj  === 226  [[ 230 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 230  Halt  === 227 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 233  CallDynamicJava  === 300 181 182 8 1 (222 54 1 1 1 ) [[ 234 246 247 238 ]] # Dynamic  jdk.incubator.vector.VectorMask::toLong long/half ( jdk/incubator/vector/VectorMask:NotNull * ) VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211) !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 234  Proj  === 233  [[ 240 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 238  Proj  === 233  [[ 255 ]] #5 !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 240  Catch  === 234 246  [[ 241 242 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 241  CatchProj  === 240  [[ 255 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 242  CatchProj  === 240  [[ 251 245 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 245  CreateEx  === 242 246  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 246  Proj  === 233  [[ 255 252 240 245 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 247  Proj  === 233  [[ 255 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 251  Region  === 251 177 242 263  [[ 251 252 253 254 270 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 252  Phi  === 251 181 246 257  [[ 270 ]]  #abIO !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 253  Phi  === 251 182 247 258  [[ 270 ]]  #memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 254  Phi  === 251 180 245 266  [[ 270 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:25 (line 211)
 255  CallStaticJava  === 241 246 247 8 1 (23 54 1 238 1 1 1 1 1 ) [[ 256 257 258 ]] # Static  compiler.vectorapi.VectorMaskToLongTest::verifyMaskToLong void ( java/lang/Object *, long, half, long, half ) VectorMaskToLongTest::testFromLongToLongInt @ bci:34 (line 212) !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:34 (line 212)
 256  Proj  === 255  [[ 261 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:34 (line 212)
 257  Proj  === 255  [[ 269 261 252 266 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:34 (line 212)
 258  Proj  === 255  [[ 269 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:34 (line 212)
 261  Catch  === 256 257  [[ 262 263 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:34 (line 212)
 262  CatchProj  === 261  [[ 269 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:34 (line 212)
 263  CatchProj  === 261  [[ 251 266 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:34 (line 212)
 266  CreateEx  === 263 257  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongInt @ bci:34 (line 212)
 269  Return  === 262 257 258 8 9  [[ 0 ]] 
 270  Rethrow  === 251 252 253 8 9 exception 254  [[ 0 ]] 
 277  ConL  === 0  [[ 278 ]]  #long:8
 278  AddP  === _ 173 173 277  [[ 279 ]]   Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload+8 * [narrowklass] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 279  LoadNKlass  === 194 7 278  [[ 280 ]]  @java/lang/Object+8 * [narrowklass], idx=5; #narrowklass: jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 280  DecodeNKlass  === _ 279  [[ 285 285 ]]  #jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 *  Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 285  AddP  === _ 280 280 295  [[ 286 ]]   Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8+80 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 286  LoadKlass  === _ 7 285  [[ 296 ]]  @java/lang/Object: 0x000000014800a050+any *, idx=6; # *  Klass: * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 295  ConL  === 0  [[ 285 ]]  #long:80
 296  CmpP  === _ 286 186  [[ 298 ]]  !orig=[289] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 298  Bool  === _ 296  [[ 299 ]] [ne] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 299  If  === 194 298  [[ 300 301 ]] P=0.170000, C=-1.000000 !orig=[291] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 300  IfFalse  === 299  [[ 222 233 ]] #0 !orig=[292],[273],[220] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)
 301  IfTrue  === 299  [[ 226 ]] #1 !orig=[293],[274],[221] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongInt @ bci:22 (line 211)

4) Compilation of "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongLong()":
> Phase "PrintIdeal":
AFTER: print_ideal
   0  Root  === 0 203 230 269 270  [[ 0 1 3 225 198 189 23 186 167 28 44 124 104 54 277 295 ]] inner 
   1  Con  === 0  [[ ]]  #top
   3  Start  === 3 0  [[ 3 5 6 7 8 9 ]]  #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address}
   5  Parm  === 3  [[ 168 ]] Control !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:-1 (line 224)
   6  Parm  === 3  [[ 168 ]] I_O !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:-1 (line 224)
   7  Parm  === 3  [[ 168 279 286 ]] Memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:-1 (line 224)
   8  Parm  === 3  [[ 270 269 255 233 230 199 203 168 226 ]] FramePtr !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:-1 (line 224)
   9  Parm  === 3  [[ 270 269 199 226 ]] ReturnAdr !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:-1 (line 224)
  23  ConP  === 0  [[ 255 168 ]]  #jdk/incubator/vector/LongVector$LongSpecies (jdk/incubator/vector/VectorSpecies):exact *  Oop:jdk/incubator/vector/LongVector$LongSpecies (jdk/incubator/vector/VectorSpecies):exact *
  28  ConI  === 0  [[ 168 ]]  #int:1
  44  ConI  === 0  [[ 168 ]]  #int:2
  54  ConL  === 0  [[ 255 233 168 168 199 ]]  #long:2
 104  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 124  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 167  ConP  === 0  [[ 168 ]]  #jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *  Oop:jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *
 168  CallStaticJava  === 5 6 7 8 1 (104 124 44 54 1 28 23 167 54 1 1 1 1 1 1 1 ) [[ 169 181 182 173 ]] # Static  jdk.internal.vm.vector.VectorSupport::fromBitsCoerced jdk/internal/vm/vector/VectorSupport$VectorPayload * ( java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, int, long, half, int, jdk/internal/vm/vector/VectorSupport$VectorSpecies *, java/lang/Object * ) VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225) !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongTo
 LongLong @ bci:22 (line 225)
 169  Proj  === 168  [[ 175 ]] #0 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 173  Proj  === 168  [[ 226 190 278 278 222 ]] #5  Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 175  Catch  === 169 181  [[ 176 177 ]]  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 176  CatchProj  === 175  [[ 192 ]] #0 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 177  CatchProj  === 175  [[ 251 180 ]] #1 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 180  CreateEx  === 177 181  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 181  Proj  === 168  [[ 233 199 226 252 175 180 ]] #1 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 182  Proj  === 168  [[ 233 226 199 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 186  ConP  === 0  [[ 296 ]]  #precise jdk/incubator/vector/VectorMask: 0x0000000158383080:Constant:exact *  Klass:precise jdk/incubator/vector/VectorMask: 0x0000000158383080:Constant:exact *
 189  ConP  === 0  [[ 190 199 ]]  #null
 190  CmpP  === _ 173 189  [[ 191 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 191  Bool  === _ 190  [[ 192 ]] [ne] !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 192  If  === 176 191  [[ 193 194 ]] P=0.999999, C=-1.000000 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 193  IfFalse  === 192  [[ 199 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 194  IfTrue  === 192  [[ 299 279 ]] #1 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 198  ConI  === 0  [[ 199 ]]  #int:-12
 199  CallStaticJava  === 193 181 182 8 9 (198 54 1 1 1 1 1 1 1 189 ) [[ 200 ]] # Static uncommon_trap(reason='null_check' action='make_not_entrant' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 200  Proj  === 199  [[ 203 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 203  Halt  === 200 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 222  CheckCastPP  === 300 173  [[ 233 ]]  #jdk/incubator/vector/VectorMask:NotNull *  Oop:jdk/incubator/vector/VectorMask:NotNull * !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 225  ConI  === 0  [[ 226 ]]  #int:-34
 226  CallStaticJava  === 301 181 182 8 9 (225 1 1 1 1 1 1 1 1 173 ) [[ 227 ]] # Static uncommon_trap(reason='class_check' action='maybe_recompile' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 227  Proj  === 226  [[ 230 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 230  Halt  === 227 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 233  CallDynamicJava  === 300 181 182 8 1 (222 54 1 1 1 ) [[ 234 246 247 238 ]] # Dynamic  jdk.incubator.vector.VectorMask::toLong long/half ( jdk/incubator/vector/VectorMask:NotNull * ) VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225) !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 234  Proj  === 233  [[ 240 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 238  Proj  === 233  [[ 255 ]] #5 !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 240  Catch  === 234 246  [[ 241 242 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 241  CatchProj  === 240  [[ 255 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 242  CatchProj  === 240  [[ 251 245 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 245  CreateEx  === 242 246  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 246  Proj  === 233  [[ 255 252 240 245 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 247  Proj  === 233  [[ 255 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 251  Region  === 251 177 242 263  [[ 251 252 253 254 270 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 252  Phi  === 251 181 246 257  [[ 270 ]]  #abIO !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 253  Phi  === 251 182 247 258  [[ 270 ]]  #memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 254  Phi  === 251 180 245 266  [[ 270 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:25 (line 225)
 255  CallStaticJava  === 241 246 247 8 1 (23 54 1 238 1 1 1 1 1 ) [[ 256 257 258 ]] # Static  compiler.vectorapi.VectorMaskToLongTest::verifyMaskToLong void ( java/lang/Object *, long, half, long, half ) VectorMaskToLongTest::testFromLongToLongLong @ bci:34 (line 226) !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:34 (line 226)
 256  Proj  === 255  [[ 261 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:34 (line 226)
 257  Proj  === 255  [[ 269 261 252 266 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:34 (line 226)
 258  Proj  === 255  [[ 269 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:34 (line 226)
 261  Catch  === 256 257  [[ 262 263 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:34 (line 226)
 262  CatchProj  === 261  [[ 269 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:34 (line 226)
 263  CatchProj  === 261  [[ 251 266 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:34 (line 226)
 266  CreateEx  === 263 257  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongLong @ bci:34 (line 226)
 269  Return  === 262 257 258 8 9  [[ 0 ]] 
 270  Rethrow  === 251 252 253 8 9 exception 254  [[ 0 ]] 
 277  ConL  === 0  [[ 278 ]]  #long:8
 278  AddP  === _ 173 173 277  [[ 279 ]]   Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload+8 * [narrowklass] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 279  LoadNKlass  === 194 7 278  [[ 280 ]]  @java/lang/Object+8 * [narrowklass], idx=5; #narrowklass: jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 280  DecodeNKlass  === _ 279  [[ 285 285 ]]  #jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 *  Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 285  AddP  === _ 280 280 295  [[ 286 ]]   Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8+80 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 286  LoadKlass  === _ 7 285  [[ 296 ]]  @java/lang/Object: 0x000000014800a050+any *, idx=6; # *  Klass: * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 295  ConL  === 0  [[ 285 ]]  #long:80
 296  CmpP  === _ 286 186  [[ 298 ]]  !orig=[289] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 298  Bool  === _ 296  [[ 299 ]] [ne] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 299  If  === 194 298  [[ 300 301 ]] P=0.170000, C=-1.000000 !orig=[291] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 300  IfFalse  === 299  [[ 222 233 ]] #0 !orig=[292],[273],[220] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)
 301  IfTrue  === 299  [[ 226 ]] #1 !orig=[293],[274],[221] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongLong @ bci:22 (line 225)

5) Compilation of "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongShort()":
> Phase "PrintIdeal":
AFTER: print_ideal
   0  Root  === 0 203 230 269 270  [[ 0 1 3 225 198 189 23 186 167 28 44 124 104 54 277 295 ]] inner 
   1  Con  === 0  [[ ]]  #top
   3  Start  === 3 0  [[ 3 5 6 7 8 9 ]]  #{0:control, 1:abIO, 2:memory, 3:rawptr:BotPTR, 4:return_address}
   5  Parm  === 3  [[ 168 ]] Control !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:-1 (line 196)
   6  Parm  === 3  [[ 168 ]] I_O !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:-1 (line 196)
   7  Parm  === 3  [[ 168 279 286 ]] Memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:-1 (line 196)
   8  Parm  === 3  [[ 270 269 255 233 230 199 203 168 226 ]] FramePtr !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:-1 (line 196)
   9  Parm  === 3  [[ 270 269 199 226 ]] ReturnAdr !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:-1 (line 196)
  23  ConP  === 0  [[ 255 168 ]]  #jdk/incubator/vector/ShortVector$ShortSpecies (jdk/incubator/vector/VectorSpecies):exact *  Oop:jdk/incubator/vector/ShortVector$ShortSpecies (jdk/incubator/vector/VectorSpecies):exact *
  28  ConI  === 0  [[ 168 ]]  #int:1
  44  ConI  === 0  [[ 168 ]]  #int:8
  54  ConL  === 0  [[ 255 233 168 168 199 ]]  #long:254
 104  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 124  ConP  === 0  [[ 168 ]]  #java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *  Oop:java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *
 167  ConP  === 0  [[ 168 ]]  #jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *  Oop:jdk/incubator/vector/VectorMask$$Lambda+0x0000060001060748 (jdk/internal/vm/vector/VectorSupport$FromBitsCoercedOperation):exact *
 168  CallStaticJava  === 5 6 7 8 1 (104 124 44 54 1 28 23 167 54 1 1 1 1 1 1 1 ) [[ 169 181 182 173 ]] # Static  jdk.internal.vm.vector.VectorSupport::fromBitsCoerced jdk/internal/vm/vector/VectorSupport$VectorPayload * ( java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, java/lang/Class (java/io/Serializable,java/lang/constant/Constable,java/lang/reflect/AnnotatedElement,java/lang/invoke/TypeDescriptor,java/lang/reflect/GenericDeclaration,java/lang/reflect/Type,java/lang/invoke/TypeDescriptor$OfField):exact *, int, long, half, int, jdk/internal/vm/vector/VectorSupport$VectorSpecies *, java/lang/Object * ) VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197) !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongT
 oLongShort @ bci:22 (line 197)
 169  Proj  === 168  [[ 175 ]] #0 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 173  Proj  === 168  [[ 226 190 278 278 222 ]] #5  Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 175  Catch  === 169 181  [[ 176 177 ]]  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 176  CatchProj  === 175  [[ 192 ]] #0 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 177  CatchProj  === 175  [[ 251 180 ]] #1 at bci -1  !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 180  CreateEx  === 177 181  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 181  Proj  === 168  [[ 233 199 226 252 175 180 ]] #1 !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 182  Proj  === 168  [[ 233 226 199 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 186  ConP  === 0  [[ 296 ]]  #precise jdk/incubator/vector/VectorMask: 0x00000001484bb080:Constant:exact *  Klass:precise jdk/incubator/vector/VectorMask: 0x00000001484bb080:Constant:exact *
 189  ConP  === 0  [[ 190 199 ]]  #null
 190  CmpP  === _ 173 189  [[ 191 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 191  Bool  === _ 190  [[ 192 ]] [ne] !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 192  If  === 176 191  [[ 193 194 ]] P=0.999999, C=-1.000000 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 193  IfFalse  === 192  [[ 199 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 194  IfTrue  === 192  [[ 299 279 ]] #1 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 198  ConI  === 0  [[ 199 ]]  #int:-12
 199  CallStaticJava  === 193 181 182 8 9 (198 54 1 1 1 1 1 1 1 189 ) [[ 200 ]] # Static uncommon_trap(reason='null_check' action='make_not_entrant' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 200  Proj  === 199  [[ 203 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 203  Halt  === 200 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 222  CheckCastPP  === 300 173  [[ 233 ]]  #jdk/incubator/vector/VectorMask:NotNull *  Oop:jdk/incubator/vector/VectorMask:NotNull * !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 225  ConI  === 0  [[ 226 ]]  #int:-34
 226  CallStaticJava  === 301 181 182 8 9 (225 1 1 1 1 1 1 1 1 173 ) [[ 227 ]] # Static uncommon_trap(reason='class_check' action='maybe_recompile' debug_id='0')  void ( int ) C=0.000100 VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197) !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 227  Proj  === 226  [[ 230 ]] #0 !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 230  Halt  === 227 1 1 8 1  [[ 0 ]]  !jvms: VectorMask::fromLong @ bci:42 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 233  CallDynamicJava  === 300 181 182 8 1 (222 54 1 1 1 ) [[ 234 246 247 238 ]] # Dynamic  jdk.incubator.vector.VectorMask::toLong long/half ( jdk/incubator/vector/VectorMask:NotNull * ) VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197) !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 234  Proj  === 233  [[ 240 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 238  Proj  === 233  [[ 255 ]] #5 !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 240  Catch  === 234 246  [[ 241 242 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 241  CatchProj  === 240  [[ 255 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 242  CatchProj  === 240  [[ 251 245 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 245  CreateEx  === 242 246  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 246  Proj  === 233  [[ 255 252 240 245 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 247  Proj  === 233  [[ 255 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 251  Region  === 251 177 242 263  [[ 251 252 253 254 270 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 252  Phi  === 251 181 246 257  [[ 270 ]]  #abIO !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 253  Phi  === 251 182 247 258  [[ 270 ]]  #memory  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 254  Phi  === 251 180 245 266  [[ 270 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:25 (line 197)
 255  CallStaticJava  === 241 246 247 8 1 (23 54 1 238 1 1 1 1 1 ) [[ 256 257 258 ]] # Static  compiler.vectorapi.VectorMaskToLongTest::verifyMaskToLong void ( java/lang/Object *, long, half, long, half ) VectorMaskToLongTest::testFromLongToLongShort @ bci:34 (line 198) !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:34 (line 198)
 256  Proj  === 255  [[ 261 ]] #0 !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:34 (line 198)
 257  Proj  === 255  [[ 269 261 252 266 ]] #1 !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:34 (line 198)
 258  Proj  === 255  [[ 269 253 ]] #2  Memory: @BotPTR *+bot, idx=Bot; !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:34 (line 198)
 261  Catch  === 256 257  [[ 262 263 ]]  !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:34 (line 198)
 262  CatchProj  === 261  [[ 269 ]] #0 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:34 (line 198)
 263  CatchProj  === 261  [[ 251 266 ]] #1 at bci -1  !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:34 (line 198)
 266  CreateEx  === 263 257  [[ 254 ]]  #java/lang/Throwable (java/io/Serializable):NotNull *  Oop:java/lang/Throwable (java/io/Serializable):NotNull * !jvms: VectorMaskToLongTest::testFromLongToLongShort @ bci:34 (line 198)
 269  Return  === 262 257 258 8 9  [[ 0 ]] 
 270  Rethrow  === 251 252 253 8 9 exception 254  [[ 0 ]] 
 277  ConL  === 0  [[ 278 ]]  #long:8
 278  AddP  === _ 173 173 277  [[ 279 ]]   Oop:jdk/internal/vm/vector/VectorSupport$VectorPayload+8 * [narrowklass] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 279  LoadNKlass  === 194 7 278  [[ 280 ]]  @java/lang/Object+8 * [narrowklass], idx=5; #narrowklass: jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 280  DecodeNKlass  === _ 279  [[ 285 285 ]]  #jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 *  Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 285  AddP  === _ 280 280 295  [[ 286 ]]   Klass:jdk/internal/vm/vector/VectorSupport$VectorPayload: 0x000000014800e0e8+80 * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 286  LoadKlass  === _ 7 285  [[ 296 ]]  @java/lang/Object: 0x000000014800a050+any *, idx=6; # *  Klass: * !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 295  ConL  === 0  [[ 285 ]]  #long:80
 296  CmpP  === _ 286 186  [[ 298 ]]  !orig=[289] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 298  Bool  === _ 296  [[ 299 ]] [ne] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 299  If  === 194 298  [[ 300 301 ]] P=0.170000, C=-1.000000 !orig=[291] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 300  IfFalse  === 299  [[ 222 233 ]] #0 !orig=[292],[273],[220] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)
 301  IfTrue  === 299  [[ 226 ]] #1 !orig=[293],[274],[221] !jvms: VectorMask::fromLong @ bci:39 (line 243) VectorMaskToLongTest::testFromLongToLongShort @ bci:22 (line 197)

[...]

One or more @IR rules failed:

Failed IR Rules (5) of Methods (5)
----------------------------------
1) Method "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongByte()" - [Failed IR rules: 1]:
   * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#VECTOR_LONG_TO_MASK#_", "= 0", "_#VECTOR_MASK_TO_LONG#_", "= 1"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={"asimd", "true", "sve", "false"}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
     > Phase "PrintIdeal":
       - counts: Graph contains wrong number of nodes:
         * Constraint 2: "(\\d+(\\s){2}(VectorMaskToLong.*)+(\\s){2}===.*)"
           - Failed comparison: [found] 0 = 1 [given]
           - No nodes matched!

2) Method "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongDouble()" - [Failed IR rules: 1]:
   * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#VECTOR_LONG_TO_MASK#_", "= 0", "_#VECTOR_MASK_TO_LONG#_", "= 1"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={"asimd", "true", "sve", "false"}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
     > Phase "PrintIdeal":
       - counts: Graph contains wrong number of nodes:
         * Constraint 2: "(\\d+(\\s){2}(VectorMaskToLong.*)+(\\s){2}===.*)"
           - Failed comparison: [found] 0 = 1 [given]
           - No nodes matched!

3) Method "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongInt()" - [Failed IR rules: 1]:
   * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#VECTOR_LONG_TO_MASK#_", "= 0", "_#VECTOR_MASK_TO_LONG#_", "= 1"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={"asimd", "true", "sve", "false"}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
     > Phase "PrintIdeal":
       - counts: Graph contains wrong number of nodes:
         * Constraint 2: "(\\d+(\\s){2}(VectorMaskToLong.*)+(\\s){2}===.*)"
           - Failed comparison: [found] 0 = 1 [given]
           - No nodes matched!

4) Method "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongLong()" - [Failed IR rules: 1]:
   * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#VECTOR_LONG_TO_MASK#_", "= 0", "_#VECTOR_MASK_TO_LONG#_", "= 1"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={"asimd", "true", "sve", "false"}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
     > Phase "PrintIdeal":
       - counts: Graph contains wrong number of nodes:
         * Constraint 2: "(\\d+(\\s){2}(VectorMaskToLong.*)+(\\s){2}===.*)"
           - Failed comparison: [found] 0 = 1 [given]
           - No nodes matched!

5) Method "public static void compiler.vectorapi.VectorMaskToLongTest.testFromLongToLongShort()" - [Failed IR rules: 1]:
   * @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#VECTOR_LONG_TO_MASK#_", "= 0", "_#VECTOR_MASK_TO_LONG#_", "= 1"}, failOn={}, applyIfPlatformOr={}, applyIfPlatform={}, applyIfOr={}, applyIfCPUFeatureAnd={"asimd", "true", "sve", "false"}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
     > Phase "PrintIdeal":
       - counts: Graph contains wrong number of nodes:
         * Constraint 2: "(\\d+(\\s){2}(VectorMaskToLong.*)+(\\s){2}===.*)"
           - Failed comparison: [found] 0 = 1 [given]
           - No nodes matched!

</details>

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

PR Comment: https://git.openjdk.org/jdk/pull/25793#issuecomment-3131236429


More information about the hotspot-compiler-dev mailing list