[all-commits] [llvm/llvm-project] 3079e5: [X86][SSE] Generalize shuffle(HORIZOP, HORIZOP) -> ...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Sun Apr 5 04:10:16 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 3079e518589ca9a1b1b2eb20bd8abb80c32ba5ec
https://github.com/llvm/llvm-project/commit/3079e518589ca9a1b1b2eb20bd8abb80c32ba5ec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-04-05 (Sun, 05 Apr 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bitcast-and-setcc-512.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/vector-trunc.ll
Log Message:
-----------
[X86][SSE] Generalize shuffle(HORIZOP,HORIZOP) -> HORIZOP combine
Our existing combine allows to merge the shuffle of 2 similar 64-bit wide 'horizontal ops' (HADD/PACK/etc.) if the shuffle was a UNPCK/MOVSD.
This patch generalizes this to decode any target shuffle mask that can be widened to a 128-bit repeating v2*64 mask, which helps us catch PBLENDW/PBLENDD cases.
More information about the All-commits
mailing list