This is an archive of the discontinued LLVM Phabricator instance.

[Power9] Implement float128 parameter passing and return values
ClosedPublic

Authored by lei on May 30 2018, 12:46 PM.

Details

Summary

This patch just enable parameter passing by value for float128 types.
Passing aggregate/union which contain float128 members will be submitted in subsequent patches.

Diff Detail

Repository
rL LLVM

Event Timeline

lei created this revision.May 30 2018, 12:46 PM

A couple of notes:

  • This doesn't just handle parameters, but return values as well
  • I think all of these will require predication for P9Vector since we don't want to change the fp128 calling conventions on subtargets that don't support the type
lei retitled this revision from [Power9] Implement float128 parameter passing by value to [Power9] Implement float128 parameter passing and return values.Jun 4 2018, 12:26 PM
lei updated this revision to Diff 149833.EditedJun 4 2018, 12:39 PM

Added hadP9Vector to calling convention def for f128.
I also merged the patch D47573 for extload of const into here since it's a 2 line fix and the test case associated depended on this patch.

lei updated this revision to Diff 149969.Jun 5 2018, 7:06 AM
nemanjai accepted this revision.Jul 4 2018, 7:37 AM

LGTM.

This revision is now accepted and ready to land.Jul 4 2018, 7:37 AM
This revision was automatically updated to reflect the committed changes.