diff --git a/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp b/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp index 1b5b7c556c79f..a3513ca439ac2 100644 --- a/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp +++ b/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp @@ -1905,6 +1905,7 @@ void AArch64AsmPrinter::emitManualSymbolResolver(Module &M, // .quad _ifunc.stub_helper EmitLinkage(LazyPointer); + OutStreamer->emitValueToAlignment(Align(8), /*Value=*/0); OutStreamer->emitLabel(LazyPointer); emitVisibility(LazyPointer, GI.getVisibility()); OutStreamer->emitValue(MCSymbolRefExpr::create(StubHelper, OutContext), 8); diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp index b0f4b9d984372..a490d775abd55 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp @@ -558,6 +558,7 @@ void X86AsmPrinter::emitGlobalIFunc(Module &M, const GlobalIFunc &GI) { // .quad _ifunc.stub_helper EmitLinkage(LazyPointer); + OutStreamer->emitValueToAlignment(Align(8), /*Value=*/0); OutStreamer->emitLabel(LazyPointer); emitVisibility(LazyPointer, GI.getVisibility()); OutStreamer->emitValue(MCSymbolRefExpr::create(StubHelper, OutContext), 8); diff --git a/llvm/test/CodeGen/AArch64/ifunc-asm.ll b/llvm/test/CodeGen/AArch64/ifunc-asm.ll index ede669aa52703..7eff692da83ff 100644 --- a/llvm/test/CodeGen/AArch64/ifunc-asm.ll +++ b/llvm/test/CodeGen/AArch64/ifunc-asm.ll @@ -35,6 +35,7 @@ entry: ; MACHO-MANUAL: .section __DATA,__data ; MACHO-MANUAL-NEXT: .globl _global_ifunc.lazy_pointer +; MACHO-MANUAL-NEXT: .p2align 3, 0x0 ; MACHO-MANUAL-NEXT: _global_ifunc.lazy_pointer: ; MACHO-MANUAL-NEXT: .quad _global_ifunc.stub_helper diff --git a/llvm/test/CodeGen/X86/ifunc-asm.ll b/llvm/test/CodeGen/X86/ifunc-asm.ll index 0f66febbe95b2..39c326bc6b6c3 100644 --- a/llvm/test/CodeGen/X86/ifunc-asm.ll +++ b/llvm/test/CodeGen/X86/ifunc-asm.ll @@ -19,6 +19,7 @@ entry: ; MACHO: .section __DATA,__data ; MACHO-NEXT: .globl _foo_ifunc.lazy_pointer +; MACHO-NEXT: .p2align 3, 0x0 ; MACHO-NEXT: _foo_ifunc.lazy_pointer: ; MACHO-NEXT: .quad _foo_ifunc.stub_helper ; MACHO-NEXT: .section __TEXT,__text,regular,pure_instructions