<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">