VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
b24413180f560 (Greg Kroah-Hartman 2017-11-01 15:07:57 +0100  1) ; SPDX-License-Identifier: GPL-2.0
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900  2) ;
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900  3) ; mulsi3 for H8/300H - based on Renesas SH implementation
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900  4) ;
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900  5) ; by Toshiyasu Morita
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900  6) ;
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900  7) ; Old code:
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900  8) ;
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900  9) ; 16b * 16b = 372 states (worst case)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 10) ; 32b * 32b = 724 states (worst case)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 11) ;
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 12) ; New code:
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 13) ;
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 14) ; 16b * 16b =  48 states
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 15) ; 16b * 32b =  72 states
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 16) ; 32b * 32b =  92 states
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 17) ;
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 18) 
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 19) 	.global __mulsi3
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 20) __mulsi3:
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 21) 	mov.w	r1,r2   ; ( 2 states) b * d
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 22) 	mulxu	r0,er2  ; (22 states)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 23) 
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 24) 	mov.w	e0,r3   ; ( 2 states) a * d
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 25) 	beq	L_skip1 ; ( 4 states)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 26) 	mulxu	r1,er3  ; (22 states)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 27) 	add.w	r3,e2   ; ( 2 states)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 28) 
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 29) L_skip1:
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 30) 	mov.w	e1,r3   ; ( 2 states) c * b
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 31) 	beq	L_skip2 ; ( 4 states)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 32) 	mulxu	r0,er3  ; (22 states)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 33) 	add.w	r3,e2   ; ( 2 states)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 34) 
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 35) L_skip2:
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 36) 	mov.l	er2,er0	; ( 2 states)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 37) 	rts		; (10 states)
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 38) 
a71a29de4c2f9 (Yoshinori Sato     2015-01-28 02:48:15 +0900 39) 	.end