Index: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp =================================================================== --- llvm/lib/Target/AArch64/AArch64ISelLowering.cpp +++ llvm/lib/Target/AArch64/AArch64ISelLowering.cpp @@ -579,10 +579,11 @@ setTargetDAGCombine(ISD::GlobalAddress); - MaxStoresPerMemset = MaxStoresPerMemsetOptSize = 8; + MaxStoresPerMemset = 32; + MaxStoresPerMemsetOptSize = 8; MaxGluedStoresPerMemcpy = 4; - - MaxStoresPerMemcpy = MaxStoresPerMemcpyOptSize = 4; + MaxStoresPerMemcpy = 16; + MaxStoresPerMemcpyOptSize = 4; MaxStoresPerMemmove = MaxStoresPerMemmoveOptSize = 4; setStackPointerRegisterToSaveRestore(AArch64::SP); Index: llvm/test/CodeGen/AArch64/arm64-memset-to-bzero.ll =================================================================== --- llvm/test/CodeGen/AArch64/arm64-memset-to-bzero.ll +++ llvm/test/CodeGen/AArch64/arm64-memset-to-bzero.ll @@ -1,7 +1,7 @@ -; RUN: llc %s -mtriple=arm64-apple-darwin -o - | \ -; RUN: FileCheck --check-prefix=CHECK-DARWIN --check-prefix=CHECK %s -; RUN: llc %s -mtriple=arm64-linux-gnu -o - | \ -; RUN: FileCheck --check-prefix=CHECK-LINUX --check-prefix=CHECK %s +; RUN: llc %s -mtriple=arm64-apple-darwin -mattr=+strict-align -o - | \ +; RUN: FileCheck --check-prefixes=CHECK,CHECK-DARWIN %s +; RUN: llc %s -mtriple=arm64-linux-gnu -mattr=+strict-align -o - | \ +; RUN: FileCheck --check-prefixes=CHECK,CHECK-LINUX %s ; ARM64: Calls to bzero() replaced with calls to memset() ; CHECK-LABEL: fct1: