This is an archive of the discontinued LLVM Phabricator instance.

[PATCH] Support select-cc for VSFRC when VSX is enabled
ClosedPublic

Authored by wschmidt on Oct 22 2014, 9:44 AM.

Details

Reviewers
seurer
hfinkel
Summary

A previous patch enabled SELECT_VSRC and SELECT_CC_VSRC for VSX to handle <2 x double> cases. This patch adds SELECT_VSFRC and SELECT_CC_VSFRC to allow use of all 64 vector-scalar registers for the f64 type when VSX is enabled. The changes are analogous to those in the previous patch. I've added a new variant to vsx.ll to test the code generation.

(I also cleaned up a little formatting in PPCInstrVSX.td from the previous patch.)

Diff Detail

Event Timeline

wschmidt updated this revision to Diff 15250.Oct 22 2014, 9:44 AM
wschmidt retitled this revision from to [PATCH] Support select-cc for VSFRC when VSX is enabled.
wschmidt updated this object.
wschmidt edited the test plan for this revision. (Show Details)
wschmidt added reviewers: hfinkel, seurer.
wschmidt added subscribers: Unknown Object (MLST), wschmidt, hfinkel, seurer.
hfinkel accepted this revision.Oct 22 2014, 9:50 AM
hfinkel edited edge metadata.

I'd prefer (as noted below) that we not repeat the AddedComplexity magic number if not necessary (feel free to re-arrange things to make this possible if necessary).

Otherwise, LGTM.

lib/Target/PowerPC/PPCInstrVSX.td
737

Instead of repeating this here, can't you just extend the AddedComplexity block above to cover these definitions as well? It ends just above here on line 720.

This revision is now accepted and ready to land.Oct 22 2014, 9:50 AM

Sure, that can be done. The AddedComplexity is unnecessary for the VSRC changes (nothing to override), but it does no harm.

r220395, thanks for the quick review!

wschmidt closed this revision.Oct 22 2014, 10:09 AM