Revert Thumb-2 conversion of some ARM builtins.
authorStephen Hines <srhines@google.com>
Thu, 17 Jul 2014 20:41:01 +0000 (20:41 +0000)
committerStephen Hines <srhines@google.com>
Thu, 17 Jul 2014 20:41:01 +0000 (20:41 +0000)
The udivmodsi4/modsi3/umodsi3 code computes jump targets based on ARM encodings
(if CLZ is present and IDIV is not present).

Reverts parts of r211032 and r211035.

llvm-svn: 213309

compiler-rt/lib/builtins/arm/udivmodsi4.S
compiler-rt/lib/builtins/arm/udivsi3.S
compiler-rt/lib/builtins/arm/umodsi3.S

index 5b4e1bc..ddc8752 100644 (file)
@@ -16,9 +16,6 @@
 
        .syntax unified
        .text
-#if __ARM_ARCH_ISA_THUMB == 2
-       .thumb
-#endif
 
        .p2align 2
 DEFINE_COMPILERRT_FUNCTION(__udivmodsi4)
@@ -99,16 +96,9 @@ DEFINE_COMPILERRT_FUNCTION(__udivmodsi4)
 
 #define        IMM     #
 
-#if __ARM_ARCH_ISA_THUMB == 2
-#define ITT itt
-#else
-#define ITT @
-#endif
-
-#define block(shift)                                                           \
-       cmp     r0, r1, lsl IMM shift;                                         \
-       ITT hs;                                                                \
-       addhs   r3, r3, IMM (1 << shift);                                      \
+#define block(shift) \
+       cmp     r0, r1, lsl IMM shift; \
+       addhs   r3, r3, IMM (1 << shift); \
        subhs   r0, r0, r1, lsl IMM shift
 
        block(31)
index 8695257..8fb1dca 100644 (file)
 
        .syntax unified
        .text
-#if __ARM_ARCH_ISA_THUMB == 2
-       .thumb
-#endif
-
-#if __ARM_ARCH_ISA_THUMB == 2
-#define IT  it
-#define ITT itt
-#else
-#define IT  @
-#define ITT @
-#endif
 
        .p2align 2
 DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_uidiv, __udivsi3)
@@ -40,12 +29,9 @@ DEFINE_COMPILERRT_FUNCTION(__udivsi3)
        bx      lr
 #else
        cmp     r1, #1
-       IT cc
        bcc     LOCAL_LABEL(divby0)
-       IT eq
        JMPc(lr, eq)
        cmp     r0, r1
-       ITT cc
        movcc   r0, #0
        JMPc(lr, cc)
        /*
@@ -108,10 +94,9 @@ DEFINE_COMPILERRT_FUNCTION(__udivsi3)
 
 #define        IMM     #
 
-#define block(shift)                                                           \
-       cmp     r0, r1, lsl IMM shift;                                         \
-       ITT hs;                                                                \
-       addhs   r3, r3, IMM (1 << shift);                                      \
+#define block(shift) \
+       cmp     r0, r1, lsl IMM shift; \
+       addhs   r3, r3, IMM (1 << shift); \
        subhs   r0, r0, r1, lsl IMM shift
 
        block(31)
index c690df3..164646b 100644 (file)
 
        .syntax unified
        .text
-#if __ARM_ARCH_ISA_THUMB == 2
-       .thumb
-#endif
-
-#if __ARM_ARCH_ISA_THUMB == 2
-#define IT  it
-#define ITT itt
-#else
-#define IT  @
-#define ITT @
-#endif
 
        .p2align 2
 DEFINE_COMPILERRT_FUNCTION(__umodsi3)
@@ -41,11 +30,9 @@ DEFINE_COMPILERRT_FUNCTION(__umodsi3)
 #else
        cmp     r1, #1
        bcc     LOCAL_LABEL(divby0)
-       ITT eq
        moveq   r0, #0
        JMPc(lr, eq)
        cmp     r0, r1
-       IT cc
        JMPc(lr, cc)
        /*
         * Implement division using binary long division algorithm.
@@ -103,9 +90,8 @@ DEFINE_COMPILERRT_FUNCTION(__umodsi3)
 
 #define        IMM     #
 
-#define block(shift)                                                           \
-       cmp     r0, r1, lsl IMM shift;                                         \
-       IT hs;                                                                 \
+#define block(shift) \
+       cmp     r0, r1, lsl IMM shift; \
        subhs   r0, r0, r1, lsl IMM shift
 
        block(31)