[compiler-rt] r200397 - Support ARMv4 in the remaining non-VFP routines.

Joerg Sonnenberger joerg at bec.de
Wed Jan 29 05:54:55 PST 2014


Author: joerg
Date: Wed Jan 29 07:54:54 2014
New Revision: 200397

URL: http://llvm.org/viewvc/llvm-project?rev=200397&view=rev
Log:
Support ARMv4 in the remaining non-VFP routines.

Modified:
    compiler-rt/trunk/lib/arm/bswapdi2.S
    compiler-rt/trunk/lib/arm/bswapsi2.S
    compiler-rt/trunk/lib/arm/comparesf2.S

Modified: compiler-rt/trunk/lib/arm/bswapdi2.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/arm/bswapdi2.S?rev=200397&r1=200396&r2=200397&view=diff
==============================================================================
--- compiler-rt/trunk/lib/arm/bswapdi2.S (original)
+++ compiler-rt/trunk/lib/arm/bswapdi2.S Wed Jan 29 07:54:54 2014
@@ -16,7 +16,7 @@
 //
 .align 2
 DEFINE_COMPILERRT_FUNCTION(__bswapdi2)
-#if __ARM_ARCH_5TEJ__ || __ARM_ARCH_4T__
+#if __ARM_ARCH < 6
     // before armv6 does not have "rev" instruction
     // r2 = rev(r0)
     eor r2, r0, r0, ror #16
@@ -33,5 +33,5 @@ DEFINE_COMPILERRT_FUNCTION(__bswapdi2)
     rev r0, r1  // r0 = rev(r1)
 #endif
     mov r1, r2  // r1 = r2 = rev(r0)
-    bx  lr
+    JMP(lr)
 END_COMPILERRT_FUNCTION(__bswapdi2)

Modified: compiler-rt/trunk/lib/arm/bswapsi2.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/arm/bswapsi2.S?rev=200397&r1=200396&r2=200397&view=diff
==============================================================================
--- compiler-rt/trunk/lib/arm/bswapsi2.S (original)
+++ compiler-rt/trunk/lib/arm/bswapsi2.S Wed Jan 29 07:54:54 2014
@@ -16,7 +16,7 @@
 //
 .align 2
 DEFINE_COMPILERRT_FUNCTION(__bswapsi2)
-#if __ARM_ARCH_5TEJ__ || __ARM_ARCH_4T__
+#if __ARM_ARCH < 6
     // before armv6 does not have "rev" instruction
  	eor	r1, r0, r0, ror #16
  	bic	r1, r1, #0xff0000
@@ -25,5 +25,5 @@ DEFINE_COMPILERRT_FUNCTION(__bswapsi2)
 #else
     rev r0, r0
 #endif
-    bx  lr
+    JMP(lr)
 END_COMPILERRT_FUNCTION(__bswapsi2)

Modified: compiler-rt/trunk/lib/arm/comparesf2.S
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/arm/comparesf2.S?rev=200397&r1=200396&r2=200397&view=diff
==============================================================================
--- compiler-rt/trunk/lib/arm/comparesf2.S (original)
+++ compiler-rt/trunk/lib/arm/comparesf2.S Wed Jan 29 07:54:54 2014
@@ -99,7 +99,7 @@ DEFINE_COMPILERRT_FUNCTION(__eqsf2)
     ite ls
     cmpls   r3,         #0xff000000
     movhi   r0,         #1
-    bx      lr
+    JMP(lr)
 END_COMPILERRT_FUNCTION(__eqsf2)
 DEFINE_COMPILERRT_FUNCTION_ALIAS(__lesf2, __eqsf2)
 DEFINE_COMPILERRT_FUNCTION_ALIAS(__ltsf2, __eqsf2)
@@ -128,7 +128,7 @@ DEFINE_COMPILERRT_FUNCTION(__gtsf2)
     ite ls
     cmpls   r3,         #0xff000000
     movhi   r0,         #-1
-    bx      lr
+    JMP(lr)
 END_COMPILERRT_FUNCTION(__gtsf2)
 DEFINE_COMPILERRT_FUNCTION_ALIAS(__gesf2, __gtsf2)
 
@@ -142,7 +142,7 @@ DEFINE_COMPILERRT_FUNCTION(__unordsf2)
     ite ls
     cmpls   r3,         #0xff000000
     movhi   r0,         #1
-    bx      lr
+    JMP(lr)
 END_COMPILERRT_FUNCTION(__unordsf2)
 
 DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_fcmpun, __unordsf2)





More information about the llvm-commits mailing list