Skip to content

Commit 9e75d6b

Browse files
committed
LoongArch64: Fixed swap_lsx.S
Fixed the error when the stride is zero
1 parent e8c7403 commit 9e75d6b

File tree

1 file changed

+9
-56
lines changed

1 file changed

+9
-56
lines changed

kernel/loongarch64/swap_lsx.S

Lines changed: 9 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -348,62 +348,15 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
348348
move XX, X
349349

350350
.L222:
351-
LD a1, X, 0
352-
add.d X, X, INCX
353-
LD a2, X, 0
354-
add.d X, X, INCX
355-
LD a3, X, 0
356-
add.d X, X, INCX
357-
LD a4, X, 0
358-
add.d X, X, INCX
359-
LD b1, Y, 0
360-
ST a1, Y, 0
361-
add.d Y, Y, INCY
362-
LD b2, Y, 0
363-
ST a2, Y, 0
364-
add.d Y, Y, INCY
365-
LD b3, Y, 0
366-
ST a3, Y, 0
367-
add.d Y, Y, INCY
368-
LD b4, Y, 0
369-
ST a4, Y, 0
370-
add.d Y, Y, INCY
371-
LD a1, X, 0
372-
add.d X, X, INCX
373-
ST b1, XX, 0
374-
add.d XX, XX, INCX
375-
LD b1, Y, 0
376-
ST a1, Y, 0
377-
add.d Y, Y, INCY
378-
LD a2, X, 0
379-
add.d X, X, INCX
380-
ST b2, XX, 0
381-
add.d XX, XX, INCX
382-
LD b2, Y, 0
383-
ST a2, Y, 0
384-
add.d Y, Y, INCY
385-
LD a3, X, 0
386-
add.d X, X, INCX
387-
ST b3, XX, 0
388-
add.d XX, XX, INCX
389-
LD b3, Y, 0
390-
ST a3, Y, 0
391-
LD a4, X, 0
392-
add.d X, X, INCX
393-
ST b4, XX, 0
394-
add.d XX, XX, INCX
395-
LD b4, Y, 0
396-
ST a4, Y, 0
397-
add.d Y, Y, INCY
398-
ST b1, XX, 0
399-
add.d XX, XX, INCX
400-
ST b2, XX, 0
401-
add.d XX, XX, INCX
402-
ST b3, XX, 0
403-
add.d XX, XX, INCX
404-
ST b4, XX, 0
405-
add.d XX, XX, INCX
406-
addi.d I, I, -1
351+
.rept 8
352+
LD $f12, X, 0
353+
LD $f14, Y, 0
354+
ST $f12, Y, 0
355+
ST $f14, X, 0
356+
add.d X, X, INCX
357+
add.d Y, Y, INCY
358+
.endr
359+
addi.d I, I, -1
407360
blt $r0, I, .L222
408361
.align 3
409362

0 commit comments

Comments
 (0)