This is an archive of the discontinued LLVM Phabricator instance.

[Power9] Add __float128 support for compare operations
ClosedPublic

Authored by stefanp on Jun 18 2018, 12:40 PM.

Diff Detail

Repository
rL LLVM

Event Timeline

stefanp created this revision.Jun 18 2018, 12:40 PM
lei added inline comments.Jun 18 2018, 1:23 PM
test/CodeGen/PowerPC/f128-compare.ll
2 ↗(On Diff #151765)

need -verify-machineinstrs

lei added inline comments.Jun 18 2018, 1:25 PM
test/CodeGen/PowerPC/f128-compare.ll
2 ↗(On Diff #151765)

-ppc-vsr-nums-as-vr is not needed since you are not referencing any registers at all in your checks

stefanp updated this revision to Diff 151968.Jun 19 2018, 1:02 PM

Fixed test case command.

nemanjai requested changes to this revision.Jul 3 2018, 12:28 PM

The test case is underspecified. Please show the code that extracts the correct CR-bit from the result of the comparison. Also, please add testing for fsel as that will presumably produce select_cc in addition to all the setcc's. I presume there is additional work to do to handle the former.

This revision now requires changes to proceed.Jul 3 2018, 12:28 PM
stefanp updated this revision to Diff 154287.Jul 5 2018, 12:38 PM

Added handling for the select f128.
Unlike the double type, the __float128 type cannot not use the fsel instruction but we should still expand it to something that functions correctly.

nemanjai accepted this revision.Jul 6 2018, 4:37 AM

LGTM.

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