summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Hines <srhines@google.com>2013-10-25 06:26:44 +0000
committerStephen Hines <srhines@google.com>2013-10-25 06:26:44 +0000
commit3a6eb8083c342da436df8c7d1809dfeb8834bc6d (patch)
treee996e5d5c4b1e10105be7049931dde70ddd78d7c
parent10362d66fffcd99bd5ced983e4b389dfeba114d0 (diff)
downloadcompiler-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.S2
-rw-r--r--lib/arm/divsi3.S2
-rw-r--r--lib/arm/modsi3.S2
-rw-r--r--lib/arm/udivmodsi4.S2
-rw-r--r--lib/arm/udivsi3.S2
-rw-r--r--lib/arm/umodsi3.S2
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