210 lines
3.2 KiB
ArmAsm
210 lines
3.2 KiB
ArmAsm
// Differential kernel: the arith_add vector slice against the Go
|
|
// toolchain's loong64enc1.s rows (gasm v. go tool asm, byte for byte).
|
|
|
|
#include "textflag.h"
|
|
|
|
TEXT ·VADDB(SB), NOSPLIT, $0
|
|
VADDB V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDH(SB), NOSPLIT, $0
|
|
VADDH V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDQ(SB), NOSPLIT, $0
|
|
VADDQ V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·XVADDB(SB), NOSPLIT, $0
|
|
XVADDB X3, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVADDH(SB), NOSPLIT, $0
|
|
XVADDH X3, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVADDW(SB), NOSPLIT, $0
|
|
XVADDW X3, X2, X1
|
|
RET
|
|
|
|
TEXT ·XVADDQ(SB), NOSPLIT, $0
|
|
XVADDQ X3, X2, X1
|
|
RET
|
|
|
|
TEXT ·VADDBU(SB), NOSPLIT, $0
|
|
VADDBU $1, V2
|
|
VADDBU $1, V2, V1
|
|
RET
|
|
|
|
TEXT ·VADDHU(SB), NOSPLIT, $0
|
|
VADDHU $2, V2, V1
|
|
RET
|
|
|
|
TEXT ·VADDWU(SB), NOSPLIT, $0
|
|
VADDWU $3, V2, V1
|
|
RET
|
|
|
|
TEXT ·VADDVU(SB), NOSPLIT, $0
|
|
VADDVU $4, V2, V1
|
|
RET
|
|
|
|
TEXT ·XVADDBU(SB), NOSPLIT, $0
|
|
XVADDBU $9, X1, X2
|
|
RET
|
|
|
|
TEXT ·XVADDHU(SB), NOSPLIT, $0
|
|
XVADDHU $10, X1, X2
|
|
RET
|
|
|
|
TEXT ·XVADDWU(SB), NOSPLIT, $0
|
|
XVADDWU $11, X1, X2
|
|
RET
|
|
|
|
TEXT ·XVADDVU(SB), NOSPLIT, $0
|
|
XVADDVU $12, X1, X2
|
|
RET
|
|
|
|
TEXT ·VADDWEVHB(SB), NOSPLIT, $0
|
|
VADDWEVHB V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWEVWH(SB), NOSPLIT, $0
|
|
VADDWEVWH V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWEVVW(SB), NOSPLIT, $0
|
|
VADDWEVVW V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWEVQV(SB), NOSPLIT, $0
|
|
VADDWEVQV V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWODHB(SB), NOSPLIT, $0
|
|
VADDWODHB V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWODWH(SB), NOSPLIT, $0
|
|
VADDWODWH V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWODVW(SB), NOSPLIT, $0
|
|
VADDWODVW V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWODQV(SB), NOSPLIT, $0
|
|
VADDWODQV V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·XVADDWEVHB(SB), NOSPLIT, $0
|
|
XVADDWEVHB X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWEVWH(SB), NOSPLIT, $0
|
|
XVADDWEVWH X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWEVVW(SB), NOSPLIT, $0
|
|
XVADDWEVVW X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWEVQV(SB), NOSPLIT, $0
|
|
XVADDWEVQV X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWODHB(SB), NOSPLIT, $0
|
|
XVADDWODHB X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWODWH(SB), NOSPLIT, $0
|
|
XVADDWODWH X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWODVW(SB), NOSPLIT, $0
|
|
XVADDWODVW X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWODQV(SB), NOSPLIT, $0
|
|
XVADDWODQV X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·VADDWEVHBU(SB), NOSPLIT, $0
|
|
VADDWEVHBU V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWEVWHU(SB), NOSPLIT, $0
|
|
VADDWEVWHU V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWEVVWU(SB), NOSPLIT, $0
|
|
VADDWEVVWU V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWEVQVU(SB), NOSPLIT, $0
|
|
VADDWEVQVU V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWODHBU(SB), NOSPLIT, $0
|
|
VADDWODHBU V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWODWHU(SB), NOSPLIT, $0
|
|
VADDWODWHU V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWODVWU(SB), NOSPLIT, $0
|
|
VADDWODVWU V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDWODQVU(SB), NOSPLIT, $0
|
|
VADDWODQVU V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·XVADDWEVHBU(SB), NOSPLIT, $0
|
|
XVADDWEVHBU X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWEVWHU(SB), NOSPLIT, $0
|
|
XVADDWEVWHU X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWEVVWU(SB), NOSPLIT, $0
|
|
XVADDWEVVWU X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWEVQVU(SB), NOSPLIT, $0
|
|
XVADDWEVQVU X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWODHBU(SB), NOSPLIT, $0
|
|
XVADDWODHBU X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWODWHU(SB), NOSPLIT, $0
|
|
XVADDWODWHU X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWODVWU(SB), NOSPLIT, $0
|
|
XVADDWODVWU X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDWODQVU(SB), NOSPLIT, $0
|
|
XVADDWODQVU X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·VADDF(SB), NOSPLIT, $0
|
|
VADDF V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·VADDD(SB), NOSPLIT, $0
|
|
VADDD V1, V2, V3
|
|
RET
|
|
|
|
TEXT ·XVADDF(SB), NOSPLIT, $0
|
|
XVADDF X1, X2, X3
|
|
RET
|
|
|
|
TEXT ·XVADDD(SB), NOSPLIT, $0
|
|
XVADDD X1, X2, X3
|
|
RET
|