Skip to content

win64 generates SSE instructions even when they are disabled with -sse #36653

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

Closed
AndrewScull opened this issue Sep 22, 2016 · 4 comments
Closed
Labels
A-codegen Area: Code generation A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-bug Category: This is a bug.

Comments

@AndrewScull
Copy link
Contributor

Following the advice of rust-lang/rfcs#1364, I tried to avoid using SSE instructions by disabling MMX and SSE, and enabling soft-float with the features field of my tagert "features": "-mmx,-sse,+soft-float". However, when using an extern "win64" function for my UEFI entry point, movaps instructions are still generated to save and restore the xmm6-15 registers.

I have put together a minimal example to demonstate the problem.

@nagisa
Copy link
Member

nagisa commented Sep 23, 2016

@nagisa
Copy link
Member

nagisa commented Sep 30, 2016

Fixed in LLVM by r282819.

@Mark-Simulacrum Mark-Simulacrum added C-bug Category: This is a bug. A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. labels Jul 26, 2017
@Mark-Simulacrum
Copy link
Member

I'm going to assume we've already backported/migrated to an LLVM with that patch; can someone verify that this is fixed?

@alexcrichton
Copy link
Member

We I believe have long since updated LLVM, so closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-codegen Area: Code generation A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. C-bug Category: This is a bug.
Projects
None yet
Development

No branches or pull requests

5 participants