llvm-project/llvm/test/CodeGen
Simon Pilgrim 6c8f4ada36 [X86][SSE] Recognise vXi1 boolean anyof/allof reduction patterns
Currently combineHorizontalPredicateResult only handles anyof/allof reduction patterns of legal types, which can be tricky to match as type legalization of bools can introduce bitcasts/truncs/extensions.

This patch extends combineHorizontalPredicateResult to recognise vXi1 bool reductions as well and uses the existing combineBitcastvxi1 helper to create the MOVMSK necessary to then compare the signmask result.

This ensures the accuracy of the reduction costs added in D60403 which assume the MOVMSK generation.

Differential Revision: https://reviews.llvm.org/D60610

llvm-svn: 358286
2019-04-12 14:22:57 +00:00
..
AArch64 [AArch64][GlobalISel] Flesh out vector load/store support for more types. 2019-04-11 20:40:01 +00:00
AMDGPU Revert rL357745: [SelectionDAG] Compute known bits of CopyFromReg 2019-04-10 18:00:41 +00:00
ARC [ARC] Add ARCOptAddrMode pass to generate postincrement loads/stores. 2019-03-20 20:06:21 +00:00
ARM Revert rL357745: [SelectionDAG] Compute known bits of CopyFromReg 2019-04-10 18:00:41 +00:00
AVR [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00
BPF [BPF] add proper multi-dimensional array support 2019-03-28 21:59:49 +00:00
Generic Fix nondeterminism introduced in r353954 2019-03-26 12:18:08 +00:00
Hexagon [Pipeliner] Fix incorrect loop carried dependence calculation 2019-04-11 21:57:51 +00:00
Inputs
Lanai
MIR [X86] Merge the different Jcc instructions for each condition code into single instructions that store the condition code as an operand. 2019-04-05 19:28:09 +00:00
MSP430 [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00
Mips [MIPS GlobalISel] Select floating point arithmetic operations 2019-04-03 14:12:59 +00:00
NVPTX [NVPTX] Fix the codegen for llvm.round. 2019-04-01 16:10:26 +00:00
PowerPC [PowerPC] Add initialization for some ppc passes 2019-04-12 09:59:40 +00:00
RISCV [RISCV] Put data smaller than eight bytes to small data section 2019-04-11 04:59:13 +00:00
SPARC [Sparc] Fix incorrect MI insertion position for spilling f128. 2019-04-10 01:56:32 +00:00
SystemZ Revert rL357745: [SelectionDAG] Compute known bits of CopyFromReg 2019-04-10 18:00:41 +00:00
Thumb [ARM] Add an extra constant hoisting test. NFC 2019-04-10 18:05:57 +00:00
Thumb2 [ARM] Add an extra test for constant hoist. NFC 2019-04-10 19:18:58 +00:00
WebAssembly [WebAssembly] Add new explicit relocation types for PIC relocations 2019-04-04 17:43:50 +00:00
WinCFGuard
WinEH Fix invalid target triples in tests. (NFC) 2019-03-04 23:37:41 +00:00
X86 [X86][SSE] Recognise vXi1 boolean anyof/allof reduction patterns 2019-04-12 14:22:57 +00:00
XCore [DAGCombiner] If a TokenFactor would be merged into its user, consider the user later. 2019-03-13 17:07:09 +00:00