This is an archive of the discontinued LLVM Phabricator instance.

[X86] Limit maximum nop length on Silvermont
ClosedPublic

Authored by volkalexey on Jul 3 2014, 7:27 AM.

Details

Summary

Silvermont can only decode one instruction per cycle if the instruction exceeds 8 bytes.
Also in Silvermont instructions with more than 3 prefixes will cause 3 cycle penalty.
This patch introduces maximum nop length and limits it to 7 bytes when used for padding on Silvermont.
For other x86 processors max nop length remains unchanged 15 bytes.

Diff Detail

Event Timeline

volkalexey updated this revision to Diff 11054.Jul 3 2014, 7:27 AM
volkalexey retitled this revision from to [X86] Limit maximum nop length on Silvermont.
volkalexey updated this object.
volkalexey edited the test plan for this revision. (Show Details)
volkalexey added a reviewer: nadav.
volkalexey set the repository for this revision to rL LLVM.
volkalexey added subscribers: zinovy.nis, Unknown Object (MLST).
nadav edited edge metadata.Jul 3 2014, 2:22 PM

LGTM.

volkalexey closed this revision.Jul 4 2014, 12:23 AM
volkalexey updated this revision to Diff 11075.

Closed by commit rL212321 (authored by volkalex).