aboutsummaryrefslogtreecommitdiff
path: root/extensions/rv_zvkn
blob: ab38e15776a093e617937047b26a503150fcf70c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Zvkn, Vector Crypto Extension, NIST Algorithm Suite

# Import Zvkb (proper subset of Zvbb extension)
$import rv_zvbb::vandn.vv
$import rv_zvbb::vandn.vx
$import rv_zvbb::vbrev8.v
$import rv_zvbb::vrev8.v
$import rv_zvbb::vrol.vv
$import rv_zvbb::vrol.vx
$import rv_zvbb::vror.vv
$import rv_zvbb::vror.vx
$import rv_zvbb::vror.vi

# Import Zvkned
$import rv_zvkned::vaesef.vs
$import rv_zvkned::vaesef.vv
$import rv_zvkned::vaesem.vs
$import rv_zvkned::vaesem.vv
$import rv_zvkned::vaesdf.vs
$import rv_zvkned::vaesdf.vv
$import rv_zvkned::vaesdm.vs
$import rv_zvkned::vaesdm.vv
$import rv_zvkned::vaeskf1.vi
$import rv_zvkned::vaeskf2.vi
$import rv_zvkned::vaesz.vs

# Import Zvknh.
# "Zvkn" implies "Zvknhb". We import the instructions from 'rv_zvknha',
# because we cannot import already imported instructions, 'rv_zvknhb'
# imports them from 'rv_zvknha', and the instructions are identical.
$import rv_zvknha::vsha2ms.vv
$import rv_zvknha::vsha2ch.vv
$import rv_zvknha::vsha2cl.vv