This is an archive of the discontinued LLVM Phabricator instance.

[VE] Add vfmk intrinsic instructions
ClosedPublic

Authored by kaz7 on Dec 7 2020, 5:58 AM.

Details

Summary

Add vfmk intrinsic instructions, a few pseudo instructions to expand
vfmk intrinsic using VM512 correctly, and regression tests.

Diff Detail

Event Timeline

kaz7 created this revision.Dec 7 2020, 5:58 AM
kaz7 requested review of this revision.Dec 7 2020, 5:58 AM
simoll added inline comments.Dec 9 2020, 12:32 AM
llvm/lib/Target/VE/VEInstrInfo.cpp
738

Can we make this static and use something more lightweight than a std::vector?

std::map<unsigned, unsigned[2]>
749

better drop curly braces

753–801

I guess you could loop over this code for each part instead of replicating the code for the lower and upper part.

kaz7 updated this revision to Diff 310461.Dec 9 2020, 1:54 AM

Updated following suggestions.

simoll accepted this revision.Dec 9 2020, 5:45 AM

Thanks! One nit, else good to go.

llvm/lib/Target/VE/VEInstrInfo.cpp
784

Nitpick: you can store the iterator here and use it to access first and second below.

This revision is now accepted and ready to land.Dec 9 2020, 5:45 AM
This revision was landed with ongoing or failed builds.Dec 9 2020, 7:08 AM
This revision was automatically updated to reflect the committed changes.
llvm/lib/Target/VE/VEInstrVec.td