<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/156826>156826</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [PowerPC64] clang trunk triggered assertion at -O1/O2/O3
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:PowerPC,
            crash-on-valid
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          XChy
      </td>
    </tr>
</table>

<pre>
    C testcase:
```c
#include <stdint.h>

int32_t a() {
  uint16_t b;
  asm goto("" : : : : c);
  for (;;)
    ;
  for (; b; b++) {
    asm goto("" : : : : d);
  c:
    asm("");
  d:
 }
}
```
ir:
```llvm
define i32 @a() {
  callbr void asm sideeffect "", "!i"() #1
          to label %1 [label %3]

1:
  br label %1

2:
  callbr void asm sideeffect "", "!i"() #1
          to label %3 [label %5]

3:
  %4 = phi i16 [ undef, %0 ], [ %7, %2 ]
  tail call void asm sideeffect "", ""() #1
  br label %5

5:
  %6 = phi i16 [ %4, %3 ], [ %7, %2 ]
  %7 = add i16 %6, 1
  %8 = icmp eq i16 %7, 0
  br i1 %8, label %9, label %2

9:
  ret i32 undef
}
```
Assertions:
```
clang-19: /home/shareduser/XChy/Projects/llvm-project/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp:104: virtual bool {anonymous}::PPCCTRLoops::runOnMachineFunction(llvm::MachineFunction&): Assertion `(I.getOpcode() != PPC::DecreaseCTRloop && I.getOpcode() != PPC::DecreaseCTR8loop) && "CTR loop pseudo is not expanded!"' failed
```
Godbolt: https://godbolt.org/z/KdEaxbPKz
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0VU2PozgT_jWVS6kjKAMJBw4kGV69ml111OrD3kYGm-AdgrO26Z2eX7-yHTLp7pV29rARAer7qfJjw61Vp0nKCvId5IcVn92gTfXbfnhdtVq8Vnt00rqOWwmshqSGIolX5wViaurGWUgEtrdOqMmtB2CfvC2p1eQYfXHIgbZAJcJmB0mNOKvJpcUXhy2wqOH2jCftdHAkIEJg9Zt_B1Qu3r026D3Zzl9UBiXiR3MogC3QLlw_EPxMRXFXsYvNXwNvMXce4uoBm4NvPt6XWflZmHfzG8eXMyS1kL2aJCpGCFnyflIdH8fW4ItWIiC2SkjZ97JzuCDYx7dUhUeMJpZe0caf0zjyVo4IlKcI-e4mMcgPcbHSpcXW3DlHGy22_wAPe4Mnv-FhS02gPENgB7wMClVaeH-cJyH7WCxP0Af593zn5c1VTxiTITquxoD9Z5B_QH0_kDyCy-_AFR_AecRXDOwfsXllyMCFiBkoL7xXupi3way68wXlH4tLSJQs-FQaHL3uBrV8I1EEXi7AjXSBdHGQf8fY2lppnNKTfcdcSOpu5NPpIS3DXqFm0GcJ1NiBGylmKw1Q448QoOZo9O-ycxao8Yx_uET5KvqHaoGaZ25O0muP-k9pjnv_dtzvn59-0fpi193lAqxOk8wXfFHGzXzEVuvR7xQ-6en1rGfre2A1sPouNCrMPD1Ov_JuUJNs5qnzbQFtA4Tg8MFWhL1d420K6Dun7f_XJ-keL50W8saT1K_P8biPqQ6yM5JbuX9-GrW-YMhV4L8K3PrI6BOCgWj__IQh38XKWWhUFiftUH678ElI4ZN56m6w52qU4t2C_U-LVo_OdzQ4F8dCDVBzioa1Nieg5jtQ81l84t_a4-fvK1ExUbKSr2SVbvKi3GQFlauh6gqR8n6bcrnJ-r4oypwynsi0z0XRUrldqYoSypMyyZItS6hcl0Xb9YLKpE1LmWc5ZIk8czWu_Qr42itl7SyrNC-2VKwCa234JhG1vPsqJ3--3rjhNysQdYbb4UFPDy98VMKr88PKVIFn7XyykCWjss7-qOKUG8O37pqqyCA_YGAzOjNPX9EZdTpJI_0psaw8d_jwmAI1j-RvbDWbsXo3RuWGuV13-nzH7Ld8Dx36fXBt8qWivwIAAP__iYMJLQ">