This is an archive of the discontinued LLVM Phabricator instance.

[SystemZ] Perform instruction shortening for fused fp ops.
ClosedPublic

Authored by jonpa on Mar 18 2020, 9:58 AM.

Details

Summary

Replace single-lane (W... form) vector "multiply and add" and "multiply and subtract" instructions with equivalent floating point instructions whenever possible in SystemZShortenInst.

Total instruction mix impact on SPEC 17 is:

wfmadb         :                27604                18343    -9261
madbr          :                    0                 9261    +9261
maebr          :                    0                 4657    +4657
wfmasb         :                13524                 8867    -4657
wfmsdb         :                 2469                 1436    -1033
msdbr          :                    0                 1033    +1033
msebr          :                    0                  634     +634
wfmssb         :                 1837                 1203     -634

Diff Detail

Event Timeline

jonpa created this revision.Mar 18 2020, 9:58 AM
uweigand accepted this revision.Mar 23 2020, 4:00 AM

LGTM, thanks!

This revision is now accepted and ready to land.Mar 23 2020, 4:00 AM
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptMar 23 2020, 6:31 AM