<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Suboptimal across lane float min/max reduction"
href="https://llvm.org/bugs/show_bug.cgi?id=25146">25146</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Suboptimal across lane float min/max reduction
</td>
</tr>
<tr>
<th>Product</th>
<td>libraries
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Backend: AArch64
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>charlesturner7c5@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=15056" name="attach_15056" title="LLVM function showing missed opportunity.">attachment 15056</a> <a href="attachment.cgi?id=15056&action=edit" title="LLVM function showing missed opportunity.">[details]</a></span>
LLVM function showing missed opportunity.
For the attached test case, I'm seeing codegen with some room for improvement.
oversized_f_fmaxvec: // @oversized_f_fmaxvec
.cfi_startproc
// BB#0:
ldp q0, q1, [x0, #32]
ldp q3, q2, [x0]
fmaxnm v4.4s, v0.4s, v0.4s
fmaxnm v5.4s, v1.4s, v0.4s
fmaxnm v1.4s, v2.4s, v1.4s
fmaxnm v0.4s, v3.4s, v0.4s
fmaxnm v0.4s, v0.4s, v1.4s
fmaxnm v1.4s, v1.4s, v0.4s
fmaxnm v2.4s, v5.4s, v0.4s
fmaxnm v3.4s, v4.4s, v0.4s
ext v4.16b, v0.16b, v0.16b, #8
fmaxnm v3.4s, v3.4s, v0.4s
fmaxnm v2.4s, v2.4s, v0.4s
fmaxnm v1.4s, v1.4s, v0.4s
fmaxnm v0.4s, v0.4s, v4.4s
fcmge v1.4s, v1.4s, v0.4s
fcmge v2.4s, v2.4s, v0.4s
fcmge v3.4s, v3.4s, v0.4s
dup v4.4s, v0.s[1]
xtn v1.4h, v1.4s
xtn v2.4h, v2.4s
xtn v3.4h, v3.4s
fcmge v4.4s, v0.4s, v4.4s
uzp1 v2.8b, v3.8b, v2.8b
xtn v3.4h, v4.4s
shl v2.8b, v2.8b, #7
uzp1 v1.8b, v3.8b, v1.8b
sshr v2.8b, v2.8b, #7
shl v1.8b, v1.8b, #7
sshr v1.8b, v1.8b, #7
ins v1.d[1], v2.d[0]
shl v1.16b, v1.16b, #7
sshr v1.16b, v1.16b, #7
umov w8, v1.b[0]
mov s1, v0.s[1]
tst w8, #0x1
fcsel s0, s0, s1, ne
ret
I expect to see the FMAXNMV used here instead. I think r249834 was moving in
this direction.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>