summaryrefslogtreecommitdiffstats
path: root/arch/h8300/lib/mulsi3.S
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2022-02-23 08:47:20 +0100
committerChristoph Hellwig <hch@lst.de>2022-02-23 08:52:50 +0100
commit1c4b5ecb7ea190fa3e9f9d6891e6c90b60e04f24 (patch)
treea9444a92909dc4929e0d1e42301e1d3dbd16c35c /arch/h8300/lib/mulsi3.S
parent5c1ee569660d4a205dced9cb4d0306b907fb7599 (diff)
downloadlinux-1c4b5ecb7ea190fa3e9f9d6891e6c90b60e04f24.tar.bz2
remove the h8300 architecture
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'arch/h8300/lib/mulsi3.S')
-rw-r--r--arch/h8300/lib/mulsi3.S39
1 files changed, 0 insertions, 39 deletions
diff --git a/arch/h8300/lib/mulsi3.S b/arch/h8300/lib/mulsi3.S
deleted file mode 100644
index 5a062fd298d1..000000000000
--- a/arch/h8300/lib/mulsi3.S
+++ /dev/null
@@ -1,39 +0,0 @@
-; SPDX-License-Identifier: GPL-2.0
-;
-; mulsi3 for H8/300H - based on Renesas SH implementation
-;
-; by Toshiyasu Morita
-;
-; Old code:
-;
-; 16b * 16b = 372 states (worst case)
-; 32b * 32b = 724 states (worst case)
-;
-; New code:
-;
-; 16b * 16b = 48 states
-; 16b * 32b = 72 states
-; 32b * 32b = 92 states
-;
-
- .global __mulsi3
-__mulsi3:
- mov.w r1,r2 ; ( 2 states) b * d
- mulxu r0,er2 ; (22 states)
-
- mov.w e0,r3 ; ( 2 states) a * d
- beq L_skip1 ; ( 4 states)
- mulxu r1,er3 ; (22 states)
- add.w r3,e2 ; ( 2 states)
-
-L_skip1:
- mov.w e1,r3 ; ( 2 states) c * b
- beq L_skip2 ; ( 4 states)
- mulxu r0,er3 ; (22 states)
- add.w r3,e2 ; ( 2 states)
-
-L_skip2:
- mov.l er2,er0 ; ( 2 states)
- rts ; (10 states)
-
- .end