fix(asm): match RISC-V branch and jump encodings
This commit is contained in:
Vendored
+35
@@ -0,0 +1,35 @@
|
||||
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·branches(SB), NOSPLIT, $0
|
||||
ADDI $1, X10, X10
|
||||
BEQ X10, X11, beq_done
|
||||
ADDI $2, X10, X10
|
||||
beq_done:
|
||||
BNE X10, X11, bne_done
|
||||
ADDI $3, X10, X10
|
||||
bne_done:
|
||||
BLT X10, X11, blt_done
|
||||
ADDI $4, X10, X10
|
||||
blt_done:
|
||||
BGE X10, X11, bge_done
|
||||
ADDI $5, X10, X10
|
||||
bge_done:
|
||||
BLTU X10, X11, bltu_done
|
||||
ADDI $6, X10, X10
|
||||
bltu_done:
|
||||
BGEU X10, X11, bgeu_done
|
||||
ADDI $7, X10, X10
|
||||
bgeu_done:
|
||||
RET
|
||||
|
||||
TEXT ·jumps(SB), NOSPLIT, $0
|
||||
JMP done
|
||||
ADDI $1, X10, X10
|
||||
done:
|
||||
JAL X11, skip
|
||||
ADDI $2, X10, X10
|
||||
skip:
|
||||
RET
|
||||
Reference in New Issue
Block a user