diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp --- a/llvm/lib/Target/ARM/ARMISelLowering.cpp +++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp @@ -1612,6 +1612,7 @@ PredictableSelectIsExpensive = Subtarget->getSchedModel().isOutOfOrder(); setPrefLoopAlignment(Align(1ULL << Subtarget->getPrefLoopLogAlignment())); + setPrefFunctionAlignment(Align(4)); setMinFunctionAlignment(Subtarget->isThumb() ? Align(2) : Align(4)); diff --git a/llvm/test/CodeGen/ARM/preferred-function-alignment.ll b/llvm/test/CodeGen/ARM/preferred-function-alignment.ll --- a/llvm/test/CodeGen/ARM/preferred-function-alignment.ll +++ b/llvm/test/CodeGen/ARM/preferred-function-alignment.ll @@ -6,7 +6,7 @@ ; CHECK-LABEL: test ; ALIGN-GENERIC: .p2align 2 -; ALIGN: .p2align 1 +; ALIGN: .p2align 2 define void @test() { ret void