diff options
author | Stephen Hines <srhines@google.com> | 2013-10-25 06:26:44 +0000 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2013-10-25 06:26:44 +0000 |
commit | 3a6eb8083c342da436df8c7d1809dfeb8834bc6d (patch) | |
tree | e996e5d5c4b1e10105be7049931dde70ddd78d7c | |
parent | 10362d66fffcd99bd5ced983e4b389dfeba114d0 (diff) | |
download | compiler-rt-3a6eb8083c342da436df8c7d1809dfeb8834bc6d.tar.gz compiler-rt-3a6eb8083c342da436df8c7d1809dfeb8834bc6d.tar.bz2 compiler-rt-3a6eb8083c342da436df8c7d1809dfeb8834bc6d.tar.xz |
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
-rw-r--r-- | lib/arm/divmodsi4.S | 2 | ||||
-rw-r--r-- | lib/arm/divsi3.S | 2 | ||||
-rw-r--r-- | lib/arm/modsi3.S | 2 | ||||
-rw-r--r-- | lib/arm/udivmodsi4.S | 2 | ||||
-rw-r--r-- | lib/arm/udivsi3.S | 2 | ||||
-rw-r--r-- | 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 |