llvm-project/llvm/test
Fraser Cormack b02eab9058 [RISCV] Add scalable vector icmp ISel patterns
Original patch by @rogfer01.

The RVV integer comparison instructions are defined in such a way that
many LLVM operations are defined by using the "opposite" comparison
instruction and swapping the operands. This is done in this patch in
most cases, except for the mappings where the immediate range must be
adjusted to accomodate:

    va < i --> vmsle{u}.vi vd, va, i-1, vm
    va >= i --> vmsgt{u}.vi vd, va, i-1, vm

That is left for future optimization; this patch supports all operations
but in the case of the missing mappings the immediate will be moved to
a scalar register first.

Since there are so many condition codes and operand cases to check, it
was decided to reduce the test burden by only testing the "vscale x 8"
vector types.

Authored-by: Roger Ferrer Ibanez <rofirrim@gmail.com>
Co-Authored-by: Fraser Cormack <fraser@codeplay.com>

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D94168
2021-01-09 20:54:34 +00:00
..
Analysis Fix print-dot-ddg.ll so it doesn't try to write to the source tree (& uses the test temp paths instead) 2021-01-07 19:57:14 -08:00
Assembler [DebugInfo] Support Fortran 'use <external module>' statement. 2020-12-18 13:10:57 -05:00
Bindings
Bitcode [DebugInfo] Support Fortran 'use <external module>' statement. 2020-12-18 13:10:57 -05:00
BugPoint
CodeGen [RISCV] Add scalable vector icmp ISel patterns 2021-01-09 20:54:34 +00:00
DebugInfo Revert "This adds a new test checking llvm-symbolizer with an object built with basic block sections." 2021-01-08 22:33:53 -08:00
Demangle
Examples
ExecutionEngine
Feature
FileCheck [Test][FileCheck] Fix use of undef var 2021-01-09 10:45:00 +00:00
Instrumentation Use unary CreateShuffleVector if possible 2020-12-30 22:36:08 +09:00
Integer
JitListener
LTO [ICP] Don't promote when target not defined in module 2020-12-08 07:45:36 -08:00
Linker
MC [WebAssembly] Update InstPrinter support for EH 2021-01-09 02:42:35 -08:00
MachineVerifier
Object [llvm-readobj] - Dump the ELF file type better. 2020-12-23 11:13:19 +03:00
ObjectYAML
Other [NewPM] Don't error when there's an unrecognized pass name 2021-01-07 22:33:32 -08:00
Reduce [llvm-reduce] ReduceGlobalVarInitializers delta pass: fix handling of globals w/ comdat/non-external linkage 2021-01-07 18:05:03 +03:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen [TableGen] Add the assert statement, step 1 2021-01-08 09:47:51 -05:00
ThinLTO/X86 [ThinLTO][test] Specify -enable-import-metadata to make !thinlto_src_module available in -DLLVM_ENABLE_ASSERTIONS=off mode 2020-12-31 09:31:53 -08:00
Transforms [SimplifyCFG] Keep !dgb metadata of moved instruction, if they match. 2021-01-09 19:15:16 +00:00
Unit
Verifier OpaquePtr: Require byval on x86_intrcc parameter 0 2020-12-14 16:34:37 -05:00
YAMLParser
tools [llvm-readobj] [ARMWinEH] Clearly print an invalid case of packed unwind info as such 2021-01-08 10:04:44 +02:00
.clang-format
CMakeLists.txt [CMake] Add llvm-profgen to LLVM_TEST_DEPENDS 2020-12-09 09:34:51 -08:00
TestRunner.sh
lit.cfg.py [FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms 2020-12-09 08:51:38 -08:00
lit.site.cfg.py.in