diff options
-rw-r--r-- | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | 2 | ||||
-rw-r--r-- | llvm/test/CodeGen/AArch64/shift_minsize.ll | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp index 4086595a1bb..0fa1b7673f9 100644 --- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp +++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp @@ -13102,7 +13102,7 @@ bool AArch64TargetLowering:: bool AArch64TargetLowering::shouldExpandShift(SelectionDAG &DAG, SDNode *N) const { if (DAG.getMachineFunction().getFunction().hasMinSize() && - !Subtarget->isTargetWindows()) + !Subtarget->isTargetWindows() && !Subtarget->isTargetDarwin()) return false; return true; } diff --git a/llvm/test/CodeGen/AArch64/shift_minsize.ll b/llvm/test/CodeGen/AArch64/shift_minsize.ll index 2728b3f4c73..ac48975f18f 100644 --- a/llvm/test/CodeGen/AArch64/shift_minsize.ll +++ b/llvm/test/CodeGen/AArch64/shift_minsize.ll @@ -1,11 +1,16 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc < %s -mtriple=aarch64-unknown-unknown | FileCheck %s ; RUN: llc < %s -mtriple=aarch64-windows | FileCheck %s -check-prefix=CHECK-WIN +; RUN: llc < %s -mtriple=aarch64-apple-darwin | FileCheck %s -check-prefix=CHECK-DARWIN ; The Windows runtime doesn't have these. ; CHECK-WIN-NOT: __ashlti3 ; CHECK-WIN-NOT: __ashrti3 +; Darwin compiler-rt excludes these. +; CHECK-DARWIN-NOT: __ashlti3 +; CHECK-DARWIN-NOT: __ashrti3 + define i64 @f0(i64 %val, i64 %amt) minsize optsize { ; CHECK-LABEL: f0: ; CHECK: // %bb.0: |