// PCALIGN padding on riscv64: 4-byte NOPs with a 2-byte compressed NOP when // the pad is 2 mod 4, exactly as the toolchain lays the bytes down. #include "textflag.h" // func Pad8(x int64) int64 TEXT ·Pad8(SB), NOSPLIT, $0-16 MOV x+0(FP), X5 PCALIGN $8 ADD $1, X5 MOV X5, ret+8(FP) RET // func Pad16(x int64) int64 TEXT ·Pad16(SB), NOSPLIT, $0-16 MOV x+0(FP), X5 PCALIGN $16 ADD $1, X5 MOV X5, ret+8(FP) RET // func Pad32(x int64) int64 TEXT ·Pad32(SB), NOSPLIT, $0-16 MOV x+0(FP), X5 PCALIGN $32 ADD $1, X5 MOV X5, ret+8(FP) RET // func PadAfterOdd(x int64) int64 TEXT ·PadAfterOdd(SB), NOSPLIT, $0-16 MOV x+0(FP), X5 PCALIGN $8 ADD $1, X5 MOV X5, ret+8(FP) RET