<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Assertion failure in AArch64 backend: "Detected cycle in SelectionDAG""
   href="https://bugs.llvm.org/show_bug.cgi?id=43056">43056</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Assertion failure in AArch64 backend: "Detected cycle in SelectionDAG"
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: AArch64
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>tstellar@redhat.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>arnaud.degrandmaison@arm.com, llvm-bugs@lists.llvm.org, peter.smith@linaro.org, Ties.Stuij@arm.com
          </td>
        </tr>

        <tr>
          <th>Blocks</th>
          <td>42474
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=22397" name="attach_22397" title="Original Test Case">attachment 22397</a> <a href="attachment.cgi?id=22397&action=edit" title="Original Test Case">[details]</a></span>
Original Test Case

Reproduce with:

llc -march=aarch64 -mcpu=thunderxt88 < aarch64-sdag-cycle-reduced.ll

Full error message:

Detected cycle in SelectionDAG
Offending node:
t659: v4f32,i64,ch = AArch64ISD::LD1DUPpost<(load 4 from %ir.96)> t489, t460,
t120
  t460: i64,ch = load<(load 8 from %ir."&context.constants_ptr[]7")> t456, t2,
undef:i64
    t2: i64,ch = CopyFromReg t0, Register:i64 %7
      t1: i64 = Register %7
    t11: i64 = undef
  t120: i64 = shl t118, Constant:i64<2>
    t118: i64 = sign_extend t117
      t117: i32 = extract_vector_elt t589, Constant:i64<0>
        t589: v4i32 = and t584, t587
          t584: v4i32 = AArch64ISD::VSHL t407, Constant:i32<2>
            t407: v4i32 = add t582, t655
              t582: v4i32 = AArch64ISD::VSHL t96, Constant:i32<1>
                t96: v4i32 = bitcast t659
                  t659: v4f32,i64,ch = AArch64ISD::LD1DUPpost<(load 4 from
%ir.96)> t489, t460, t120


                t124: i32 = Constant<1>
              t655: v4i32 = AArch64ISD::MOVIshift Constant:i32<3>,
Constant:i32<0>
                t106: i32 = Constant<3>
                t19: i32 = Constant<0>
            t97: i32 = Constant<2>
          t587: v4i32 = xor t583, t586
            t583: v4i32 = AArch64ISD::CMHS t407, t647
              t407: v4i32 = add t582, t655
                t582: v4i32 = AArch64ISD::VSHL t96, Constant:i32<1>
                  t96: v4i32 = bitcast t659

                  t124: i32 = Constant<1>
                t655: v4i32 = AArch64ISD::MOVIshift Constant:i32<3>,
Constant:i32<0>
                  t106: i32 = Constant<3>
                  t19: i32 = Constant<0>
              t647: v4i32 = AArch64ISD::DUP t457
                t457: i32,ch = load<(load 4 from %ir.95)> t456, t73, undef:i64
                  t73: i64 = add t2, Constant:i64<128>


                  t11: i64 = undef
            t586: v4i32 = BUILD_VECTOR Constant:i32<-1>, Constant:i32<-1>,
Constant:i32<-1>, Constant:i32<-1>
              t585: i32 = Constant<-1>
              t585: i32 = Constant<-1>
              t585: i32 = Constant<-1>
              t585: i32 = Constant<-1>
        t10: i64 = Constant<0>
    t119: i64 = Constant<2></pre>
        </div>
      </p>

        <div id="referenced">
          <hr style="border: 1px dashed #969696">
          <b>Referenced Bugs:</b>
          <ul>
              <li>
                [<a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED - [meta] 9.0.0 Release Blockers"
   href="https://bugs.llvm.org/show_bug.cgi?id=42474">Bug 42474</a>] [meta] 9.0.0 Release Blockers
              </li>
          </ul>
        </div>
        <br>

      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>