Skip to content

Commit 60a664f

Browse files
feat: add vector register file
1 parent 3595412 commit 60a664f

File tree

2 files changed

+147
-1
lines changed

2 files changed

+147
-1
lines changed

spec/schemas/schema_defs.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
{
5454
"type": "string",
5555
"minLength": 1,
56-
"enum": ["MXLEN", "FLEN"]
56+
"enum": ["MXLEN", "FLEN", "VLEN"]
5757
}
5858
]
5959
},

spec/std/isa/register_file/V.yaml

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# Copyright (c) Animesh Agarwal
2+
# SPDX-License-Identifier: BSD-3-Clause-Clear
3+
4+
# yaml-language-server: $schema=../../../../schemas/register_file_schema.json
5+
6+
$schema: register_file_schema.json#
7+
kind: register_file
8+
name: V
9+
long_name: Vector Registers
10+
description: |
11+
The 'V' register file contains the 32 vector registers defined by the RISC-V
12+
Vector Extension (RVV). Each register holds VLEN bits of data. Under the
13+
current ABI spec all vector registers are caller-saved temporaries and do not
14+
participate in argument passing or return values.
15+
definedBy: V
16+
register_class: vector
17+
register_length: VLEN
18+
registers:
19+
- name: v0
20+
caller_saved: true
21+
roles: [temporary]
22+
description: Caller-saved vector temporary register.
23+
- name: v1
24+
caller_saved: true
25+
roles: [temporary]
26+
description: Caller-saved vector temporary register.
27+
- name: v2
28+
caller_saved: true
29+
roles: [temporary]
30+
description: Caller-saved vector temporary register.
31+
- name: v3
32+
caller_saved: true
33+
roles: [temporary]
34+
description: Caller-saved vector temporary register.
35+
- name: v4
36+
caller_saved: true
37+
roles: [temporary]
38+
description: Caller-saved vector temporary register.
39+
- name: v5
40+
caller_saved: true
41+
roles: [temporary]
42+
description: Caller-saved vector temporary register.
43+
- name: v6
44+
caller_saved: true
45+
roles: [temporary]
46+
description: Caller-saved vector temporary register.
47+
- name: v7
48+
caller_saved: true
49+
roles: [temporary]
50+
description: Caller-saved vector temporary register.
51+
- name: v8
52+
caller_saved: true
53+
roles: [temporary]
54+
description: Caller-saved vector temporary register.
55+
- name: v9
56+
caller_saved: true
57+
roles: [temporary]
58+
description: Caller-saved vector temporary register.
59+
- name: v10
60+
caller_saved: true
61+
roles: [temporary]
62+
description: Caller-saved vector temporary register.
63+
- name: v11
64+
caller_saved: true
65+
roles: [temporary]
66+
description: Caller-saved vector temporary register.
67+
- name: v12
68+
caller_saved: true
69+
roles: [temporary]
70+
description: Caller-saved vector temporary register.
71+
- name: v13
72+
caller_saved: true
73+
roles: [temporary]
74+
description: Caller-saved vector temporary register.
75+
- name: v14
76+
caller_saved: true
77+
roles: [temporary]
78+
description: Caller-saved vector temporary register.
79+
- name: v15
80+
caller_saved: true
81+
roles: [temporary]
82+
description: Caller-saved vector temporary register.
83+
- name: v16
84+
caller_saved: true
85+
roles: [temporary]
86+
description: Caller-saved vector temporary register.
87+
- name: v17
88+
caller_saved: true
89+
roles: [temporary]
90+
description: Caller-saved vector temporary register.
91+
- name: v18
92+
caller_saved: true
93+
roles: [temporary]
94+
description: Caller-saved vector temporary register.
95+
- name: v19
96+
caller_saved: true
97+
roles: [temporary]
98+
description: Caller-saved vector temporary register.
99+
- name: v20
100+
caller_saved: true
101+
roles: [temporary]
102+
description: Caller-saved vector temporary register.
103+
- name: v21
104+
caller_saved: true
105+
roles: [temporary]
106+
description: Caller-saved vector temporary register.
107+
- name: v22
108+
caller_saved: true
109+
roles: [temporary]
110+
description: Caller-saved vector temporary register.
111+
- name: v23
112+
caller_saved: true
113+
roles: [temporary]
114+
description: Caller-saved vector temporary register.
115+
- name: v24
116+
caller_saved: true
117+
roles: [temporary]
118+
description: Caller-saved vector temporary register.
119+
- name: v25
120+
caller_saved: true
121+
roles: [temporary]
122+
description: Caller-saved vector temporary register.
123+
- name: v26
124+
caller_saved: true
125+
roles: [temporary]
126+
description: Caller-saved vector temporary register.
127+
- name: v27
128+
caller_saved: true
129+
roles: [temporary]
130+
description: Caller-saved vector temporary register.
131+
- name: v28
132+
caller_saved: true
133+
roles: [temporary]
134+
description: Caller-saved vector temporary register.
135+
- name: v29
136+
caller_saved: true
137+
roles: [temporary]
138+
description: Caller-saved vector temporary register.
139+
- name: v30
140+
caller_saved: true
141+
roles: [temporary]
142+
description: Caller-saved vector temporary register.
143+
- name: v31
144+
caller_saved: true
145+
roles: [temporary]
146+
description: Caller-saved vector temporary register.

0 commit comments

Comments
 (0)