This is an archive of the discontinued LLVM Phabricator instance.

[Power9] Implement new vsx instructions: compare and conversion
ClosedPublic

Authored by cycheng on Jan 28 2016, 9:06 PM.

Details

Summary

This change implements the following vsx instructions:

  • Quad/Double-Precision Compare:
    1. xscmpoqp xscmpuqp
    2. xscmpexpdp xscmpexpqp
    3. xscmpeqdp xscmpgedp xscmpgtdp xscmpnedp
    4. xvcmpnedp(.) xvcmpnesp(.)
  • Quad-Precision Floating-Point Conversion
    1. xscvqpdp(o) xscvdpqp
    2. xscvqpsdz xscvqpswz xscvqpudz xscvqpuwz xscvsdqp xscvudqp
    3. xscvdphp xscvhpdp xvcvhpsp xvcvsphp
    4. xsrqpi xsrqpix xsrqpxp

28 instructions

Diff Detail

Event Timeline

cycheng updated this revision to Diff 46347.Jan 28 2016, 9:06 PM
cycheng retitled this revision from to [Power9] Implement new vsx instructions: compare and conversion.
cycheng updated this object.
cycheng added reviewers: hfinkel, kbarton, nemanjai, tjablin.
cycheng added a subscriber: llvm-commits.
cycheng updated this revision to Diff 46749.EditedFeb 2 2016, 11:48 PM
  • Shorten format name: XForm_RD5_XO5_RS5 -> X_RD5_XO5_RS5
  • Move X_VT5_XO5_VB5, XX2_XT6_XO5_XB6, XX3_XT5_XA5_XB5 to the beginning of p9 vector instruction section, because it is shared among other new vsx instructions
  • Add InstrItinClass parameter to XX3_XT5_XA5_XB5, because some vsx instructions use different value, e.g. vsx compare use IIC_FPCompare, but others use IIC_VecFP
kbarton accepted this revision.Feb 22 2016, 12:38 PM
kbarton edited edge metadata.

LGTM

This revision is now accepted and ready to land.Feb 22 2016, 12:38 PM
kbarton closed this revision.Feb 26 2016, 1:16 PM

Committed r262068