This patch replaces all packed (and scalar without rounding mode) fused intrinsics with fmadd/fmaddsub variations. Then fmadd/fmaddsub are lowered to native IR.
Corresponding LLVM patch: D47443
| Paths 
 |  Differential  D47444  
[X86] Lowering FMA intrinsics to native IR (Clang part) ClosedPublic Authored by tkrupa on May 28 2018, 1:31 AM. 
Details Summary This patch replaces all packed (and scalar without rounding mode) fused intrinsics with fmadd/fmaddsub variations. Then fmadd/fmaddsub are lowered to native IR. Corresponding LLVM patch: D47443 
Diff Detail 
 Event TimelineComment Actions LGTM 
 This revision is now accepted and ready to land.May 29 2018, 10:31 AM Closed by commit rC333555: [X86] Lowering FMA intrinsics to native IR (Clang part) (authored by GBuella).  ·  Explain WhyMay 30 2018, 8:32 AM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 149127 include/clang/Basic/BuiltinsX86.def
 lib/CodeGen/CGBuiltin.cpp
 
 lib/Headers/avx512fintrin.h
 
 lib/Headers/avx512vlintrin.h
 
 lib/Sema/SemaChecking.cpp
 
 test/CodeGen/avx512f-builtins.c
 
 test/CodeGen/avx512vl-builtins.c
 
 test/CodeGen/fma-builtins.c
 test/CodeGen/fma4-builtins.c
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Please indent this to line up with the first argument on the previous line.