[llvm] [X86] Reimplement bundle alignment mode (PR #175830)
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 14 19:22:27 PDT 2026
================
@@ -316,6 +334,82 @@ void MCELFStreamer::emitIdent(StringRef IdentString) {
popSection();
}
+void MCELFStreamer::emitBundleAlignMode(Align Alignment) {
+ if (Log2(Alignment) > 30)
+ getContext().reportError(getStartTokLoc(),
+ ".bundle_align_mode alignment must be <= 30");
+ MCAssembler &Assembler = getAssembler();
+ setAllowAutoPadding(true);
+
+ if (Alignment > 1 && (Assembler.getBundleAlignSize() == 0 ||
+ Assembler.getBundleAlignSize() == Alignment.value()))
+ Assembler.setBundleAlignSize(Alignment.value());
+ else
+ getContext().reportError(getStartTokLoc(),
+ ".bundle_align_mode cannot be changed once set");
----------------
MaskRay wrote:
Untested. `nested-lock.s` only re-sets `.bundle_align_mode` to the *same* value (allowed); a second `.bundle_align_mode` with a *different* size never hits this error. One line in `bundle-errors.s` covers it.
https://github.com/llvm/llvm-project/pull/175830
More information about the llvm-commits
mailing list