Page MenuHomePhabricator

[PowerPC] Exploit VSX neg, abs and nabs instruction for f32
Needs ReviewPublic

Authored by qiucf on Feb 28 2020, 4:57 AM.

Details

Reviewers
nemanjai
jsji
steven.zhang
Group Reviewers
Restricted Project
Summary

xsnegdp, xsabsdp and xsnabsdp can all be used to operate on f32 operand, but we don't have patterns to generate them. This patch adds the missing patterns since we prefer VSX instructions when available.

Diff Detail

Unit TestsFailed

TimeTest
130 mslldb-unit.Host/_/HostTests::ConnectionFileDescriptorTest.TCPGetURIv6
Note: Google Test filter = ConnectionFileDescriptorTest.TCPGetURIv6 [==========] Running 1 test from 1 test case. [----------] Global test environment set-up.

Event Timeline

qiucf created this revision.Feb 28 2020, 4:57 AM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 28 2020, 4:57 AM
qiucf marked an inline comment as done.Feb 28 2020, 5:00 AM
qiucf added inline comments.
llvm/test/CodeGen/PowerPC/fma.ll
130 ↗(On Diff #247228)

I know here looks like a regression. But I'm drafting another patch to disable nmsub instruction when no nsz flag set. So the pattern will be removed from td file and we can get xsnmsubadp naturally.

steven.zhang added inline comments.
llvm/test/CodeGen/PowerPC/fma.ll
130 ↗(On Diff #247228)

So, could you please post that patch here as the parent revision of this one, then update the patch, so that, we could have a clear picture.

Thanks for posting this. This LGTM.

Could you also help to check if the following pairs can also be changed accordingly?
{stxsspx, stfsx}
{lxsspx, lfsx}
{stxsiwx, stfiwx}
{xssubsp, fsubs}
{xsmulsp, fmuls}
{xsdivsp, fdivs}
{xssqrtsp, fsqrts}
{xsrsqrtesq, frsqrtes}
{lxsiwzx, lfiwzx}
{lxsiwax, lfiwax}
{xsresp, fres}
{xsmsubasp, fmsubs}
{xsnmsubasp, fnmsubs}

What is the status of this? Also, there is no description for the patch.

qiucf updated this revision to Diff 255904.Tue, Apr 7, 11:33 PM
qiucf marked 3 inline comments as done.
qiucf edited the summary of this revision. (Show Details)

Update patch to set proper complexity for XSNEGDP.

qiucf added a comment.Tue, Apr 7, 11:41 PM

What is the status of this? Also, there is no description for the patch.

I added description and removed unnecessary parent revision. So this patch is ready for review now.

llvm/test/CodeGen/PowerPC/fma.ll
130 ↗(On Diff #247228)

Oh, that's not related to this regression. I've updated this patch to change pattern priority.