[compiler-rt] r193392 - Switch __ARM_ARCH_7S__ to __ARM_ARCH_EXT_IDIV__ for use of sdiv/udiv assembly.

Stephen Hines srhines at google.com
Thu Oct 24 23:26:44 PDT 2013


Author: srhines
Date: Fri Oct 25 01:26:44 2013
New Revision: 193392

URL: http://llvm.org/viewvc/llvm-project?rev=193392&view=rev
Log:
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.

Modified:
    compiler-rt/trunk/lib/arm/divmodsi4.S
    compiler-rt/trunk/lib/arm/divsi3.S
    compiler-rt/trunk/lib/arm/modsi3.S
    compiler-rt/trunk/lib/arm/udivmodsi4.S
    compiler-rt/trunk/lib/arm/udivsi3.S
    compiler-rt/trunk/lib/arm/umodsi3.S

Modified: compiler-rt/trunk/lib/arm/divmodsi4.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/arm/divmodsi4.S?rev=193392&r1=193391&r2=193392&view=diff
==============================================================================
--- compiler-rt/trunk/lib/arm/divmodsi4.S (original)
+++ compiler-rt/trunk/lib/arm/divmodsi4.S Fri Oct 25 01:26:44 2013
@@ -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

Modified: compiler-rt/trunk/lib/arm/divsi3.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/arm/divsi3.S?rev=193392&r1=193391&r2=193392&view=diff
==============================================================================
--- compiler-rt/trunk/lib/arm/divsi3.S (original)
+++ compiler-rt/trunk/lib/arm/divsi3.S Fri Oct 25 01:26:44 2013
@@ -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

Modified: compiler-rt/trunk/lib/arm/modsi3.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/arm/modsi3.S?rev=193392&r1=193391&r2=193392&view=diff
==============================================================================
--- compiler-rt/trunk/lib/arm/modsi3.S (original)
+++ compiler-rt/trunk/lib/arm/modsi3.S Fri Oct 25 01:26:44 2013
@@ -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

Modified: compiler-rt/trunk/lib/arm/udivmodsi4.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/arm/udivmodsi4.S?rev=193392&r1=193391&r2=193392&view=diff
==============================================================================
--- compiler-rt/trunk/lib/arm/udivmodsi4.S (original)
+++ compiler-rt/trunk/lib/arm/udivmodsi4.S Fri Oct 25 01:26:44 2013
@@ -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

Modified: compiler-rt/trunk/lib/arm/udivsi3.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/arm/udivsi3.S?rev=193392&r1=193391&r2=193392&view=diff
==============================================================================
--- compiler-rt/trunk/lib/arm/udivsi3.S (original)
+++ compiler-rt/trunk/lib/arm/udivsi3.S Fri Oct 25 01:26:44 2013
@@ -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

Modified: compiler-rt/trunk/lib/arm/umodsi3.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/arm/umodsi3.S?rev=193392&r1=193391&r2=193392&view=diff
==============================================================================
--- compiler-rt/trunk/lib/arm/umodsi3.S (original)
+++ compiler-rt/trunk/lib/arm/umodsi3.S Fri Oct 25 01:26:44 2013
@@ -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





More information about the llvm-commits mailing list