Skip to content

Commit b342c41

Browse files
Added Vector 1.0 Uop Generation Support (#247)
Olympia now supports uop generation for all vector instructions EXCEPT for some permutes (e.g. gathers, compresses, some complex slides). The uop generation for permutes is very dependent on how their execution unit is designed, so I've left them unimplemented for now. All types of uop generation have a test.
1 parent 68f3e87 commit b342c41

37 files changed

+1515
-956
lines changed

arches/big_core.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ top.cpu.core0.extension.core_extensions:
2929
["int", "mul"], # exe2
3030
["int", "mul", "i2f", "cmov"], # exe3
3131
["int"], # exe4
32-
["int"], # exe5
32+
["int", "vset"], # exe5
3333
["float", "faddsub", "fmac"], # exe6
3434
["float", "f2i"], # exe7
3535
["br"], # exe8
3636
["br"], # exe9
37-
["vint", "vset", "vdiv", "vmul"]
37+
["vint", "vdiv", "vmul", "vfixed", "vmask", "vmv", "v2s", "vfloat", "vfdiv", "vfmul", "vpermute", "vload", "vstore"] # exe10
3838
]
3939
# this is used to set how many units per queue
4040
# ["0", "3"] means iq0 has exe0, exe1, exe2, and exe3, so it's inclusive

arches/isa_json/gen_uarch_rv64v_json.py

Lines changed: 322 additions & 234 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)