Re: [U-Boot] [PATCH 10/12] arm: lib: Import Thumb1 functions

2016-06-02 Thread Tom Rini
On Thu, May 26, 2016 at 06:01:45PM +0200, Marek Vasut wrote:

> Import functions into lib1funcs.S which are required for Thumb1
> build. These functions come from gcc 5.3.1 release.
> 
> Signed-off-by: Marek Vasut 
> Cc: Albert Aribaud 
> Cc: Masahiro Yamada 
> Cc: Simon Glass 
> Cc: Tom Rini 

Reviewed-by: Tom Rini 

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 10/12] arm: lib: Import Thumb1 functions

2016-05-26 Thread Marek Vasut
Import functions into lib1funcs.S which are required for Thumb1
build. These functions come from gcc 5.3.1 release.

Signed-off-by: Marek Vasut 
Cc: Albert Aribaud 
Cc: Masahiro Yamada 
Cc: Simon Glass 
Cc: Tom Rini 
---
 arch/arm/lib/lib1funcs.S | 53 
 1 file changed, 53 insertions(+)

diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S
index c343ea9..408839b 100644
--- a/arch/arm/lib/lib1funcs.S
+++ b/arch/arm/lib/lib1funcs.S
@@ -349,3 +349,56 @@ UNWIND(.save {lr})
ldr pc, [sp], #8
 UNWIND(.fnend)
 ENDPROC(Ldiv0)
+
+/* Thumb-1 specialities */
+#if defined(CONFIG_SYS_THUMB_BUILD) && !defined(CONFIG_HAS_THUMB2)
+ENTRY(__gnu_thumb1_case_sqi)
+   push{r1}
+   mov r1, lr
+   lsrsr1, r1, #1
+   lslsr1, r1, #1
+   ldrsb   r1, [r1, r0]
+   lslsr1, r1, #1
+   add lr, lr, r1
+   pop {r1}
+   bx  lr
+ENDPROC(__gnu_thumb1_case_sqi)
+
+ENTRY(__gnu_thumb1_case_uqi)
+   push{r1}
+   mov r1, lr
+   lsrsr1, r1, #1
+   lslsr1, r1, #1
+   ldrbr1, [r1, r0]
+   lslsr1, r1, #1
+   add lr, lr, r1
+   pop {r1}
+   bx  lr
+ENDPROC(__gnu_thumb1_case_uqi)
+
+ENTRY(__gnu_thumb1_case_shi)
+   push{r0, r1}
+   mov r1, lr
+   lsrsr1, r1, #1
+   lslsr0, r0, #1
+   lslsr1, r1, #1
+   ldrsh   r1, [r1, r0]
+   lslsr1, r1, #1
+   add lr, lr, r1
+   pop {r0, r1}
+   bx  lr
+ENDPROC(__gnu_thumb1_case_shi)
+
+ENTRY(__gnu_thumb1_case_uhi)
+   push{r0, r1}
+   mov r1, lr
+   lsrsr1, r1, #1
+   lslsr0, r0, #1
+   lslsr1, r1, #1
+   ldrhr1, [r1, r0]
+   lslsr1, r1, #1
+   add lr, lr, r1
+   pop {r0, r1}
+   bx  lr
+ENDPROC(__gnu_thumb1_case_uhi)
+#endif
-- 
2.7.0

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot