llvm/test/CodeGen
Diana Picus e9e0d4fb83 [ARM] GlobalISel: Legalize G_FCMP for s32
This covers both hard and soft float.

Hard float is easy, since it's just Legal.

Soft float is more involved, because there are several different ways to
handle it based on the predicate: one and ueq need not only one, but two
libcalls to get a result. Furthermore, we have large differences between
the values returned by the AEABI and GNU functions.

AEABI functions return a nice 1 or 0 representing true and respectively
false. GNU functions generally return a value that needs to be compared
against 0 (e.g. for ogt, the value returned by the libcall is > 0 for
true).  We could introduce redundant comparisons for AEABI as well, but
they don't seem easy to remove afterwards, so we do different processing
based on whether or not the result really needs to be compared against
something (and just truncate if it doesn't).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307243 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-06 09:09:33 +00:00
..
AArch64 [ORE] Add diagnostics hotness threshold 2017-06-30 23:14:53 +00:00
AMDGPU [AMDGPU] Switch scalarize global loads ON by default 2017-07-04 17:32:00 +00:00
ARM [ARM] GlobalISel: Legalize G_FCMP for s32 2017-07-06 09:09:33 +00:00
AVR Revert "[AVR] Add the branch selection pass from the GitHub repository" 2017-07-05 00:50:56 +00:00
BPF Rewrite areNonVolatileConsecutiveLoads to use BaseIndexOffset 2017-07-05 01:21:23 +00:00
Generic [FastISel] Move gc intrinsic test to X86 directory 2017-07-04 15:24:08 +00:00
Hexagon [Hexagon] Preclude non-memory test from being optimized away. NFC. 2017-07-05 13:08:03 +00:00
Inputs
Lanai
Mips Revert "[mips] Fix multiprecision arithmetic." 2017-06-29 20:59:47 +00:00
MIR AMDGPU: Add operand target flags serialization 2017-07-02 23:21:48 +00:00
MSP430 Rewrite areNonVolatileConsecutiveLoads to use BaseIndexOffset 2017-07-05 01:21:23 +00:00
Nios2
NVPTX Recommit "r306541 - Add zero-length check to memcpy/memset load store loop expansion"" 2017-07-01 03:24:10 +00:00
PowerPC [PowerPC] Make sure that we remove dead PHI nodes after the PPCCTRLoops pass. 2017-07-05 17:57:57 +00:00
SPARC [Solaris] emit .init_array instead of .ctors on Solaris (Sparc/x86) 2017-06-21 20:36:32 +00:00
SystemZ [SystemZ] Fix missing emergency spill slot corner case 2017-06-26 16:50:32 +00:00
Thumb [NFC] Use stdin for some tests instead of positional argument. 2017-06-29 14:51:54 +00:00
Thumb2 [ARM] Improve if-conversion for M-class CPUs without branch predictors 2017-06-28 14:11:15 +00:00
WebAssembly Fix libcall expansion creating DAG nodes with invalid type post type legalization. 2017-07-05 22:01:49 +00:00
WinEH
X86 {DAGCombiner] Fold (rot x, 0) -> x 2017-07-05 18:27:11 +00:00
XCore