afonso360 opened PR #6876 from afonso360:riscv-bitselect-opt
to bytecodealliance:main
:
:wave: Hey,
This is a followup to #6874 where it removed
f{min,max}_pseudo
and replaced it withbitselect+fcmp
. Here we optimize that pattern into a mask generation instruction andvmerge.vvm
that merges both inputs.This allows us to avoid the quite long sequence for bitselect (4 instructions) and also mask expansion (1 instruction) in these patterns.
afonso360 requested wasmtime-compiler-reviewers for a review on PR #6876.
afonso360 requested jameysharp for a review on PR #6876.
afonso360 edited PR #6876:
:wave: Hey,
This is a followup to #6874 where
f{min,max}_pseudo
was removed and replaced it withbitselect+fcmp
. Here we optimize that pattern into a mask generation instruction andvmerge.vvm
that merges both inputs.This allows us to avoid the quite long sequence for bitselect (4 instructions) and also mask expansion (1 instruction) in these patterns.
afonso360 edited PR #6876:
:wave: Hey,
This is a followup to #6874 where
f{min,max}_pseudo
was removed and replaced it withbitselect+fcmp
. Here we optimize that pattern into a mask generation instruction andvmerge.vvm
that merges both inputs.This allows us to avoid the quite long sequence for bitselect (4 instructions) and also mask expansion (1 instruction) in these patterns.
For tests here I'm relying mostly on wasmtimes wast testsuite.
afonso360 edited PR #6876:
:wave: Hey,
This is a followup to #6874 where
f{min,max}_pseudo
was removed and replaced it withbitselect+fcmp
. Here we optimize that pattern into a mask generation instruction andvmerge.vvm
that merges both inputs.This allows us to avoid the quite long sequence for bitselect (4 instructions) and also vector mask expansion (1 instruction) in these patterns.
For tests here I'm relying mostly on wasmtimes wast testsuite.
Last updated: Dec 23 2024 at 12:05 UTC