Skip to content

roundeven support for arm32 #73588

Open
Open
@vksnk

Description

@vksnk

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
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions