llvm-project/llvm/test/CodeGen
Sanjay Patel 6592bcecd4 [x86] invert a vector select IR canonicalization with a binop identity constant
This is an intentionally limited/different form of D90113.
That patch bravely tries to generalize folds where we pull
a binop into the arms of a select:
N0 + (Cond ? 0 : FVal) --> Cond ? N0 : (N0 + FVal)
...but it is not universally profitable.

This is the inverse of IR canonicalization as discussed in
D113442.

We know that this transform is not entirely profitable even
within x86, so we only handle x86 vector fadd/fsub as a 1st
step. The intent is to prevent AVX512 regressions as mentioned
in D113442.

The plan is to port this to DAGCombiner (so it will eventually
look more like D90113) and add more types/cases in pieces with
many more tests to verify that we are seeing improvements.

Differential Revision: https://reviews.llvm.org/D118644
2022-02-02 08:17:53 -05:00
..
AArch64 [AArch64][CodeGen] Always use SVE (when enabled) to lower integer divides 2022-02-02 09:46:02 +00:00
AMDGPU [AMDGPU] Check atomics aliasing in the clobbering annotation 2022-02-01 12:33:25 -08:00
ARC
ARM [ARM][AArch64] Introduce qrdmlah and qrdmlsh intrinsics 2022-01-27 19:19:46 +00:00
AVR [AVR][NFC] Make atomics tests easier to read 2022-02-02 09:10:39 +01:00
BPF
CSKY [CSKY] Add floating operation support including float and double 2022-01-27 15:54:04 +08:00
Generic
Hexagon [Hexagon] Punt on registers without reaching defs in addr mode opt 2022-02-01 09:52:59 -08:00
Inputs
Lanai
M68k [M68k][GlobalISel] Legalize more instruction in M68k Legalizer. 2022-01-29 09:59:58 +08:00
MIR
MLRegalloc [NFC] These tests require a default target 2022-02-01 13:18:39 -06:00
MSP430
Mips [XRay][test] Clean up llc RUN lines 2022-01-21 17:00:03 -08:00
NVPTX [NVPTX] Remove fmin/fmax.NaN.f64 again 2022-01-28 07:46:16 +01:00
PowerPC [PowerPC] Update P10 vector insert patterns to use refactored load/stores, and update handling of v4f32 vector insert. 2022-02-01 08:48:37 -06:00
RISCV [TableGen][RISCV] Relax a restriction in generating patterns for commutable SDNodes. 2022-02-01 21:07:03 -08:00
SPARC
SystemZ [SystemZ] Don't shrink 64-bit FP constants. 2022-01-27 16:14:53 -06:00
Thumb
Thumb2 [DAG] Create fptoui.sat from clamped fptoui 2022-01-26 08:37:44 +00:00
VE [VE] Packed v512f32 binop isel and tests 2022-02-02 10:09:39 +01:00
WebAssembly Revert "[WebAssembly] Refactor and fix emission of external IR global decls" 2022-01-31 12:20:56 -08:00
WinCFGuard
WinEH
X86 [x86] invert a vector select IR canonicalization with a binop identity constant 2022-02-02 08:17:53 -05:00
XCore