Details
-
Bug
-
Resolution: Fixed
-
P3
-
11, 16, 17
-
b06
-
generic
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8260982 | 16.0.2 | Tobias Hartmann | P3 | Resolved | Fixed | b01 |
JDK-8260885 | 16.0.1 | Tobias Hartmann | P3 | Resolved | Fixed | b04 |
JDK-8260955 | 11.0.12-oracle | Dukebot | P3 | Resolved | Fixed | b01 |
JDK-8263367 | 11.0.12 | Jatin Bhateja | P3 | Resolved | Fixed | b01 |
Description
Please consider following instruction selection pattern:-
match(Set dst (VectorBlend (Binary src1 (AddVB src1 src2)) mask));
Currently, ADLC emits following predication check for src1 in matcher DFA.
/*src1*/(_kids[0]->_kids[0]->_leaf == _kids[1]->_kids[0]->_leaf)
src1 appears twice in the State tree corresponding to this pattern, first as the leaf of left child state of Binary node which is left child state of VectorBlend and secondly as the leaf of left child of AddVB which is the right child state of Binary node. Thus following is the correct predication check to test both the occurrences of src1.
/*src1*/(_kids[0]->_kids[0]->_leaf == _kids[0]->_kids[1]->_kids[0]->_leaf)
match(Set dst (VectorBlend (Binary src1 (AddVB src1 src2)) mask));
Currently, ADLC emits following predication check for src1 in matcher DFA.
/*src1*/(_kids[0]->_kids[0]->_leaf == _kids[1]->_kids[0]->_leaf)
src1 appears twice in the State tree corresponding to this pattern, first as the leaf of left child state of Binary node which is left child state of VectorBlend and secondly as the leaf of left child of AddVB which is the right child state of Binary node. Thus following is the correct predication check to test both the occurrences of src1.
/*src1*/(_kids[0]->_kids[0]->_leaf == _kids[0]->_kids[1]->_kids[0]->_leaf)
Attachments
Issue Links
- backported by
-
JDK-8260885 Incorrect predication condition generated by ADLC
- Resolved
-
JDK-8260955 Incorrect predication condition generated by ADLC
- Resolved
-
JDK-8260982 Incorrect predication condition generated by ADLC
- Resolved
-
JDK-8263367 Incorrect predication condition generated by ADLC
- Resolved
- links to
-
Commit openjdk/jdk16u/cddbb158
-
Commit openjdk/jdk/bcf20a0d
-
Review openjdk/jdk16u/14
-
Review openjdk/jdk/2080
(3 links to)