[all-commits] [llvm/llvm-project] 10439f: [X86][AVX] Add X86ISD::VALIGN target shuffle decod...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Sun Mar 29 09:00:42 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 10439f9e32edf0efd34e19f19c0d0e7555cd5492
https://github.com/llvm/llvm-project/commit/10439f9e32edf0efd34e19f19c0d0e7555cd5492
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-03-29 (Sun, 29 Mar 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-v1.ll
Log Message:
-----------
[X86][AVX] Add X86ISD::VALIGN target shuffle decode support
Allows us to combine VALIGN instructions with other shuffles - the combiner doesn't create VALIGN yet though.
Commit: da4c7db793aa71a1e59c31b346e975593c090232
https://github.com/llvm/llvm-project/commit/da4c7db793aa71a1e59c31b346e975593c090232
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-03-29 (Sun, 29 Mar 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Rename matchShuffleAsByteRotate to matchShuffleAsElementRotate. NFC.
This was an inner helper function for the real matchShuffleAsByteRotate function, but it is more generic and is used directly for VALIGN lowering which doesn't work at the byte level.
Commit: 7734e4b3a36f233df493e6101086a9c95d309a40
https://github.com/llvm/llvm-project/commit/7734e4b3a36f233df493e6101086a9c95d309a40
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-03-29 (Sun, 29 Mar 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx-vperm2x128.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86][AVX] Combine 128-bit lane shuffles with a zeroable upper half to EXTRACT_SUBVECTOR (PR40720)
As explained on PR40720, EXTRACTF128 is always as good/better than VPERM2F128, and we can use the implicit zeroing of the upper half.
I've added some extra tests to vector-shuffle-combining-avx2.ll to make sure we don't lose coverage.
Compare: https://github.com/llvm/llvm-project/compare/b632bd88a633...7734e4b3a36f
More information about the All-commits
mailing list