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: soft-float commit breaks Linux kernel build #30525

Closed
llvmbot opened this issue Nov 28, 2016 · 9 comments
Closed

PowerPC: soft-float commit breaks Linux kernel build #30525

llvmbot opened this issue Nov 28, 2016 · 9 comments
Labels
backend:PowerPC bugzilla Issues migrated from bugzilla wontfix Issue is real, but we can't or won't fix it. Not invalid

Comments

@llvmbot
Copy link
Collaborator

llvmbot commented Nov 28, 2016

Bugzilla Link 31177
Resolution WONTFIX
Resolved on Apr 12, 2021 19:51
Version trunk
OS Linux
Reporter LLVM Bugzilla Contributor
CC @hfinkel,@shenki,@nickdesaulniers,@nemanjai,@tstellar

Extended Description

The recent patch to enable soft-float support on PPC64 ("[PowerPC] Refactor soft-float support, and enable PPC64 soft float") has broken Linux kernel builds.

We want to avoid floating point in the kernel, but certain files want to be built with vectorisation. One example is arch/powerpc/lib/xor_vmx.c.

The command line on these files contains the somewhat convoluted:

-msoft-float -mno-altivec -mno-vsx -maltivec -mabi=altivec

There are only two files in the kernel that use altivec in C, so perhaps we can come up with a way to solve this in the kernel.

@hfinkel
Copy link
Collaborator

hfinkel commented Nov 28, 2016

These files use only integer vector operations, correct?

@llvmbot
Copy link
Collaborator Author

llvmbot commented Nov 30, 2016

Hi Hal, yes it is RAID5 and RAID6 code that just uses vec_xor, vec_and, vec_cmpgt.

@nemanjai
Copy link
Member

Can you elaborate a bit on what breaks and how it breaks? I am not certain from the description and comments so far whether we need to take any action in LLVM to fix the issue.

@hfinkel
Copy link
Collaborator

hfinkel commented Nov 30, 2016

Can you elaborate a bit on what breaks and how it breaks? I am not certain
from the description and comments so far whether we need to take any action
in LLVM to fix the issue.

We currently disable Altivec/VSX support when enabling soft-float. This is because our Altivec lowering promotes various operations to act on v4f32. I don't know why this was done, but I assume it was an arbitrary choice. We'd need to change these promotions (and the associated TableGen patterns, etc.) to work on, say, v4i32 instead. Then we can allow the (non-floating-point) vector instruction selection to proceed even when floating-point support is disabled.

@nickdesaulniers
Copy link
Member

Hello, this issue is blocking compiling the Linux kernel with Clang for ppc. Anything we can do to help move this along?

@nemanjai
Copy link
Member

It seems that this dropped off the radar. Is this still an issue? If not, can we close the PR?

@nemanjai
Copy link
Member

No comments on this for over 2 years other than me asking whether it is still a problem. Closing this as it is likely not a problem and if it is still an issue, please reopen and provide a reproducer.

@jsji
Copy link
Member

jsji commented Nov 27, 2021

mentioned in issue llvm/llvm-bugzilla-archive#38886

@jsji
Copy link
Member

jsji commented Nov 27, 2021

mentioned in issue llvm/llvm-bugzilla-archive#38887

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
@Quuxplusone Quuxplusone added the wontfix Issue is real, but we can't or won't fix it. Not invalid label Jan 20, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:PowerPC bugzilla Issues migrated from bugzilla wontfix Issue is real, but we can't or won't fix it. Not invalid
Projects
None yet
Development

No branches or pull requests

6 participants