Skip to main content

rvv

Macro rvv 

Source
macro_rules! rvv {
    (add x($rd:expr), x($rs1:expr), x($rs2:expr)) => { ... };
    (mv x($rd:expr), x($rs1:expr)) => { ... };
    (sub x($rd:expr), x($rs1:expr), x($rs2:expr)) => { ... };
    (neg x($rd:expr), x($rs2:expr)) => { ... };
    (and x($rd:expr), x($rs1:expr), x($rs2:expr)) => { ... };
    (or x($rd:expr), x($rs1:expr), x($rs2:expr)) => { ... };
    (xor x($rd:expr), x($rs1:expr), x($rs2:expr)) => { ... };
    (sll x($rd:expr), x($rs1:expr), x($rs2:expr)) => { ... };
    (srl x($rd:expr), x($rs1:expr), x($rs2:expr)) => { ... };
    (sra x($rd:expr), x($rs1:expr), x($rs2:expr)) => { ... };
    (addi x($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (nop) => { ... };
    (andi x($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (ori x($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (xori x($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (not x($rd:expr), x($rs1:expr)) => { ... };
    (slli x($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (srli x($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (srai x($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (ld x($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (sd x($rs1:expr), x($rs2:expr), $imm:expr) => { ... };
    (beq x($rs1:expr), x($rs2:expr), $imm:expr) => { ... };
    (bne x($rs1:expr), x($rs2:expr), $imm:expr) => { ... };
    (blt x($rs1:expr), x($rs2:expr), $imm:expr) => { ... };
    (ble x($rs1:expr), x($rs2:expr), $imm:expr) => { ... };
    (bgt x($rs1:expr), x($rs2:expr), $imm:expr) => { ... };
    (bge x($rs1:expr), x($rs2:expr), $imm:expr) => { ... };
    (bltu x($rs1:expr), x($rs2:expr), $imm:expr) => { ... };
    (bgeu x($rs1:expr), x($rs2:expr), $imm:expr) => { ... };
    (jal x($rd:expr), $imm:expr) => { ... };
    (j $imm:expr) => { ... };
    (jalr x($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (jr x($rs1:expr)) => { ... };
    (ret) => { ... };
    (lui x($rd:expr), $imm:expr) => { ... };
    (auipc x($rd:expr), $imm:expr) => { ... };
    (fadd.d f($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fadd.d f($rd:expr), f($rs1:expr), f($rs2:expr), $rm:expr) => { ... };
    (fsub.d f($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fmul.d f($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fdiv.d f($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fsqrt.d f($rd:expr), f($rs1:expr)) => { ... };
    (fsgnj.d f($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fsgnjn.d f($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fsgnjx.d f($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fmin.d f($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fmax.d f($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (feq.d x($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (flt.d x($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fle.d x($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fgt.d x($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fge.d x($rd:expr), f($rs1:expr), f($rs2:expr)) => { ... };
    (fld f($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (fsd f($rd:expr), x($rs1:expr), $imm:expr) => { ... };
    (fabs.d f($rd:expr), f($rs1:expr)) => { ... };
    (fmv.d f($rd:expr), f($rs1:expr)) => { ... };
    (fneg.d f($rd:expr), f($rs1:expr)) => { ... };
    (fcvt.w.d x($rd:expr), f($rs1:expr)) => { ... };
    (fcvt.d.w f($rd:expr), x($rs1:expr)) => { ... };
    (fcvt.l.d x($rd:expr), f($rs1:expr), $rm:expr) => { ... };
    (fcvt.d.l f($rd:expr), x($rs1:expr)) => { ... };
    (fmv.x.d x($rd:expr), f($rs1:expr)) => { ... };
    (fmv.d.x f($rd:expr), x($rs1:expr)) => { ... };
    (fmadd.d f($rd:expr), f($rs1:expr), f($rs2:expr), f($rs3:expr)) => { ... };
    (fmsub.d f($rd:expr), f($rs1:expr), f($rs2:expr), f($rs3:expr)) => { ... };
    (fnmadd.d f($rd:expr), f($rs1:expr), f($rs2:expr), f($rs3:expr)) => { ... };
    (fnmsub.d f($rd:expr), f($rs1:expr), f($rs2:expr), f($rs3:expr)) => { ... };
}