This is an archive of the discontinued LLVM Phabricator instance.

[AVX-512] Add scalar vfmsub/vfnmsub mask3 intrinsics
ClosedPublic

Authored by craig.topper on Oct 24 2016, 10:12 PM.

Details

Summary

Clang's intrinsic header currently tries to negate the third operand of a vfmadd mask3 in order to create vfmsub, but this fails isel. This patch add scalar vfmsub mask3 that we can use instead to avoid the negate. This is consistent with the packed instructions.

Diff Detail

Event Timeline

craig.topper retitled this revision from to [AVX-512] Add scalar vfmsub mask3 intrinsics.
craig.topper updated this object.
craig.topper added reviewers: delena, igorb.
craig.topper added a subscriber: llvm-commits.

Turns out we also need vfnmsub too. At least until we teach combineFMA to be called for FMSUB/FMSUB_RND.

craig.topper retitled this revision from [AVX-512] Add scalar vfmsub mask3 intrinsics to [AVX-512] Add scalar vfmsub/vfnmsub mask3 intrinsics.Oct 24 2016, 11:09 PM
delena accepted this revision.Oct 25 2016, 3:51 AM
delena edited edge metadata.
This revision is now accepted and ready to land.Oct 25 2016, 3:51 AM
This revision was automatically updated to reflect the committed changes.