feat(riscv64,loong64): operand tail, float DATA and honest port classification
Assisted-by: GLM 5.3 Flash
This commit is contained in:
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
// Copyright (c) 2026 Petr Balvín <opensource@petrbalvin.org> (https://petrbalvin.org)
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
// Differential kernel for the loong64 DATA value forms the runtime's exp and
|
||||
// asm files use: floating-point initialisers stored as IEEE-754 bits and
|
||||
// string initialisers zero-padded within their declared width.
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
TEXT ·floatbits(SB), NOSPLIT, $0-8
|
||||
MOVV $floats<>(SB), R12
|
||||
MOVD 8(R12), F0
|
||||
MOVD F0, ret+0(FP)
|
||||
RET
|
||||
|
||||
TEXT ·stringhead(SB), NOSPLIT, $0-8
|
||||
MOVV $msg<>(SB), R12
|
||||
MOVV (R12), R13
|
||||
MOVV R13, ret+0(FP)
|
||||
RET
|
||||
|
||||
GLOBL floats<>(SB), RODATA, $16
|
||||
DATA floats<>+0(SB)/8, $0.0
|
||||
DATA floats<>+8(SB)/8, $0.5
|
||||
|
||||
GLOBL msg<>(SB), RODATA, $20
|
||||
DATA msg<>+0(SB)/20, $"call frame too large"
|
||||
Reference in New Issue
Block a user