The only sched models that for cpu's that support avx2
but not avx512 are: haswell, broadwell, skylake, zen1-3
Identical to VF=2.
For load we have:
https://godbolt.org/z/sGE41GYo7 - for intels Block RThroughput: =2.0; for ryzens, Block RThroughput: <=1.0
So pick cost of 2.
For store we have:
https://godbolt.org/z/ba5r3s9xa - for intels Block RThroughput: =1.0; for ryzens, Block RThroughput: <=0.5
So pick cost of 1.
I'm directly using the shuffling asm the llc produced,
without any manual fixups that may be needed
to ensure sequential execution.
clang-format: please reformat the code
- {2, MVT::v2i8, 2}, // (load 4i8 and) deinterleave into 2 x 2i8 - {2, MVT::v4i8, 2}, // (load 8i8 and) deinterleave into 2 x 4i8 + {2, MVT::v2i8, 2}, // (load 4i8 and) deinterleave into 2 x 2i8 + {2, MVT::v4i8, 2}, // (load 8i8 and) deinterleave into 2 x 4i8