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