Files
gasm-sdk/testdata/verify/pairs_loong64.s
T

28 lines
814 B
ArmAsm
Raw Normal View History

// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
// SPDX-License-Identifier: BSD-3-Clause
// Differential kernel for the loong64 register-pair spellings: a top-level
// colon between two registers splits the operand in two with the halves
// swapped, so R4:R5 encodes exactly as R5, R4. The integer multiply and
// divide families, the FP pair and the vector pair, each the way
// GOARCH=loong64 go tool asm takes them.
#include "textflag.h"
TEXT ·pairs(SB), NOSPLIT, $0-0
MULV R4 : R5, R6
MULV R4 : R5
MULV R6, R4 : R5
DIVV R4 : R5, R6
DIVVU R4 : R5, R6
MULHV R4 : R5, R6
MULHVU R4 : R5, R6
ADDV R4 : R5, R6
ADDW R4 : R5, R6
AND R4 : R5, R6
OR R4 : R5, R6
XOR R4 : R5, R6
MOVV R4 : R5
MULD F4 : F5, F6
VADDW V1 : V2, V3
RET