alexcrichton opened PR #6216 from alexcrichton:x64-start-not-requiring-sse41
to bytecodealliance:main
:
This commit is the first of what is going to be a series of PRs to remove the SSE 4.1 requirement for SIMD support in the x64 backend. The number of instructions used from SSE 4.1 is pretty high which motivates the multiple-PRs approach rather than one big bang. This is on the tails of https://github.com/bytecodealliance/wasmtime/pull/6206 which lifted the SSE 4.2 requirement for the x64 backend.
This PR applies a minor refactoring to change the existing
use_sse41
extractor to apure constructor
instead to allow usage withif-let
which is a bit more natural for some of the lowering rules. Existing rules gated on SSE4.1 are then updated.Additionally this PR picks out two easy-to-avoid lowering rules by simply gating them on SSE4.1. If the rules aren't selected there's more general fallbacks already so it's ok to simply skip the lowering rule if SSE4.1 isn't available.
I'll note that these are the easiest of the SSE 4.1 lowerings, and future PRs will introduce new lowering rules which don't use SSE 4.1 instructions.
alexcrichton requested abrown for a review on PR #6216.
alexcrichton requested wasmtime-compiler-reviewers for a review on PR #6216.
abrown submitted PR review.
abrown merged PR #6216.
Last updated: Dec 23 2024 at 12:05 UTC