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

    <tr>
        <th>Summary</th>
        <td>
            [PowerPC] Cannot select llvm.{min,max}imum.{f32,f64}
        </td>
    </tr>

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

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

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

<pre>
    It seems that none of these intrinsics are currently working on PowerPC:

- llvm.minimum.f32
- llvm.minimum.f64
- llvm.maximum.f32
- llvm.maximum.f64

Error output [\[godbolt\]](https://godbolt.org/z/cMzhbYKjG):
```
LLVM ERROR: Cannot select: 0x71ba4c0: f32 = fmaximum 0x71ba370, 0x71ba450
 0x71ba370: f32,ch = CopyFromReg 0x714d030, Register:f32 %0
    0x71ba300: f32 = Register %0
  0x71ba450: f32,ch = CopyFromReg 0x714d030, Register:f32 %1
    0x71ba3e0: f32 = Register %1
In function: _ZN1a4test17hb60f9f6975710eeaE
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /opt/compiler-explorer/clang-trunk/bin/llc -o /app/output.s -x86-asm-syntax=intel <source>
1.      Running pass 'Function Pass Manager' on module '<source>'.
2.      Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@_ZN1a4test17hb60f9f6975710eeaE'
 #0 0x0000000003066278 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-trunk/bin/llc+0x3066278)
 #1 0x0000000003063e3c SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fda056b9420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #3 0x00007fda0517c00b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
 #4 0x00007fda0515b859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
 #5 0x000000000069cfa2 llvm::RISCVISAInfo::updateImplication() (.cold) RISCVISAInfo.cpp:0:0
 #6 0x0000000002e4f044 llvm::SelectionDAGISel::CannotYetSelect(llvm::SDNode*) (/opt/compiler-explorer/clang-trunk/bin/llc+0x2e4f044)
 #7 0x0000000002e546d5 llvm::SelectionDAGISel::SelectCodeCommon(llvm::SDNode*, unsigned char const*, unsigned int) (/opt/compiler-explorer/clang-trunk/bin/llc+0x2e546d5)
 #8 0x0000000001558153 (anonymous namespace)::PPCDAGToDAGISel::Select(llvm::SDNode*) PPCISelDAGToDAG.cpp:0:0
 #9 0x0000000002e4c6a7 llvm::SelectionDAGISel::DoInstructionSelection() (/opt/compiler-explorer/clang-trunk/bin/llc+0x2e4c6a7)
#10 0x0000000002e58f65 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/opt/compiler-explorer/clang-trunk/bin/llc+0x2e58f65)
#11 0x0000000002e5b9b9 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x2e5b9b9)
#12 0x0000000002e5e086 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (.part.0) SelectionDAGISel.cpp:0:0
#13 0x000000000155ebf7 (anonymous namespace)::PPCDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) PPCISelDAGToDAG.cpp:0:0
#14 0x0000000002443820 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#15 0x00000000029263f2 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x29263f2)
#16 0x0000000002926571 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x2926571)
#17 0x00000000029280e0 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x29280e0)
#18 0x0000000000766170 compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#19 0x00000000006a7ce2 main (/opt/compiler-explorer/clang-trunk/bin/llc+0x6a7ce2)
#20 0x00007fda0515d083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#21 0x000000000075e0be _start (/opt/compiler-explorer/clang-trunk/bin/llc+0x75e0be)
```

Similar to https://github.com/llvm/llvm-project/issues/53353 which was for x86_64
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0mN1y4jgWx59G3KigZMmW7QsuCIRsajszVJidqtkbSpZlo44tuSR5Q_rpt2Qbgml6k00yXTTB-jjnp3P--rCYtbJUQsxBdAOi1YS1bq_N_F-mZO0k0_nL_N5BK0RtodszB5VWAuoCur2wAkrljFRWcguZEZC3xgjlqhf4rM2TVCXUCm70szCbJSALgFYADd9TWFX_qWe1VLJu61lB8PVyGo7L2eF6-2P5sX3_fWuMNlC3rmkd7Ea4BNFNqfNMV657WPkPTvbONdYj4jXA66HBTJsS4PUPgNf84cc---uf3-8ATl9HQtHw6R6_ffvzAd4-Pv7-CMgCLplS2oeuEtz5AnSIg4yFHPmHgmAIyAoWA_hQS2IE8PLYNBoMn1X2XQFe8n3Xf6mbl7XR9aMou1Zhjkhn4lGU0jphAFl0vvDJGIRHe2iEcuwxavtK8gnPwU-exS89D23vFSxaxZ3Uyrfc_fu3gIVOWBfE-4yiIi1oGkdxgIRgt32XzbfbxfYW2jarpYMMZm0JjWi0cdBpeJFg6fZtNuO6BnjtBTT8mTZGf_f5wmtpbSsswGvIVA6l4lWbCy97yA2ze5gx_uQM42LWu986xp9g3tbNSR9oBlC6Mbo0rIbMlG0tlPMQEOC1brwXrutGVsJMxaGptBHGl1VMlVNnWvUE8DqTqoPjcKp9P9Y0vncn6ZmF00NCp8zWU_uiHDsAspLKiQoCsrS6NVwAMsQn8DSPrVJ-XjbMWghwvB6CDDe-4IEpVnqG2E_cWudtJXyrkTEcDyPG1wwOsx2uFndTQG5Xizu4Yc4Jo-C9ss60vbttNy18dntfx2R33kL0Rr5xPCgKYIIgOqDjP4IoxXHSrQk-DWRhX2z_Y2Okcl2S_vBZAzh5bWTY805bZwSrAaZexFI5gFMIcPKRVAF8gw4Di18wTrDBBSwRhMOtLBWr_sFUXnmjyeC7L7Yz3nhFoe7_yRAeDMVFzlBEszTECO52RlinjdgZN6BXMgN4fUjojobTSqr2MC1V21c0bm8Ey2dWz1BHHIQhRiNeMnITxByhDBomrXiHfe4t085ySBDKRpbDseUoS6IUsky_i_zMMsZJlI4sR-cxRjTlBcNngni83y7_vN8u7lWh-5K2yZkT93VTSc56TSZD8mdcV7n_fd7rekbouVsswgKF4Znbk-BXi7v7raj60n6T-Eu4vnokyu3qN50LgBefFeIAMwpSPKaNQppHb9L2pUudi6Wu6y5OV3GXsFXdqSKHfM8M5FpZd1nzBTNs4B4NLDkfWBBFSRAR74QprV5q3VqoWC1s0y0B6bA0bJarxd0f-spgf52RzWbpGx87XhdFeiEKTln8ZphX-mylPFsoky8Qggc4xcsvSOhCCElB3xaCl8CdUAuV39bSrRZ3XwLX-R7BBRdwWZql71TpoqpumJX8ptL8yY7SeNrzBl3SL0D3ZCN0fIEuUELfRDet-l09ML6XShwpR-g_1R3ZZw0zzi_jKbw0_bMyPR-5mCciK-IPzZMPMr85fTxkOApiGJIEI_hLy_4Ic8Z0FeZ_Ru6Kvetcoy0Gp5iS4nyLWW981-Nh6v8m-rgOe5KRDuklahQH70B96M5-4zwORV-CGcXBCDO-wEyQOM90JUrGXwYVvgL7PfsE_bfBepYR7GiPQTGlQYzgYPgUOL_zdVtFt-29kvm3xKVWThyOS09V8esyS8cnGRZzgWHNpPrUiHo75wPC6OIwlqOEwN3On7R21jHjdmde33swC1FCRl6CcdgigTIBe_ufGlBv6dXV-K18eDuTtayY-dybYERIRODzXvI9fGYWFtrAPg6TfE7ylKRsIuYBTVFEaUSiyX6eFmmEMA5YSHORssBP0KQoSIFpRou4mMg5RpigGCdBHCZRNMNxQlma8CiLuBAhASESNZPVrLvn0KacdDxzGmKUTiqWicp2lzcYK_EMu0qAMYhWEzPvRpK1pQUhqqR19tWKk67qbn2O9zPRanxn0V-sgPim9tFe1uwA4lV3yQLim_4qoKAhiFeT1lTzj0e1G8h_AwAA__-M0oEr">