[all-commits] [llvm/llvm-project] e53d48: [X86][AVX] combineVectorSignBitsTruncation - avoid...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Tue May 5 04:01:26 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: e53d4869a0d862934f8c74e4b74feb2b3430186a
https://github.com/llvm/llvm-project/commit/e53d4869a0d862934f8c74e4b74feb2b3430186a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-05-05 (Tue, 05 May 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/known-signbits-vector.ll
M llvm/test/CodeGen/X86/min-legal-vector-width.ll
Log Message:
-----------
[X86][AVX] combineVectorSignBitsTruncation - avoid complex vXi64->vXi32 PACKSS truncations (PR45794)
Unless we're truncating an 'all-bits' result, using PACKSS for vXi64->vXi32 truncation causes problems with later combines as ComputeNumSignBits struggles to see through BITCASTs to smaller types. If we don't use PACKSS in these cases then we fallback to shuffles which are usually just as good.
More information about the All-commits
mailing list