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

Outsmart the LLVM optimizer #8073

Merged
merged 1 commit into from
Feb 7, 2024
Merged

Outsmart the LLVM optimizer #8073

merged 1 commit into from
Feb 7, 2024

Commits on Feb 7, 2024

  1. Outsmart the LLVM optimizer

    The old definitions of bool_1, bool_2, bool_3 in simd_op_check_x86 (etc) all referred to the same entry in in_f32; as of llvm/llvm-project#76367, the LLVM optimizer is smart enough to realize that (eg) bool1 != bool2 by construction, and optimizes away the code that tests their conditions, such as the one for andps and orps. Initing them from different locations is enough to outsmart the compiler.
    
    (bug was only noticed in the x86 test, but I updated the other tests to guard against future improvements there too.)
    steven-johnson committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    df0033e View commit details
    Browse the repository at this point in the history