I did the div differently because it got split to three basic blocks with
a branch condition (due to div being an expensive operation)
and couldn't be combined back.
Corresponding LLVM revision: D47978
| Paths 
 |  Differential  D47979  
[X86] Lowering Mask Scalar add/sub/mul/div intrinsics to native IR (Clang part) ClosedPublic Authored by tkrupa on Jun 9 2018, 3:20 AM. 
Details Summary I did the div differently because it got split to three basic blocks with Corresponding LLVM revision: D47978 
Diff Detail 
 Event Timeline
 
 This revision is now accepted and ready to land.Jun 10 2018, 9:51 AM Closed by commit rC334741: [X86] Lowering Mask Scalar intrinsics to native IR (Clang part) (authored by tkrupa).  ·  Explain WhyJun 14 2018, 10:41 AM This revision was automatically updated to reflect the committed changes. 
Revision Contents 
 
Diff 151381 lib/CodeGen/CGBuiltin.cpp
 
 lib/Headers/avx512fintrin.h
 
 test/CodeGen/avx512f-builtins.c
 
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Can we just emit the and+icmp that the other operations end up with?