<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/106942>106942</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
IR expand: FMINIMUM/FMAXIMUM: Payload is missing if both are NaN
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
wzssyqa
</td>
</tr>
</table>
<pre>
In llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
```
// Propagate any NaN of both operands
if (!N->getFlags().hasNoNaNs() &&
(!DAG.isKnownNeverNaN(RHS) || !DAG.isKnownNeverNaN(LHS))) {
ConstantFP *FPNaN = ConstantFP::get(*DAG.getContext(),
APFloat::getNaN(VT.getFltSemantics()));
MinMax = DAG.getSelect(DL, VT, DAG.getSetCC(DL, CCVT, LHS, RHS, ISD::SETUO),
DAG.getConstantFP(*FPNaN, DL, VT), MinMax, Flags);
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx0U9FuqzgQ_ZrhxSoyA4HkgQcKdTfaho2atNpXAw7xitgsdprmfv0VhqS9V7rSCGyPj-ccew43RrZKiBQWj7AoPH62Rz2klx_GXP_nXqWba7pWpOs-ToCskxUgy3UjnoUCZDvRidpKrYrsGZDt-dAK-6IvYpCq9eu-B1oAzeZvTOdwU0IAGSAj20H3vOVWEK6upOQl0QdSaXskuhcDV425AeSBAC4Bg_IBwqdWWNbx1rillX_kptQlL-c5AYzHmKATrMiefWn-VvqiSvEhhpKXgMvXv3Zuf5JDkpM_bntx26YgkDzeSBGSa2UsV5ZtCWDGtqMECItv6xBmEGatsI5HNhZohc21suJzWlsB5vOJ2ZZ1mts7Zir_vvedYLsTJ66srM0N5yL8xmcj1YZ_OgpzpemdAJfFC2BO3vfj956zeX5P5fmUdGpz8jr91rtiorN72r_98wvbLy03rU6iuwVX5V5xBM3cxtH8dt-oQ1L81ilek4bNKlxxT6RBgguMaRyhd0ybJgp4HdQYL7mok8UhXkZ4WARViOEyiBeeTJFiRFcUaUIjin5VJRUukpCuAox4EEFExYnLzh9b29dD60ljziINaLyK0Ot4JTrjXIGoxIW4LCCOJhnSEfRQnVsDEe2ksebrGCttJ9L1KxGfPVcNhBlhm3W53rxtABnbZP-6YZiRLb92mjdEGnKSxkjVjh3uOp8PYnSCdx669Ghtb8brd3ZppT2eK7_Wzo-zLUc2_aD_c4_MHFUDyGYtHyn-DAAA__86sB8Y">