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

Repository
rL LLVM

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).