<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/89278>89278</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Codegen failure for `llvm.{min,max}imum(fp128, fp128)`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
kparzysz
</td>
</tr>
</table>
<pre>
Follow-up to issue https://github.com/llvm/llvm-project/issues/87955.
Two testcases:
```
define fp128 @minf(fp128 %a, fp128 %b) {
%v0 = call fp128 @llvm.minimum(fp128 %a, fp128 %b)
ret fp128 %v0
}
```
and
```
define fp128 @maxf(fp128 %a, fp128 %b) {
%v0 = call fp128 @llvm.maximum(fp128 %a, fp128 %b)
ret fp128 %v0
}
```
Both fail with "cannot select" with triple aarch64-unknown-linux-gnu:
```
$ llc -mtriple aarch64-unknown-linux-gnu < minf.ll
.text
.file "<stdin>"
LLVM ERROR: Cannot select: t5: f128 = fminimum t2, t4
t2: f128,ch = CopyFromReg t0, Register:f128 %0
t1: f128 = Register %0
t4: f128,ch = CopyFromReg t0, Register:f128 %1
t3: f128 = Register %1
In function: minf
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0VEFv8zYM_TX0hUggU3ZkH3xInC_AgA4DgmF3xZZtrbIUWHKT9tcPdpImHbqu2PAFgQxKT4-kyEfpvW6tUgWkG0i3kRxD54bi-SiHt1f_Fh1c_VrsnDHutBiPGBxq70eFXQhHD3wNtAPatTp042FZuR5oZ8zL7bM4Du5PVQWg3XzNA-0ykafpEtgW2Pqy_n5yGJQPlfRq5rycrdj1P5u1arRV2BxjyhAS1mvbAGVXm1IJVOK7dQDKEcTmchenrReGwLdYSWPuLFOQy15b3Y_912w3pkGF-8HLNTgQ20-Dlrb-XjLy_P1kvs5Fnn9SLpd140KHjdQGTzp0CESVtNYF9MrMhabLQRj00SiUcqi6VbIY7bN1J7sw2o7nRWvHe5k_9UUJGlPhov83HgRe4tQLS2MeCfH6WwZ1Dn_barRRU-TASx9qbYH_mKwZ9PT0x6_4Y7__bQ98jeWH3PgaQzqtzfxkfIvNtXUw0PTIIbl5CnTDAZVVN4NLd3zdDa7fqxYDm_B71Wof1AB83VyrwO6xhviDrxv4ERWS_-gmfnDD_9HNFfWLxWa0VdDOTtBZeZ9VLaoLXuc8l5EqYhHzZEWMRNQVjCmRsVwknGTN4zRhiqqYsYpWVdLkdaQLYpSwJM5ikTASy0PVCJHzlGUHwVaCQ8JUL7VZzk3uhjaa50mR5SSyyMiDMn4eYURWnS4zaqppuo2GYp5Eh7H1k0i0D_7OEnQwqihdrVpl574eB4WNGxBWF0GB2PTaApW9PIPYPorrXVeTpFYsGgdT_I-5OKXyVwAAAP__lW-N8A">