loongarch: Fixed {s/d/c/z}axpby LASX opt

This commit is contained in:
gxw 2024-03-14 20:32:02 +08:00
parent dc0338af47
commit 7d755912b9
2 changed files with 17 additions and 3 deletions

View File

@ -139,9 +139,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
xvst VX1, Y, 4 * SIZE
#else
xvfmul.s VX0, VX0, VXA
addi.d I, I, -1
xvst VX0, Y, 0 * SIZE
#endif
addi.d I, I, -1
addi.d X, X, 8 * SIZE
addi.d Y, Y, 8 * SIZE
blt $r0, I, .L112
@ -288,6 +288,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
addi.d X, X, 8 * SIZE
addi.d I, I, -1
blt $r0, I, .L121
move Y, YY
b .L997
.align 3
@ -334,6 +335,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
add.d YY, YY, INCY
addi.d X, X, 8 * SIZE
blt $r0, I, .L122
move Y, YY
b .L997
.align 3
@ -425,6 +427,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
add.d YY, YY, INCY
addi.d I, I, -1
blt $r0, I, .L123
move Y, YY
b .L997
.align 3
@ -465,6 +468,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
add.d YY, YY, INCY
addi.d I, I, -1
blt $r0, I, .L124
move Y, YY
b .L997
.align 3
@ -803,6 +807,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endif
add.d YY, YY, INCY
blt $r0, I, .L221
move Y, YY
b .L997
.align 3
@ -895,6 +900,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endif
add.d YY, YY, INCY
blt $r0, I, .L222
move Y, YY
b .L997
.align 3
@ -987,6 +993,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endif
add.d YY, YY, INCY
blt $r0, I, .L223
move Y, YY
b .L997
.align 3
@ -1027,6 +1034,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
add.d YY, YY, INCY
addi.d I, I, -1
blt $r0, I, .L224
move Y, YY
b .L997
.align 3

View File

@ -176,13 +176,13 @@
xvilvh.d VX3, x4, x3
xvst VX2, Y, 0 * SIZE
xvst VX3, Y, 4 * SIZE
addi.d X, Y, 8 * SIZE
addi.d Y, Y, 8 * SIZE
#else
xvilvl.w VX2, x4 ,x3
xvilvh.w VX3, x4, x3
xvst VX2, Y, 0 * SIZE
xvst VX3, Y, 8 * SIZE
addi.d X, Y, 16 * SIZE
addi.d Y, Y, 16 * SIZE
#endif
addi.d I, I, -1
blt $r0, I, .L113
@ -617,6 +617,7 @@
xvstelm.d x4, YY, 1 * SIZE, 3
add.d YY, YY, INCY
blt $r0, I, .L222
move Y, YY
b .L997
.align 3
#else
@ -691,6 +692,7 @@
xvstelm.w x4, YY, 1 * SIZE, 7
add.d YY, YY, INCY
blt $r0, I, .L222
move Y, YY
b .L997
.align 3
#endif
@ -1011,7 +1013,11 @@
#endif
.L997:
#ifdef DOUBLE
andi I, N, 3
#else
andi I, N, 7
#endif
bge $r0, I, .L999
.align 3