The shuffle mask decodes have a large amount of repeated code extracting/splitting mask values from Constant data. This patch pulls all of this duplicated code into a single helper function to identify undef elements and combine/split constant integer data into the requested shuffle mask elements. Updated PSHUFB/VPERMIL/VPERMIL2/VPPERM decoders to use it (VPERMV/VPERMV3 could be converted as well in the future). llvm-svn: 282720
Description
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
Languages
LLVM
42.4%
C++
30.1%
C
12.8%
Assembly
9.8%
MLIR
1.6%
Other
2.9%