feat(riscv): add MOV pseudo-instruction and RVC compressed encoding
Assisted-by: DeepSeek V4 Pro
This commit is contained in:
Vendored
+12
-14
@@ -4,21 +4,19 @@
|
||||
#include "textflag.h"
|
||||
|
||||
// func fma(a, b, c float64) float64
|
||||
// Computes a*b + c using fused multiply-add.
|
||||
TEXT ·fma(SB), NOSPLIT, $0-32
|
||||
FLD a+0(FP), FA0
|
||||
FLD b+8(FP), FA1
|
||||
FLD c+16(FP), FA2
|
||||
FMADDD FA0, FA1, FA2, FA3
|
||||
FSD FA3, ret+24(FP)
|
||||
RET
|
||||
FLD a+0(FP), F10
|
||||
FLD b+8(FP), F11
|
||||
FLD c+16(FP), F12
|
||||
FMADDD F10, F11, F12, F13
|
||||
FSD F13, ret+24(FP)
|
||||
RET
|
||||
|
||||
// func fms(a, b, c float64) float64
|
||||
// Computes a*b - c using fused multiply-subtract.
|
||||
TEXT ·fms(SB), NOSPLIT, $0-32
|
||||
FLD a+0(FP), FA0
|
||||
FLD b+8(FP), FA1
|
||||
FLD c+16(FP), FA2
|
||||
FMSUBD FA0, FA1, FA2, FA3
|
||||
FSD FA3, ret+24(FP)
|
||||
RET
|
||||
FLD a+0(FP), F10
|
||||
FLD b+8(FP), F11
|
||||
FLD c+16(FP), F12
|
||||
FMSUBD F10, F11, F12, F13
|
||||
FSD F13, ret+24(FP)
|
||||
RET
|
||||
|
||||
Reference in New Issue
Block a user