-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P4
-
Affects Version/s: 26
-
Component/s: hotspot
-
master
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
|---|---|---|---|---|---|---|
| JDK-8373349 | 26 | Emanuel Peter | P4 | Resolved | Fixed | master |
Reproduces on mainline. Issue is unexpected constant folding when special random values are chosen in the test.
I reproduced the issue by replacing the constant values with special values, see below in comments.
I could detect one failure with this seed on an aarch64 machine, but the seed does not seem to work via SDE:
-Djdk.test.lib.random.seed=-8149712388031710130
(Note: this only triggers a subset of the failures anyway, so precise investigation of all cases is still required to ensure we don't have any other failures in the future)
Important: Float16 support is required. You can simulate it with SDE, for example.
--------------------- ORIGINAL REPORT -----------------------
Failing in fibers branch of loom repo, linux-aarch64-debug only.
One or more @IR rules failed:
Failed IR Rules (1) of Methods (1)
----------------------------------
1) Method "public short TestFloat16ScalarOperations.testRandomFP16ConstantPatternSet1()" - [Failed IR rules: 1]:
* @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#ADD_HF#_", " >0 ", "_#SUB_HF#_", " >0 ", "_#MUL_HF#_", " >0 ", "_#DIV_HF#_", " >0 "}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={"fphp", "true", "asimdhp", "true"}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 4: "(\\d+(\\s){2}(DivHF.*)+(\\s){2}===.*)"
- Failed comparison: [found] 0 > 0 [given]
- No nodes matched!
>>> Check stdout for compilation output of the failed methods
I reproduced the issue by replacing the constant values with special values, see below in comments.
I could detect one failure with this seed on an aarch64 machine, but the seed does not seem to work via SDE:
-Djdk.test.lib.random.seed=-8149712388031710130
(Note: this only triggers a subset of the failures anyway, so precise investigation of all cases is still required to ensure we don't have any other failures in the future)
Important: Float16 support is required. You can simulate it with SDE, for example.
--------------------- ORIGINAL REPORT -----------------------
Failing in fibers branch of loom repo, linux-aarch64-debug only.
One or more @IR rules failed:
Failed IR Rules (1) of Methods (1)
----------------------------------
1) Method "public short TestFloat16ScalarOperations.testRandomFP16ConstantPatternSet1()" - [Failed IR rules: 1]:
* @IR rule 2: "@compiler.lib.ir_framework.IR(phase={DEFAULT}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={"_#ADD_HF#_", " >0 ", "_#SUB_HF#_", " >0 ", "_#MUL_HF#_", " >0 ", "_#DIV_HF#_", " >0 "}, failOn={}, applyIfPlatform={}, applyIfPlatformOr={}, applyIfOr={}, applyIfCPUFeatureAnd={"fphp", "true", "asimdhp", "true"}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "PrintIdeal":
- counts: Graph contains wrong number of nodes:
* Constraint 4: "(\\d+(\\s){2}(DivHF.*)+(\\s){2}===.*)"
- Failed comparison: [found] 0 > 0 [given]
- No nodes matched!
>>> Check stdout for compilation output of the failed methods
- backported by
-
JDK-8373349 compiler/c2/irTests/TestFloat16ScalarOperations.java failing intermittently because of constant folding
-
- Resolved
-
- relates to
-
JDK-8352635 Improve inferencing of Float16 operations with constant inputs
-
- Resolved
-
- links to
-
Commit(jdk26)
openjdk/jdk/42fc4fe7
-
Commit(master)
openjdk/jdk/a4eb57c5
-
Review(jdk26)
openjdk/jdk/28720
-
Review(master)
openjdk/jdk/28678
(1 links to)