Files
riscv-isa-manual/normative_rule_defs/rv64.yaml

70 lines
2.4 KiB
YAML

# yaml-language-server: $schema=../docs-resources/schemas/defs-schema.json
$schema: "../docs-resources/schemas/defs-schema.json#"
# Used to create normative rules for rv64.adoc file.
# Tags refer to anchors in any adoc file for any ISA manual.
normative_rule_definitions:
- name: rv64i_xreg_sz
summary: RV64I XLEN
tags: ["norm:rv64i_xreg_sz"]
- name: rv64_w_sex
tags: ["norm:rv64_w_sex"]
- name: rv64i_other_xregs
summary: Registers x1 to x31
tags: ["norm:rv32i_rv64i_other_xregs"]
- name: addiw_op
tags: ["norm:addiw_op"]
- names: [slliw_op,srliw_op,sraiw_op]
tags: ["norm:slliw_srliw_sraiw_op"]
- names: [slliw_imm5_rsv,srliw_imm5_rsv,sraiw_imm5_rsv]
summary: Bit 5 of imm reserved
tags: ["norm:slliw_srliw_sraiw_imm5_rsv"]
- name: lui_op_rv64i
tags: ["norm:lui_op_rv64i"]
- name: auipc_op_rv64i
tags: ["norm:auipc_op_rv64i"]
- names: [addw_op,subw_op]
tags: ["norm:addw_subw_op"]
- names: [addw_overflow,subw_overflow]
tags: ["norm:addw_subw_overflow"]
- name: addiw_overflow
tags: ["norm:addiw_overflow"]
- names: [sll_sh_amt_rv64i,srl_sh_amt_rv64i,sra_sh_amt_rv64i]
tags: ["norm:sll_srl_sra_sh_amt_rv64i"]
- names: [sllw_op,srlw_op,sraw_op]
tags: ["norm:sllw_srlw_sraw_op"]
- name: ld_op_rv64i
tags: ["norm:ld_op_rv64i"]
- name: lw_op_rv64i
tags: ["norm:lw_op_rv64i"]
- name: lwu_op
tags: ["norm:lwu_op"]
- name: lh_op_rv64i
summary: "lh RV64I operation"
tags:
- "norm:ld_op_rv64i" # Example where multiple tags required to create a complete self-contained rule
- "norm:lw_op_rv64i"
- "norm:lh_lhu_lb_lbu_op_rv64i"
- name: lhu_rv64i_op
summary: "lhu RV64I operation"
tags:
- "norm:ld_op_rv64i" # Example where multiple tags required to create a complete self-contained rule
- "norm:lw_op_rv64i"
- "norm:lh_lhu_lb_lbu_op_rv64i"
- name: lb_rv64i_op
summary: "lb RV64I operation"
tags:
- "norm:ld_op_rv64i" # Example where multiple tags required to create a complete self-contained rule
- "norm:lw_op_rv64i"
- "norm:lh_lhu_lb_lbu_op_rv64i"
- name: lbu_rv64i_op
summary: "lbu RV64I operation"
tags:
- "norm:ld_op_rv64i" # Example where multiple tags required to create a complete self-contained rule
- "norm:lw_op_rv64i"
- "norm:lh_lhu_lb_lbu_op_rv64i"
- names: [sd_op_rv64i,sw_op_rv64i,sh_op_rv64i,sb_op_rv64i]
tags: ["norm:sd_sw_sh_sb_op_rv64i"]