This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Add command-line option for SB
ClosedPublic

Authored by dnsampaio on Dec 20 2018, 5:02 AM.

Details

Summary

SB (Speculative Barrier) is only mandatory from 8.5
onwards but is optional from Armv8.0-A. This patch adds a command
line option to enable SB, as it was previously only possible to
enable by selecting -march=armv8.5-a.

This patch also removes the FeatureSB from the previous FeatureSpecRestrict.

Similar patch upstream in GNU binutils:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=68dfbb92ef5f013a315d652c88ede2082c16a88e

Diff Detail

Repository
rL LLVM

Event Timeline

dnsampaio created this revision.Dec 20 2018, 5:02 AM
olista01 added inline comments.Dec 21 2018, 2:47 AM
lib/Target/AArch64/AArch64.td
309 ↗(On Diff #179042)

I don't think this is needed. You've moved the SB instruction from FeatureSpecCtrl to this new feature, but the SB instruction was the only thing in FeatureSpecCtrl, which is now empty.

dnsampaio marked 2 inline comments as done.Dec 21 2018, 2:59 AM
dnsampaio added inline comments.
lib/Target/AArch64/AArch64.td
309 ↗(On Diff #179042)

That is indeed true, I've confused it with SpecRestrict that holds Systems operands.

dnsampaio updated this revision to Diff 179260.Dec 21 2018, 3:43 AM

Removed empty feature

dnsampaio marked an inline comment as done.Dec 21 2018, 3:43 AM
LukeCheeseman accepted this revision.Dec 28 2018, 8:48 AM
This revision is now accepted and ready to land.Dec 28 2018, 8:48 AM
This revision was automatically updated to reflect the committed changes.
llvm/trunk/test/MC/AArch64/armv8.5a-specctrl.s