<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/101288>101288</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
x86 backend crashes when enabling zero-upper feature for APX
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
backend:X86,
crash-on-valid
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
KanRobert
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
KanRobert
</td>
</tr>
</table>
<pre>
```
define i32 @widget() {
bb:
br label %bb1
bb1:
%phi = phi i32 [ 0, %bb ], [ %zext, %bb1 ]
%phi2 = phi i32 [ 0, %bb ], [ %add3, %bb1 ]
%load = load i32, ptr null, align 4
%add = add i32 %load, %phi
store i32 %add, ptr null, align 4
%icmp = icmp ugt i32 %phi, %add
%zext = zext i1 %icmp to i32
%add3 = add i32 %phi2, %zext
%icmp4 = icmp ult i32 %phi2, 0
%and = and i1 %icmp, false
br i1 %and, label %bb1, label %bb2
bb2:
ret i32 0
}
```
```
llc: skan/llvm-project/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp:899: void {anonymous}::X86FlagsCopyLoweringPass::rewriteMI(llvm::MachineBasicBlock&, llvm::MachineBasicBlock::iterator, const llvm::DebugLoc&, llvm::MachineInstr&, {anonymous}::CondRegArray&): Assertion `CC != X86::COND_INVALID && "Unknown EFLAG user!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: llc -mattr=+zu
1. Running pass 'Function Pass Manager' on module '<stdin>'.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVdtu4zYQ_Rr6ZRCDoiRfHvQg23ERNNkG2bbYt4I3y6wpUuAl2eTrC1KKawfpBRsEFjk8c2Z45gii3qvOSNmgeoMI-ZmaJ8ukC4gQVO9mNIajdc05PGNWvDZogad_vEO4FfKgjARVEkAVflGikwGRFSJrQMvNiGEMle24BGAONGVSAyI1Y8U7oriAIFIPRwWo3EF6Zu56AxiR7ZgFqN7lTb1JgTf5PZzPinx4xUT-PxUVovyUCpFaWyoyU16okiTgEByYqHVaU606A9VFcSrGjPTMtUeWqcJwVBPWB-vkO4IK8d_MivdDps6L2IX37EQ60ieec_NJo4zPC1WcOYLNV7nqufzYdBJxYs1iX_dRXTSiw8ccfMltJj2MuOghoQ5Ue3nhkfGUmizFlWGu9-TdQOTCQE6OXUyl0XKa4gfvfhrUmqOyBX-iBpG91s_9zeDsn5KHaZseiiGy_5W6bPb9t9Vi_N1r2vmtHV7v7Yt0ynRzPgyobFfrdeJ8tkqkt4Iaa157G31qrGxR2X6W-0i9H0-dfHEqyIc7RFa5gxx9oPyojNxQr_hGW35CZJHF-RdEDqsgHQ3WJTC3xoeLlJ1ksbu3_J-47owPbjr89CZba8ST7Frn6GvG5Zu33ksXlDWAFnibfFQkGyThxqxfvuz-uPvye3t_t4OctgBEyG_mZOyLgdv9ffsTRC9dSiQEkSUcqNJSzMehPd7ftl9vwUfWqwAUWOzAycG6kPx9DGHIUpI9IvtOhWNkc277i4Fej1l5H6VHZD8a1XAdhYRwlMAd9UdglJ-Co1xO5b8Gyk8gYj-cTYjnkP8ene0c7YG6LvbShNQHaM3hpqchOFTuENm8xTGpmMNTNEaZDgbqPSCy3EfDs3DJDvBADe2SCkuwBnoropYJhcqtD0IZVN4ispx_MPZMNKVYl2s6k02xJKTCZIGr2bFhizVmC1qtBC6rklcE17haHMih5oeyKPlMNQSTCi_LAtcFxtWcVHWFScEEX0tR4QOqsOyp0vOk4Ny6bpa1awpckNVqll9UP31fWOzy7LZpTflJGjFa_xzN6t5Yc_NMtRLTZ8g1eTosdh5VWCsf_N_VggpaNt9XC5gYxwlJDy9HaUAaynSS8006exOHQTo4SBqik3CwDtrHb7PodPPjDpku-tyQvwIAAP__TxUc-A">