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

    <tr>
        <th>Summary</th>
        <td>
            roundeven support for arm32
        </td>
    </tr>

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

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

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

<pre>
    We've run into this issue in one of the Halide tests with the following error:

```
LLVM ERROR: Cannot select: t8: v4f32 = froundeven nnan ninf nsz contract afn reassoc t7
```

Isolated test case:

```
target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "arm--linux-gnueabihf"

declare <4 x float> @llvm.roundeven.v4f32(<4 x float>)
declare ptr @blah(<4 x float>)

define void @foo() {
entry:
  %v0 = tail call reassoc nnan ninf nsz contract afn <4 x float> @llvm.roundeven.v4f32(<4 x float> poison)
  %out = tail call ptr @blah(<4 x float> %v0)
  ret void
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycU9FuozoQ_RrzMiIiNgTywEPaNLpX6tWVutLu8wBD8NaxkT3Qdr9-hdOk29UqDyuhAaw5M2fO-GAI-miJalHciWKf4MSD8_X8HOxz0rjurf5GQpYzgZ8saMsOeNABdAgTgbbgLIHrgQeCf9DojoApcIAXzUM87Z0x7kXbI5D3zgu1E9leZJe4yd6f-Pv4-PU_eHh6-v9JqB3co7WOIZChlpcDrpY4572SINQeeu8m29FMFqxFC1bbHmz4Aa2z7LFlwN6CJwzBtcDlH3ue47_BGWTqIn1oMdBtpoz-SAwdMhp8cxNHQkJKSk9C7SgdhdopGUN60FWqN7lQu02ezmtZxS-hdmtZpSjULjvnWSXTL5tcSPmpCXs9Gro0QH9KU6Pt9Joe7UTY6KG_Is6xo9agXxD3ObxCbxyyUA8g8syY-bS6yraKWoqF0KdMIbefK43sF3RjcLiRfcH02hLMTncLpndugcgtiPLunEGW_dtVXwAhizmL8zFqAy0ac93ajcX-9XgwOh2cvfKODC47_KBwc-gz6V9KeOI487sU5f63e5N0teq2aosJ1esyW69lqcoiGeqsa4ha1W87wrbLt6iypiqroiDcUIdFomuZSbUApJKyKFYoy6Lqyu26WpNqNyjyjE6ozSqO7_wxif6sS1VUVWKwIROiw6W09HI273Jlin3i6wWTNtMxLPLpwOGjCms2VH-YLEzj6DxD7zygPymZTN7UA_MYlm3Kg5CHo-ZhalatOwl5WCq9v9LRu--Lj-Uh9g9CHiK_nwEAAP__jBpYXw">