llvm-project/llvm/test
Amara Emerson 95ac3d15e9 [AArch64][GlobalISel] Add G_VECREDUCE fewerElements support for full scalarization.
For some reductions like G_VECREDUCE_OR on AArch64, we need to scalarize
completely if the source is <= 64b. This change adds support for that in
the legalizer. If the source has a pow-2 num elements, then we can do
a tree reduction using the scalar operation in the individual elements.
Otherwise, we just create a sequential chain of operations.

For AArch64, we only need to scalarize if the input is <64b. If it's great than
64b then we can first do a fewElements step to 64b, taking advantage of vector
instructions until we reach the point of scalarization.

I also had to relax the verifier checks for reductions because the intrinsics
support <1 x EltTy> types, which we lower to scalars for GlobalISel.

Differential Revision: https://reviews.llvm.org/D108276
2021-08-19 16:38:52 -07:00
..
Analysis [CostModel][X86] Add isnan half/float/double costs tests 2021-08-19 18:07:06 +01:00
Assembler Replace "CHECK-NOT: #{{.*}}" with same-line positive checks. NFC. 2021-08-05 21:55:23 -07:00
Bindings
Bitcode Revert "[DebugInfo] generate btf_tag annotations for DIComposite types" 2021-08-19 15:54:38 -07:00
BugPoint
CodeGen [AArch64][GlobalISel] Add G_VECREDUCE fewerElements support for full scalarization. 2021-08-19 16:38:52 -07:00
DebugInfo [DebugInfo][InstrRef] Honour too-much-debug-info cutouts 2021-08-17 11:34:49 +01:00
Demangle
Examples [Orc][examples] Temporarily disable tests for the C API due to failures on sanitizer bots 2021-08-06 11:33:01 +02:00
ExecutionEngine [JITLink] Optimize GOTPCRELX Relocations 2021-08-19 10:30:22 +08:00
Feature
FileCheck
Instrumentation [InstrProfiling] Make COFF use the ELF comdat scheme (drop link.exe compatibility) 2021-08-19 16:38:32 -07:00
Integer
JitListener
LTO [InlineAdvisor] Add single quotes around caller/callee names 2021-08-10 11:51:31 -07:00
Linker [Linker] Import GlobalIFunc when importing symbols from another module 2021-08-14 22:01:11 -07:00
MC [AIX] Remove XFAIL from macro-same-context 2021-08-19 14:52:58 +00:00
MachineVerifier [AArch64][GlobalISel] Add G_VECREDUCE fewerElements support for full scalarization. 2021-08-19 16:38:52 -07:00
Object [llvm-ar] Fix for handling thin archive with SYM64 and a test case for it 2021-08-05 10:06:34 -07:00
ObjectYAML [yaml2obj][MachO] Rename PayloadString to Content 2021-07-26 09:04:51 -07:00
Other [LICM] Remove AST-based implementation 2021-08-18 20:21:53 +02:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen
ThinLTO/X86 [InlineAdvisor] Add single quotes around caller/callee names 2021-08-10 11:51:31 -07:00
Transforms [runtimeunroll] Support multiple exits to latch exit w/prolog loop 2021-08-19 11:43:52 -07:00
Unit
Verifier [VP] Add vector-predicated reduction intrinsics 2021-08-17 17:56:35 +01:00
YAMLParser
tools [OptTable] Refine how `printHelp` treats empty help texts 2021-08-19 09:30:15 +00:00
.clang-format
CMakeLists.txt [test] Add llvm-stress to LLVM_TEST_DEPENDS and lit substitutions 2021-07-22 09:37:01 -07:00
TestRunner.sh
lit.cfg.py [llvm][MC] Disable cfi-version test for Windows on Arm 2021-08-04 11:18:05 +00:00
lit.site.cfg.py.in