aboutsummaryrefslogtreecommitdiff
path: root/clang/lib
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2020-07-04 13:54:30 +0100
committerSimon Pilgrim <llvm-dev@redking.me.uk>2020-07-04 13:54:30 +0100
commit71f342d6c3d82fa45c180f1981710bb6092d39fc (patch)
treea688cb0d930ee6c98d9216db876c184eb6accfed /clang/lib
parent07d4d84676a94741a226e254a1d536db99c7dac0 (diff)
downloadllvm-71f342d6c3d82fa45c180f1981710bb6092d39fc.zip
llvm-71f342d6c3d82fa45c180f1981710bb6092d39fc.tar.gz
llvm-71f342d6c3d82fa45c180f1981710bb6092d39fc.tar.bz2
[X86][AVX] Fold PACK(LOSUBVECTOR(SHUFFLE(X)),HISUBVECTOR(SHUFFLE(X))) -> SHUFFLE(PACK(LOSUBVECTOR(X),HISUBVECTOR(X)))
Using PACK for truncations leaves us with intermediate shuffles that can be tricky to remove while the truncation tree is being formed. This fold helps pull out the PERMQ case which is one of the most common, avoiding some costly lane-crossing shuffles. A future patch will begin adding more general shuffle folding, which we should be able to use for HADD/HSUB as well.
Diffstat (limited to 'clang/lib')
0 files changed, 0 insertions, 0 deletions