/
CT_00_050 -- Improve x264 vectorization
CT_00_050 -- Improve x264 vectorization
About
x264 is a critical benchmark for vectorization in the spec suite showing a roughly 2X improvement across many archtiectures once vector is enabled. This work item is mean to track further improvements that may be possible in the benchmark through compiler improvements.
- SAD optimization
- Shorter SADs (sad_x3_8x8) can benefit from strided loads
- SATD
- Use strided loads to avoid permutations in the first SATD loop
- Revisit profitability from deriving permutation constants from each other using vadd.vi may not be needed anymore
- Use wider vectors in the 2nd loop. Smart unrolling seems to be the key here
- vaaddu
- Designs which flush pipeline on VXRM assignment may be better off using (a + b + 1) >> 1
- Implies expander should probably be conditional on a suitable uarch flag
- Designs with good vxrm behavior could probably be using vaaddu more
- Revisit conservative vsetvl elimination
- Jeff's patch is a reasonable start
- Needs to be re-benchmarked
- Rather than swapping elements, shift them in the array to perturb the schedule less
- May want some degree of freedom, particularly if uarch doesn't handle vsetvl efficiently.
Stakeholders/Partners
RISE:
Ventana: Robin Dapp – Cost model, permutation improvements, etc. Overall lead
Ventana: Jeff Law – everything scheduling related
External:
Dependencies
Status
Updates
- Project reported as a priority for 1H2025, broken out from original effort
, multiple selections available,
Related content
CT_00_036 -- Improve bset/bclr/binv/bext with variable bit offset
CT_00_036 -- Improve bset/bclr/binv/bext with variable bit offset
Read with this
CT_00_051 -- Zicond with if-conversion improvements (GCC)
CT_00_051 -- Zicond with if-conversion improvements (GCC)
Read with this
2024-2H - Compilers and Toolchains Priorities
2024-2H - Compilers and Toolchains Priorities
Read with this
2025-1H - Compilers and Toolchains Priorities
2025-1H - Compilers and Toolchains Priorities
Read with this
Office Hours Agenda Items
Office Hours Agenda Items
Read with this