diff options
author | Andrew Waterman <andrew@sifive.com> | 2021-03-08 14:38:34 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-08 14:38:34 -0800 |
commit | 06f630cb30c60c32452058710e98c7b05106b7f5 (patch) | |
tree | 237c8e359116d06056a742bd7b7868e8c10f5fcf /riscv/encoding.h | |
parent | 6d5a351a9833cf7555e6b91019c481b9e55b47bf (diff) | |
parent | da7748e6d88c75559e8f3c09067a502fe950136e (diff) | |
download | spike-06f630cb30c60c32452058710e98c7b05106b7f5.zip spike-06f630cb30c60c32452058710e98c7b05106b7f5.tar.gz spike-06f630cb30c60c32452058710e98c7b05106b7f5.tar.bz2 |
Merge pull request #649 from ben-marshall/scalar-crypto-fix
Scalar crypto fixes
Diffstat (limited to 'riscv/encoding.h')
-rw-r--r-- | riscv/encoding.h | 63 |
1 files changed, 51 insertions, 12 deletions
diff --git a/riscv/encoding.h b/riscv/encoding.h index 881ed7d..3c5a473 100644 --- a/riscv/encoding.h +++ b/riscv/encoding.h @@ -967,14 +967,28 @@ #define MATCH_AES64IM 0x30001013 #define MASK_AES64KS2 0xfe00707f #define MATCH_AES64KS2 0x7e000033 -#define MASK_AESESM 0x3e00707f -#define MATCH_AESESM 0x36000033 -#define MASK_AESES 0x3e00707f -#define MATCH_AESES 0x32000033 -#define MASK_AESDSM 0x3e00707f -#define MATCH_AESDSM 0x3e000033 -#define MASK_AESDS 0x3e00707f -#define MATCH_AESDS 0x3a000033 +#define MASK_AES32ESMI 0x3e007fff +#define MATCH_AES32ESMI 0x36000033 +#define MASK_AES32ESI 0x3e007fff +#define MATCH_AES32ESI 0x32000033 +#define MASK_AES32DSMI 0x3e007fff +#define MATCH_AES32DSMI 0x3e000033 +#define MASK_AES32DSI 0x3e007fff +#define MATCH_AES32DSI 0x3a000033 +#define MASK_AES64KS1I 0xff00707f +#define MATCH_AES64KS1I 0x31001013 +#define MASK_AES64IM 0xfff0707f +#define MATCH_AES64IM 0x30001013 +#define MASK_AES64KS2 0xfe00707f +#define MATCH_AES64KS2 0x7e000033 +#define MASK_AES64ESM 0xfe00707f +#define MATCH_AES64ESM 0x36000033 +#define MASK_AES64ES 0xfe00707f +#define MATCH_AES64ES 0x32000033 +#define MASK_AES64DSM 0xfe00707f +#define MATCH_AES64DSM 0x3e000033 +#define MASK_AES64DS 0xfe00707f +#define MATCH_AES64DS 0x3a000033 #define MASK_SHA512SUM0 0xfff0707f #define MATCH_SHA512SUM0 0x10401013 #define MASK_SHA512SUM1 0xfff0707f @@ -2752,10 +2766,25 @@ DECLARE_INSN(sm4ks, MATCH_SM4KS, MASK_SM4KS) DECLARE_INSN(aes64ks1i, MATCH_AES64KS1I, MASK_AES64KS1I) DECLARE_INSN(aes64ks2, MATCH_AES64KS2, MASK_AES64KS2) DECLARE_INSN(aes64im, MATCH_AES64IM, MASK_AES64IM) -DECLARE_INSN(aesesm, MATCH_AESESM, MASK_AESESM) -DECLARE_INSN(aeses, MATCH_AESES, MASK_AESES) -DECLARE_INSN(aesdsm, MATCH_AESDSM, MASK_AESDSM) -DECLARE_INSN(aesds, MATCH_AESDS, MASK_AESDS) +DECLARE_INSN(aes64es, MATCH_AES64ES, MASK_AES64ES) +DECLARE_INSN(aes64esm, MATCH_AES64ESM, MASK_AES64ESM) +DECLARE_INSN(aes64ds, MATCH_AES64DS, MASK_AES64DS) +DECLARE_INSN(aes64dsm, MATCH_AES64DSM, MASK_AES64DSM) +DECLARE_RV64_ONLY(aes64ks1i) +DECLARE_RV64_ONLY(aes64ks2) +DECLARE_RV64_ONLY(aes64im) +DECLARE_RV64_ONLY(aes64es) +DECLARE_RV64_ONLY(aes64esm) +DECLARE_RV64_ONLY(aes64ds) +DECLARE_RV64_ONLY(aes64dsm) +DECLARE_INSN(aes32esi, MATCH_AES32ESI, MASK_AES32ESI) +DECLARE_INSN(aes32esmi, MATCH_AES32ESMI, MASK_AES32ESMI) +DECLARE_INSN(aes32dsi, MATCH_AES32DSI, MASK_AES32DSI) +DECLARE_INSN(aes32dsmi, MATCH_AES32DSMI, MASK_AES32DSMI) +DECLARE_RV32_ONLY(aes32esi) +DECLARE_RV32_ONLY(aes32esmi) +DECLARE_RV32_ONLY(aes32dsi) +DECLARE_RV32_ONLY(aes32dsmi) DECLARE_INSN(sha256sig0, MATCH_SHA256SIG0, MASK_SHA256SIG0) DECLARE_INSN(sha256sig1, MATCH_SHA256SIG1, MASK_SHA256SIG1) DECLARE_INSN(sha256sum0, MATCH_SHA256SUM0, MASK_SHA256SUM0) @@ -2768,10 +2797,20 @@ DECLARE_INSN(sha512sig1l, MATCH_SHA512SIG1L, MASK_SHA512SIG1L) DECLARE_INSN(sha512sig1h, MATCH_SHA512SIG1H, MASK_SHA512SIG1H) DECLARE_INSN(sha512sum0r, MATCH_SHA512SUM0R, MASK_SHA512SUM0R) DECLARE_INSN(sha512sum1r, MATCH_SHA512SUM1R, MASK_SHA512SUM1R) +DECLARE_RV32_ONLY(sha512sig0l) +DECLARE_RV32_ONLY(sha512sig0h) +DECLARE_RV32_ONLY(sha512sig1l) +DECLARE_RV32_ONLY(sha512sig1h) +DECLARE_RV32_ONLY(sha512sum0r) +DECLARE_RV32_ONLY(sha512sum1r) DECLARE_INSN(sha512sig0, MATCH_SHA512SIG0, MASK_SHA512SIG0) DECLARE_INSN(sha512sig1, MATCH_SHA512SIG1, MASK_SHA512SIG1) DECLARE_INSN(sha512sum0, MATCH_SHA512SUM0, MASK_SHA512SUM0) DECLARE_INSN(sha512sum1, MATCH_SHA512SUM1, MASK_SHA512SUM1) +DECLARE_RV64_ONLY(sha512sig0) +DECLARE_RV64_ONLY(sha512sig1) +DECLARE_RV64_ONLY(sha512sum0) +DECLARE_RV64_ONLY(sha512sum1) DECLARE_INSN(pollentropy, MATCH_POLLENTROPY, MASK_POLLENTROPY) DECLARE_INSN(getnoise, MATCH_GETNOISE, MASK_GETNOISE) DECLARE_INSN(ecall, MATCH_ECALL, MASK_ECALL) |