Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PowerPC] fatal error: error in backend: Cannot select: t35: v4f32 = froundeven t34 #121390

Open
pkubaj opened this issue Dec 31, 2024 · 1 comment
Labels
backend:PowerPC crash Prefer [crash-on-valid] or [crash-on-invalid] llvm:SelectionDAG SelectionDAGISel as well

Comments

@pkubaj
Copy link
Contributor

pkubaj commented Dec 31, 2024

LLVM 20.0.d20241215
FreeBSD 14.2-RELEASE
powerpc64, powerpc64le

Reproducer:

float f32 __attribute__((__vector_size__(16)));
void simde_m128_from_private(float f32 __attribute__((__vector_size__(16))));
void simde_x_mm_round_ps() {
  f32[2] = __builtin_roundevenf(f32[2]);
  f32[3] = __builtin_roundevenf(f32[3]);
  simde_m128_from_private(f32);
}

Compile with:

clang++-devel -cc1 -triple powerpc64le-unknown-freebsd14.2 -emit-obj -target-cpu ppc64le -O2 -vectorize-slp FGA_sse41-af262d.cpp
@EugeneZelenko EugeneZelenko added backend:PowerPC crash Prefer [crash-on-valid] or [crash-on-invalid] llvm:SelectionDAG SelectionDAGISel as well and removed new issue labels Dec 31, 2024
@llvmbot
Copy link
Member

llvmbot commented Dec 31, 2024

@llvm/issue-subscribers-backend-powerpc

Author: Piotr Kubaj (pkubaj)

LLVM 20.0.d20241215 FreeBSD 14.2-RELEASE powerpc64, powerpc64le

Reproducer:

typedef struct {
  float f32 __attribute__((__vector_size__(16)));
} simde_m128_private;
void simde_m128_from_private(simde_m128_private);
simde_m128_private simde_x_mm_round_ps_a_;
void simde_x_mm_round_ps() {
  simde_m128_private r_;
  r_.f32[2] = __builtin_roundevenf(simde_x_mm_round_ps_a_.f32[2]);
  r_.f32[3] = __builtin_roundevenf(simde_x_mm_round_ps_a_.f32[3]);
  simde_m128_from_private(r_);
}

Compile with:

clang++-devel -cc1 -triple powerpc64le-unknown-freebsd14.2 -emit-obj -target-cpu ppc64le -O2 -vectorize-slp FGA_sse41-af262d.cpp

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:PowerPC crash Prefer [crash-on-valid] or [crash-on-invalid] llvm:SelectionDAG SelectionDAGISel as well
Projects
None yet
Development

No branches or pull requests

3 participants