From ad13e04669baa3d1e0569c81cc90716325ef6e3a Mon Sep 17 00:00:00 2001 From: gxw Date: Tue, 19 Mar 2024 09:18:44 +0800 Subject: [PATCH] loongarch: Fixed {s/d/sc/dz}amin LSX opt --- kernel/loongarch64/amin_lsx.S | 12 ++++++------ kernel/loongarch64/camin_lsx.S | 11 +++++++---- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/kernel/loongarch64/amin_lsx.S b/kernel/loongarch64/amin_lsx.S index 47701b6e4..690444ca7 100644 --- a/kernel/loongarch64/amin_lsx.S +++ b/kernel/loongarch64/amin_lsx.S @@ -146,7 +146,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. add.d X, X, INCX vinsgr2vr.d VX1, t3, 0 vinsgr2vr.d VX1, t4, 1 - vfmaxa.d VM1, VX0, VX1 + vfmina.d VM1, VX0, VX1 ld.d t1, X, 0 * SIZE add.d X, X, INCX ld.d t2, X, 0 * SIZE @@ -159,9 +159,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. add.d X, X, INCX vinsgr2vr.d VX1, t3, 0 vinsgr2vr.d VX1, t4, 1 - vfmaxa.d VM2, VX0, VX1 - vfmaxa.d VM1, VM1, VM2 - vfmaxa.d VM0, VM0, VM1 + vfmina.d VM2, VX0, VX1 + vfmina.d VM1, VM1, VM2 + vfmina.d VM0, VM0, VM1 #else ld.w t1, X, 0 add.d X, X, INCX @@ -187,8 +187,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. vinsgr2vr.w VX1, t2, 1 vinsgr2vr.w VX1, t3, 2 vinsgr2vr.w VX1, t4, 3 - vfmaxa.s VM1, VX0, VX1 - vfmaxa.s VM0, VM0, VM1 + vfmina.s VM1, VX0, VX1 + vfmina.s VM0, VM0, VM1 #endif addi.d I, I, -1 blt $r0, I, .L21 diff --git a/kernel/loongarch64/camin_lsx.S b/kernel/loongarch64/camin_lsx.S index ff666ea8f..2fd78a233 100644 --- a/kernel/loongarch64/camin_lsx.S +++ b/kernel/loongarch64/camin_lsx.S @@ -186,7 +186,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. FABS t4, t4 ADD t1, t1, t2 ADD t3, t3, t4 - FMIN s1, t1, t3 + FMIN s2, t1, t3 LD t1, X, 0 * SIZE LD t2, X, 1 * SIZE add.d X, X, INCX @@ -214,13 +214,16 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ADD t1, t1, t2 ADD t3, t3, t4 FMIN s4, t1, t3 + + FMIN s1, s1, s2 + FMIN s3, s3, s4 + FMIN a0, a0, s3 + FMIN a0, a0, s1 blt $r0, I, .L21 .align 3 .L22: - FMIN s1, s1, s2 - FMIN s3, s3, s4 - FMIN s1, s1, s3 + MOV s1, a0 .align 3 .L23: //N<8