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

    <tr>
        <th>Summary</th>
        <td>
            [DAGCombine] ICE in combineMinNumMaxNum(...)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    65420c8041f4 introduced an ICE in combineMinNumMaxNum(...) when combineMinNumMaxNumImpl(...) returns an SDValue(). 

Reproducer is:

```
[scrubbed]$ cat test.ll
define float @test_combinemaxnum(float %sub) #0 {
L.entry:
 %maxnum1 = call float @llvm.maxnum.f32(float 0.000000e+00, float 0.000000e+00)
  br label %L.LB21_850

L.LB21_850:
  %neg1 = fneg fast float %maxnum1
  %neg2 = fneg fast float %sub
  %mask = fcmp fast ule float %maxnum1, %neg2
  %maxnum2 = select i1 %mask, float %neg1, float %sub
  ret float %maxnum2
}

declare dso_local float @llvm.maxnum.f32(float, float)

attributes #0 = { "no-nans-fp-math"="true" "no-signed-zeros-fp-math"="true" }
[scrubbed]$ llc test.ll
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: llc test.ll
1.      Running pass 'Function Pass Manager' on module 'test.ll'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@test_combinemaxnum'
 #0 0x00005582e44b7088 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (scrubbed/bin/llc+0x1999088)
 #1 0x00005582e44b4ffe llvm::sys::RunSignalHandlers() (scrubbed/bin/llc+0x1996ffe)
 #2 0x00005582e44b781d SignalHandler(int) Signals.cpp:0:0
 #3 0x0000150233b15b20 __restore_rt sigaction.c:0:0
 #4 0x00005582e42f74a8 llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc const&, llvm::EVT, llvm::SDValue, llvm::SDNodeFlags) (scrubbed/bin/llc+0x17d94a8)
 #5 0x00005582e422970f (anonymous namespace)::DAGCombiner::combineMinNumMaxNum(llvm::SDLoc const&, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::ISD::CondCode) DAGCombiner.cpp:0:0
 #6 0x00005582e41dce5a (anonymous namespace)::DAGCombiner::visitSELECT(llvm::SDNode*) DAGCombiner.cpp:0:0
 #7 0x00005582e41c42bc (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) DAGCombiner.cpp:0:0
 #8 0x00005582e41c10b3 llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::AAResults*, llvm::CodeGenOpt::Level) (scrubbed/bin/llc+0x16a30b3)
 #9 0x00005582e4326a7e llvm::SelectionDAGISel::CodeGenAndEmitDAG() (scrubbed/bin/llc+0x1808a7e)
#10 0x00005582e4326407 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (scrubbed/bin/llc+0x1808407)
#11 0x00005582e432416f llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (scrubbed/bin/llc+0x180616f)
#12 0x00005582e34a113f (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) X86ISelDAGToDAG.cpp:0:0
#13 0x00005582e3a840af llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (scrubbed/bin/llc+0xf660af)
#14 0x00005582e3e76aee llvm::FPPassManager::runOnFunction(llvm::Function&) (scrubbed/bin/llc+0x1358aee)
#15 0x00005582e3e7dd83 llvm::FPPassManager::runOnModule(llvm::Module&) (scrubbed/bin/llc+0x135fd83)
#16 0x00005582e3e7770d llvm::legacy::PassManagerImpl::run(llvm::Module&) (scrubbed/bin/llc+0x135970d)
#17 0x00005582e309ebfa main (scrubbed/bin/llc+0x580bfa)
#18 0x0000150232dbc493 __libc_start_main (/lib64/libc.so.6+0x23493)
#19 0x00005582e3099c1e _start (scrubbed/bin/llc+0x57bc1e)
Segmentation fault (core dumped)
```

There's currently a patch out for review (D144571) to correct this ICE, but filing an issue so that it can be backported to the release/16.x branch.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysWEtv27oS_jXMhohAUe-FF44d5wZIe4I6OOjOGFEjm7cUZZBUm9xff0FJfshJm5yeFo1sD4fffPPgYwTWyq1GnJHkhnDeCKlBqRfCOUmWV9C5XWtmB-lV2VYvszSJORM5i8M6plI701adwIqCpveLWyo1FW1TSo2fpP7cNZ_g-XPXEJ4HQUB4QX_s8E2N-2avTloGXWe09aDr5d-gOiQ8J7wIKGFLwubD8wvuB-uGSkui-fkYSdn4f_iZ3FhhurLEiiRLwmMqwFGH1gVKDSoV1lIjrVULjpKY-cHNyLSBZ917MY7yxHalJ0p4xCjJbgaIhwC1My9HKl5xmBpSEi2pAKVOBpT63gTDcFBH_IjOAtb_Q8JvGCN8Qd-WF6MRWhqqoETlzT0EDzc83OQJO4_GmfTIzWtr3A7Mao1bWoN19OjhSHyqzX-m7eNx0mzAfhs0RbMfNDuFr7H54oA7mewHB0sWFQpHZXhAPYVjpD8RnLEw-MqX0QjJluexqVAoMEgr225UK-D9DB1NHnMwPME5I8vOoR3rIlr62qCEc91ea9D2ut5fN-B2foFFS8K5M760-ajSL8bq-n9o2l-oHum_qmmlxLSmHx9u5-tbaruykY4CLbstNbhvjaOupTvn9v264SvCV1vpdl0ZiLYhfOU9Hz-u96b9LwpH-Epa26ElfEVBV1RqoboKqdshFQbsjpYgvjkDAoPB_NqB-Earrtkfy44FhBWPpt0aaCiYbdegdp7Ea_KhV_3SaS31lu7B-qhmq04LJ1tNH73gE2jYoiE8o62mTVv5KiM8O-DwbGTC38L6mqd0Ob-7JtHtcn5H77V1phvQ133dyVaP0PXBLOHZT_aG7LjmI0bZs1-pSZJzjOMyY3lO-5BGcxLN7YsdvjwaqV0fpCcfNcLzk5KBH5vWOoPQEJ76kpPaDVtOfkw7X5VS93kSflN4DouiYHl-2hsIj8ILMnFd41tkvnR6Lbca1H9AVwqNHbbc9-yldY0Te_zS-Tys6ASZ8Hz0ZRDbQOx9hbD-7wgUjUBhwngUlWFSckY3G4PWtQY3xlErt9CnJRCvp8cTHrzOYjhPwjHDy_ndINmi-9xWPgudHlbiEPLF-azlQyuoaLV1Y1ZOY7d_P10qj0fXVOiNrBRs7bvRzaoihmk2k6lXvMhY7UFAt_qlaTtLNTRo9305FYPJ5fxuMdSqGQRvn9B_1st_JbxfL4cvi1ZXiz4pBT1z4-2CSSexCSuBCfzj2HyXVrr17cPt4ukiJkNxzD9EJZtSETEvxe-m6V_QyC9ohKyMfrkGFm-YHGUP-B3VNE3z-Re0nXK253M-4nN2h_qvvRt-j5PfqfcUIlZGk3ovJh5EPIUMf-LB_RrVxPpcV7eNdN65D2xlOcshO21lfudkl8Zjlr1rfJDOlboBK8WNasU3O4nn8Qg7LbD3qcUsm1ALL6jFYVq_S810-i_9CcROajywmFB7NfYRbmmY1hNukxMgiiEMo3f3qK95upzfPbV_gu_XPPUYB7zXS8OTjCYkIY8ZnAfwAtnfNs44vUnmH0StTlMG06BNjqsIsxTwvNBXj57C4b7z55iEUZIDTss-uaBSVXn0ASqf-uvXND-j6CM06iqPJjTSCxpZxqozGgq3IF7Gi9SJUN9IHkj9NpkiY9WEzGRDj1iBZQ20Aal_iZTkrKxhApSf32p4VYq4iOhmo2QpNtaBcZsDqseRZRoPnyKwbZD2qDyKi2moigt2hQiRDnC_5peVIjwlf41bfx2HfneqoVP9bNH67qhr9ngWkov2un8-7dAg4ZmlojMGtVMvFOgenNjRtnO0bg01-F3iDw-7DOM4yUKfDNdS0RrjOz23k5beL279cVL6OVL5Kzto2jcf1LbU7cBR6agATUvsmw7f0WDlcXwzYlAhWCR8FabBMy0NaLELrqpZVBVRAVc4C9MsY0VYROHVblblwAEjziOI4jgp4gKLEtIijhhPK86v5IwzHjHOeZgnPAyDSIgijqEEUUEskJGYYQNSBX3D2JrtVU92lrKCx1d9b27HVywafwyejO9YzKzvscpua33DKa2zJxQnnerfzZwOepIsP_Ke5aozavb7_V1P_P8BAAD__x60XV4">