33 lines
543 B
ArmAsm
33 lines
543 B
ArmAsm
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
|
|||
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
||
|
|
|
||
|
|
#include "textflag.h"
|
||
|
|
|
||
|
|
TEXT ·shifts(SB), NOSPLIT, $0
|
||
|
|
SLLI $3, X10, X10
|
||
|
|
SRLI $2, X10, X10
|
||
|
|
SRAI $1, X10, X10
|
||
|
|
RET
|
||
|
|
|
||
|
|
TEXT ·logic(SB), NOSPLIT, $0
|
||
|
|
AND X11, X10, X10
|
||
|
|
OR X11, X10, X10
|
||
|
|
XOR X11, X10, X10
|
||
|
|
ANDI $7, X10, X10
|
||
|
|
RET
|
||
|
|
|
||
|
|
TEXT ·mv(SB), NOSPLIT, $0
|
||
|
|
ADDI $0, X11, X10
|
||
|
|
RET
|
||
|
|
|
||
|
|
TEXT ·nop(SB), NOSPLIT, $0
|
||
|
|
ADDI $0, X0
|
||
|
|
RET
|
||
|
|
|
||
|
|
TEXT ·bigframe(SB), NOSPLIT, $24-0
|
||
|
|
RET
|
||
|
|
|
||
|
|
TEXT ·ebreak(SB), NOSPLIT, $0
|
||
|
|
EBREAK
|
||
|
|
RET
|