[X86] Add combination for fma and fneg on X86 under strict FP.
authorWang, Pengfei <pengfei.wang@intel.com>
Wed, 15 Jan 2020 11:08:38 +0000 (19:08 +0800)
committerWang, Pengfei <pengfei.wang@intel.com>
Tue, 28 Jan 2020 12:09:56 +0000 (20:09 +0800)
commit3d1f0ce3b9f88af85cf7a622a7514a3744a1dab7
tree8c94b04664f91ec5c00a349d0d6211fa39ffe455
parent4f38ab250ff4680375c4c01db0a88c157093c665
[X86] Add combination for fma and fneg on X86 under strict FP.

Summary: X86 has instructions to calculate fma and fneg at the same time. But we combine the fneg and fma only when fneg is the source operand under strict FP.

Reviewers: craig.topper, andrew.w.kaylor, uweigand, RKSimon, LiuChen3

Subscribers: LuoYuanke, llvm-commits, cfe-commits, jdoerfert, hiraditya

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D72824
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h
llvm/lib/Target/X86/X86InstrAVX512.td
llvm/lib/Target/X86/X86InstrFMA.td
llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
llvm/test/CodeGen/X86/fp-intrinsics-fma.ll