From 4b80110cf8610f2ea6b4f7414fe32577618188cf Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Sat, 9 May 2009 17:57:21 +0900 Subject: [PATCH] --- yaml --- r: 146759 b: refs/heads/master c: 1031a3a57ed76f5cb8754a89ddb22f3d9ebe8861 h: refs/heads/master i: 146757: 4388c11ffb926f9c1a16f09423c37276dc69abcb 146755: 238d118afb85e3a77157f4ee156128e9a2ffa7d4 146751: a9a14bbc673eb9cc269e7044669699ac446c6f9d v: v3 --- [refs] | 2 +- trunk/arch/sh/kernel/sh_ksyms_64.c | 2 ++ trunk/arch/sh/lib64/sdivsi3.S | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b495483b57ae..2e002bb916cf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2bcfffa42309b6f73042c62459bf5207762a271d +refs/heads/master: 1031a3a57ed76f5cb8754a89ddb22f3d9ebe8861 diff --git a/trunk/arch/sh/kernel/sh_ksyms_64.c b/trunk/arch/sh/kernel/sh_ksyms_64.c index 0d74d6b8774e..8f54ef0cfbca 100644 --- a/trunk/arch/sh/kernel/sh_ksyms_64.c +++ b/trunk/arch/sh/kernel/sh_ksyms_64.c @@ -76,5 +76,7 @@ EXPORT_SYMBOL(strcpy); #define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name) DECLARE_EXPORT(__sdivsi3); +DECLARE_EXPORT(__sdivsi3_1); +DECLARE_EXPORT(__sdivsi3_2); DECLARE_EXPORT(__udivsi3); DECLARE_EXPORT(__div_table); diff --git a/trunk/arch/sh/lib64/sdivsi3.S b/trunk/arch/sh/lib64/sdivsi3.S index 6a800c6a4904..1963bbd42288 100644 --- a/trunk/arch/sh/lib64/sdivsi3.S +++ b/trunk/arch/sh/lib64/sdivsi3.S @@ -1,4 +1,6 @@ .global __sdivsi3 + .global __sdivsi3_1 + .global __sdivsi3_2 .section .text..SHmedia32,"ax" .align 2 @@ -6,13 +8,15 @@ /* clobbered: r1,r18,r19,r20,r21,r25,tr0 */ /* result in r0 */ __sdivsi3: +__sdivsi3_1: ptb __div_table,tr0 + gettr tr0,r20 +__sdivsi3_2: nsb r5, r1 shlld r5, r1, r25 /* normalize; [-2 ..1, 1..2) in s2.62 */ shari r25, 58, r21 /* extract 5(6) bit index (s2.4 with hole -1..1) */ /* bubble */ - gettr tr0,r20 ldx.ub r20, r21, r19 /* u0.8 */ shari r25, 32, r25 /* normalize to s2.30 */ shlli r21, 1, r21