Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8259777

Incorrect predication condition generated by ADLC

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b06
    • CPU:
      generic

      Backports

        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)

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                jbhateja Jatin Bhateja
                Reporter:
                jbhateja Jatin Bhateja
                Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: