llvm-project/llvm/test/Analysis/CostModel
Sanjay Patel 136f98e523 [x86] adjust cost model values for minnum/maxnum with fast-math-flags
Without FMF, we lower these intrinsics into something like this:

vmaxsd	%xmm0, %xmm1, %xmm2
vcmpunordsd	%xmm0, %xmm0, %xmm0
vblendvpd	%xmm0, %xmm1, %xmm2, %xmm0

But if we can ignore NANs, the single min/max instruction is enough
because there is no need to fix up the x86 logic that corresponds to
X > Y ? X : Y.

We probably want to make other adjustments for FP intrinsics with FMF
to account for specialized codegen (for example, FSQRT).

Differential Revision: https://reviews.llvm.org/D92337
2020-12-01 10:45:53 -05:00
..
AArch64 [AArch64][CostModel] Fix cost for mul <2 x i64> 2020-11-30 11:36:55 +00:00
AMDGPU [AMDGPU][CostModel] Refine cost model for half- and quarter-rate instructions. 2020-10-24 19:53:08 +03:00
ARM [CostModel] add basic handling for FP maximum/minimum intrinsics 2020-11-22 13:43:53 -05:00
PowerPC Re-land "[PowerPC] Remove QPX/A2Q BGQ/BGP CNK support" 2020-07-28 14:00:11 +00:00
RISCV [CostModel] getCFInstrCost in getUserCost. 2020-06-15 09:28:46 +01:00
SystemZ [SystemZ] Make sure not to call getZExtValue on a >64 bit constant. 2020-09-23 15:36:32 +02:00
X86 [x86] adjust cost model values for minnum/maxnum with fast-math-flags 2020-12-01 10:45:53 -05:00
free-intrinsics-datalayout.ll [Annotation] Allows annotation to carry some additional constant arguments. 2020-10-26 10:50:05 +01:00
free-intrinsics-no_info.ll [Annotation] Allows annotation to carry some additional constant arguments. 2020-10-26 10:50:05 +01:00
no_info.ll