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

Return f32 and f64 in XMM0 instead of FP0 on i686 #115919

Closed
wants to merge 2 commits into from

Commits on Oct 7, 2023

  1. Return f32 and f64 in XMM0 instead of FP0 on i686 Rust calling conven…

    …tion
    
    i686 already uses SSE2 to do calculations with f32 and f64, but the C
    calling convention uses the x87 stack to return values. The Rust calling
    convention does not need to do this, and LLVM makes it easy to use XMM0
    instead, which saves move instructions and fixes problems with NaN values.
    Günther Brammer committed Oct 7, 2023
    Configuration menu
    Copy the full SHA
    fed8bd1 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2023

  1. Enable usage of XMM0 per-target

    Activating SSE2 with -C target-feature doesn't change the Rust ABI anymore,
    while deactivating it still does.
    Günther Brammer committed Oct 8, 2023
    Configuration menu
    Copy the full SHA
    b7dfd48 View commit details
    Browse the repository at this point in the history