summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/formats/aarch64.isa
diff options
context:
space:
mode:
authorGiacomo Travaglini <giacomo.travaglini@arm.com>2018-05-01 10:14:35 +0100
committerGiacomo Travaglini <giacomo.travaglini@arm.com>2018-10-09 09:12:28 +0000
commit52bab3f6eb87bca3b3b79e28f516da9e79445d07 (patch)
treee3e7b4391355eb7f63fd0da6b9e98df4084e15b6 /src/arch/arm/isa/formats/aarch64.isa
parentb27545be48f7065aa6561e5d46e8316951f5eeee (diff)
downloadgem5-52bab3f6eb87bca3b3b79e28f516da9e79445d07.tar.xz
arch-arm: AArch64 Crypto SHA
This patch implements the AArch64 secure hashing instructions from the Crypto extension. Change-Id: I2cdfa81b994637c880f2523fe37cdc6596d05cb1 Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/13249 Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Diffstat (limited to 'src/arch/arm/isa/formats/aarch64.isa')
-rw-r--r--src/arch/arm/isa/formats/aarch64.isa11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/arch/arm/isa/formats/aarch64.isa b/src/arch/arm/isa/formats/aarch64.isa
index 77e598c7f..241f9637f 100644
--- a/src/arch/arm/isa/formats/aarch64.isa
+++ b/src/arch/arm/isa/formats/aarch64.isa
@@ -2111,15 +2111,20 @@ namespace Aarch64
return decodeNeonSc3Diff(machInst);
} else if (bits(machInst, 20, 17) == 0x0) {
return decodeNeonSc2RegMisc(machInst);
+ } else if (bits(machInst, 20, 17) == 0x4) {
+ return decodeCryptoTwoRegSHA(machInst);
} else if (bits(machInst, 20, 17) == 0x8) {
return decodeNeonScPwise(machInst);
} else {
return new Unknown64(machInst);
}
} else if (bits(machInst, 23, 22) == 0 &&
- bits(machInst, 15) == 0 &&
- bits(machInst, 10) == 1) {
- return decodeNeonScCopy(machInst);
+ bits(machInst, 15) == 0) {
+ if (bits(machInst, 10) == 1) {
+ return decodeNeonScCopy(machInst);
+ } else {
+ return decodeCryptoThreeRegSHA(machInst);
+ }
} else {
return new Unknown64(machInst);
}