summaryrefslogtreecommitdiffstats
path: root/target/arm/translate-sve.c
diff options
context:
space:
mode:
authorRichard Henderson2021-05-25 03:03:36 +0200
committerPeter Maydell2021-05-25 17:01:44 +0200
commit3358eb3fb71a4f1663f3260773e5cf7ced7879c8 (patch)
treeb07b6b2e8d98e88a2cbb1f912e8e213766a74d6a /target/arm/translate-sve.c
parenttarget/arm: Implement SVE2 crypto destructive binary operations (diff)
downloadqemu-3358eb3fb71a4f1663f3260773e5cf7ced7879c8.tar.gz
qemu-3358eb3fb71a4f1663f3260773e5cf7ced7879c8.tar.xz
qemu-3358eb3fb71a4f1663f3260773e5cf7ced7879c8.zip
target/arm: Implement SVE2 crypto constructive binary operations
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20210525010358.152808-71-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target/arm/translate-sve.c')
-rw-r--r--target/arm/translate-sve.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c
index 3b977b2462..2136a41094 100644
--- a/target/arm/translate-sve.c
+++ b/target/arm/translate-sve.c
@@ -8197,3 +8197,19 @@ static bool trans_SM4E(DisasContext *s, arg_rrr_esz *a)
{
return do_sm4(s, a, gen_helper_crypto_sm4e);
}
+
+static bool trans_SM4EKEY(DisasContext *s, arg_rrr_esz *a)
+{
+ return do_sm4(s, a, gen_helper_crypto_sm4ekey);
+}
+
+static bool trans_RAX1(DisasContext *s, arg_rrr_esz *a)
+{
+ if (!dc_isar_feature(aa64_sve2_sha3, s)) {
+ return false;
+ }
+ if (sve_access_check(s)) {
+ gen_gvec_fn_zzz(s, gen_gvec_rax1, MO_64, a->rd, a->rn, a->rm);
+ }
+ return true;
+}