[x] A short description of what this does, why it is needed:
The Wasm SIMD spec added integer min/max instructions. For x86 codegen, Cranelift already had encodings for the instructions to emit (e.g. x86_pmins) but did not have shared instructions with which to translate the Wasm integer min/max. This change adds [i|u]min and [i|u]max to do just that and legalizes these new Cranelift instructions to the pre-existing x86 instructions. At some point we could remove the x86 instructions entirely and attach their encodings directly on [i|u]min and [i|u]max.
[x] This PR contains test cases, if meaningful.
[x] A reviewer from the core maintainer team has been assigned for this PR.
x86_pmins
) but did not have shared instructions with which to translate the Wasm integer min/max. This change adds[i|u]min
and[i|u]max
to do just that and legalizes these new Cranelift instructions to the pre-existing x86 instructions. At some point we could remove the x86 instructions entirely and attach their encodings directly on[i|u]min
and[i|u]max
.