summaryrefslogtreecommitdiff
path: root/arch/mips/lib/ashldi3.c
diff options
context:
space:
mode:
authorAntony Pavlov <antonynpavlov@gmail.com>2018-04-11 08:50:19 +0100
committerJames Hogan <jhogan@kernel.org>2018-04-23 16:39:37 +0100
commit740129b36faf049e6845819144542a0455e1e285 (patch)
treeab8af98dc7e16bb923a91ef928a10c7d7da2dec6 /arch/mips/lib/ashldi3.c
parent9ed491b88bc6f318c1a79d4f298ac0d78a2de587 (diff)
MIPS: Use generic GCC library routines from lib/
The commit b35cd9884fa5 ("lib: Add shared copies of some GCC library routines") makes it possible to share generic GCC library routines by several architectures. This commit removes several generic GCC library routines from arch/mips/lib/ in favour of similar routines from lib/. Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com> [Matt Redfearn] Use GENERIC_LIB_* named Kconfig entries Signed-off-by: Matt Redfearn <matt.redfearn@mips.com> Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/19051/ Signed-off-by: James Hogan <jhogan@kernel.org>
Diffstat (limited to 'arch/mips/lib/ashldi3.c')
-rw-r--r--arch/mips/lib/ashldi3.c30
1 files changed, 0 insertions, 30 deletions
diff --git a/arch/mips/lib/ashldi3.c b/arch/mips/lib/ashldi3.c
deleted file mode 100644
index 24cd6903e797..000000000000
--- a/arch/mips/lib/ashldi3.c
+++ /dev/null
@@ -1,30 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-#include <linux/export.h>
-
-#include "libgcc.h"
-
-long long notrace __ashldi3(long long u, word_type b)
-{
- DWunion uu, w;
- word_type bm;
-
- if (b == 0)
- return u;
-
- uu.ll = u;
- bm = 32 - b;
-
- if (bm <= 0) {
- w.s.low = 0;
- w.s.high = (unsigned int) uu.s.low << -bm;
- } else {
- const unsigned int carries = (unsigned int) uu.s.low >> bm;
-
- w.s.low = (unsigned int) uu.s.low << b;
- w.s.high = ((unsigned int) uu.s.high << b) | carries;
- }
-
- return w.ll;
-}
-
-EXPORT_SYMBOL(__ashldi3);