From 3a6eb8083c342da436df8c7d1809dfeb8834bc6d Mon Sep 17 00:00:00 2001 From: Stephen Hines Date: Fri, 25 Oct 2013 06:26:44 +0000 Subject: Switch __ARM_ARCH_7S__ to __ARM_ARCH_EXT_IDIV__ for use of sdiv/udiv assembly. __ARM_ARCH_EXT_IDIV__ is the define that ARM is using to indicate the presence of hardware integer divide (sdiv/udiv). Previously, this code was only being invoked for processors marked 7S. We now can correctly generate hardware divides on cortex-a15 devices. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193392 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/arm/divmodsi4.S | 2 +- lib/arm/divsi3.S | 2 +- lib/arm/modsi3.S | 2 +- lib/arm/udivmodsi4.S | 2 +- lib/arm/udivsi3.S | 2 +- lib/arm/umodsi3.S | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/arm/divmodsi4.S b/lib/arm/divmodsi4.S index d31e510c..6495a8b4 100644 --- a/lib/arm/divmodsi4.S +++ b/lib/arm/divmodsi4.S @@ -24,7 +24,7 @@ .syntax unified .align 3 DEFINE_COMPILERRT_FUNCTION(__divmodsi4) -#if __ARM_ARCH_7S__ +#if __ARM_ARCH_EXT_IDIV__ tst r1, r1 beq LOCAL_LABEL(divzero) mov r3, r0 diff --git a/lib/arm/divsi3.S b/lib/arm/divsi3.S index e76fe31b..b631db29 100644 --- a/lib/arm/divsi3.S +++ b/lib/arm/divsi3.S @@ -25,7 +25,7 @@ // Ok, APCS and AAPCS agree on 32 bit args, so it's safe to use the same routine. DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_idiv, __divsi3) DEFINE_COMPILERRT_FUNCTION(__divsi3) -#if __ARM_ARCH_7S__ +#if __ARM_ARCH_EXT_IDIV__ tst r1,r1 beq LOCAL_LABEL(divzero) sdiv r0, r0, r1 diff --git a/lib/arm/modsi3.S b/lib/arm/modsi3.S index 04595011..fe75b41b 100644 --- a/lib/arm/modsi3.S +++ b/lib/arm/modsi3.S @@ -23,7 +23,7 @@ .syntax unified .align 3 DEFINE_COMPILERRT_FUNCTION(__modsi3) -#if __ARM_ARCH_7S__ +#if __ARM_ARCH_EXT_IDIV__ tst r1, r1 beq LOCAL_LABEL(divzero) sdiv r2, r0, r1 diff --git a/lib/arm/udivmodsi4.S b/lib/arm/udivmodsi4.S index 9956cd48..5fe53fe5 100644 --- a/lib/arm/udivmodsi4.S +++ b/lib/arm/udivmodsi4.S @@ -31,7 +31,7 @@ .syntax unified .align 3 DEFINE_COMPILERRT_FUNCTION(__udivmodsi4) -#if __ARM_ARCH_7S__ +#if __ARM_ARCH_EXT_IDIV__ tst r1, r1 beq LOCAL_LABEL(divzero) mov r3, r0 diff --git a/lib/arm/udivsi3.S b/lib/arm/udivsi3.S index 28979fee..1c158251 100644 --- a/lib/arm/udivsi3.S +++ b/lib/arm/udivsi3.S @@ -33,7 +33,7 @@ // Ok, APCS and AAPCS agree on 32 bit args, so it's safe to use the same routine. DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_uidiv, __udivsi3) DEFINE_COMPILERRT_FUNCTION(__udivsi3) -#if __ARM_ARCH_7S__ +#if __ARM_ARCH_EXT_IDIV__ tst r1,r1 beq LOCAL_LABEL(divzero) udiv r0, r0, r1 diff --git a/lib/arm/umodsi3.S b/lib/arm/umodsi3.S index 328e7054..188edf30 100644 --- a/lib/arm/umodsi3.S +++ b/lib/arm/umodsi3.S @@ -23,7 +23,7 @@ .syntax unified .align 3 DEFINE_COMPILERRT_FUNCTION(__umodsi3) -#if __ARM_ARCH_7S__ +#if __ARM_ARCH_EXT_IDIV__ tst r1, r1 beq LOCAL_LABEL(divzero) udiv r2, r0, r1 -- cgit v1.2.3