loongarch: Fixed {s/d/sc/dz}amin LASX opt

This commit is contained in:
gxw 2024-03-16 09:41:38 +08:00
parent 6534d378b7
commit a10dde5554
2 changed files with 23 additions and 8 deletions

View File

@ -160,8 +160,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
xvinsgr2vr.d VX1, t2, 1 xvinsgr2vr.d VX1, t2, 1
xvinsgr2vr.d VX1, t3, 2 xvinsgr2vr.d VX1, t3, 2
xvinsgr2vr.d VX1, t4, 3 xvinsgr2vr.d VX1, t4, 3
xvfmaxa.d VM1, VX0, VX1 xvfmina.d VM1, VX0, VX1
xvfmaxa.d VM0, VM0, VM1 xvfmina.d VM0, VM0, VM1
#else #else
ld.w t1, X, 0 ld.w t1, X, 0
add.d X, X, INCX add.d X, X, INCX
@ -187,7 +187,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
xvinsgr2vr.w VM1, t2, 5 xvinsgr2vr.w VM1, t2, 5
xvinsgr2vr.w VM1, t3, 6 xvinsgr2vr.w VM1, t3, 6
xvinsgr2vr.w VM1, t4, 7 xvinsgr2vr.w VM1, t4, 7
xvfmaxa.s VM0, VM0, VM1 xvfmina.s VM0, VM0, VM1
#endif #endif
addi.d I, I, -1 addi.d I, I, -1
blt $r0, I, .L21 blt $r0, I, .L21

View File

@ -116,15 +116,27 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifdef DOUBLE #ifdef DOUBLE
xvpickve.d x1, VM0, 0 xvpickve.d x1, VM0, 0
xvpickve.d x2, VM0, 1 xvpickve.d x2, VM0, 1
XVFMIN VM0, x1, x2 XVFMIN VX0, x1, x2
xvpickve.d x1, VM0, 2
xvpickve.d x2, VM0, 3
XVFMIN VX1, x1, x2
XVFMIN VM0, VX0, VX1
#else #else
xvpickve.w x1, VM0, 0 xvpickve.w x1, VM0, 0
xvpickve.w x2, VM0, 1 xvpickve.w x2, VM0, 1
xvpickve.w x3, VM0, 2 xvpickve.w x3, VM0, 2
xvpickve.w x4, VM0, 3 xvpickve.w x4, VM0, 3
XVFMIN VX0, x1, x2
XVFMIN VX1, x3, x4
XVFMIN VX0, VX0, VX1
xvpickve.w x1, VM0, 4
xvpickve.w x2, VM0, 5
xvpickve.w x3, VM0, 6
xvpickve.w x4, VM0, 7
XVFMIN VM0, x1, x2 XVFMIN VM0, x1, x2
XVFMIN VM1, x3, x4 XVFMIN VM1, x3, x4
XVFMIN VM0, VM0, VM1 XVFMIN VM0, VM0, VM1
XVFMIN VM0, VM0, VX0
#endif #endif
b .L23 b .L23
.align 3 .align 3
@ -159,7 +171,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FABS t4, t4 FABS t4, t4
ADD t1, t1, t2 ADD t1, t1, t2
ADD t3, t3, t4 ADD t3, t3, t4
FMIN s1, t1, t3 FMIN s2, t1, t3
LD t1, X, 0 * SIZE LD t1, X, 0 * SIZE
LD t2, X, 1 * SIZE LD t2, X, 1 * SIZE
add.d X, X, INCX add.d X, X, INCX
@ -187,13 +199,16 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ADD t1, t1, t2 ADD t1, t1, t2
ADD t3, t3, t4 ADD t3, t3, t4
FMIN s4, t1, t3 FMIN s4, t1, t3
FMIN s1, s1, s2
FMIN s3, s3, s4
FMIN a0, a0, s3
FMIN a0, a0, s1
blt $r0, I, .L21 blt $r0, I, .L21
.align 3 .align 3
.L22: .L22:
FMIN s1, s1, s2 MOV s1, a0
FMIN s3, s3, s4
FMIN s1, s1, s3
.align 3 .align 3
.L23: //N<8 .L23: //N<8