diff options
author | Ciro Santilli <ciro.santilli@arm.com> | 2019-05-31 16:08:09 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2019-06-10 09:59:51 +0000 |
commit | c1e040d81aa6fe0dcd9ecce1d4bf4b3cef60f894 (patch) | |
tree | e4ae399bbbfef868b1fd7b1a96139f7a8f178272 /src/arch | |
parent | 21573956f7b2be8479af25b2e6cfa6c2ec8fae8e (diff) | |
download | gem5-c1e040d81aa6fe0dcd9ecce1d4bf4b3cef60f894.tar.xz |
arch-arm: implement VMINNM scalar thumb
VMINNM was implemented at Iabbbca2932557cf6c98ce36690c385c3ddf39ed8 but
the thumb scalar encoding was missing. This patch implements it.
Change-Id: Ia29ec77dbd82f6be6b3d040a0e737794f52c33bf
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19108
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/arm/isa/formats/fp.isa | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/arch/arm/isa/formats/fp.isa b/src/arch/arm/isa/formats/fp.isa index da439acb8..434a69c32 100644 --- a/src/arch/arm/isa/formats/fp.isa +++ b/src/arch/arm/isa/formats/fp.isa @@ -2539,6 +2539,23 @@ let {{ } } case 0x8: + if (machInst.condCode == 0xF) { + const bool op = bits(machInst, 6); + const uint32_t size = bits(machInst, 9, 8); + if (op) { + if (size == 1) { + return new FailUnimplemented("vminnm.f16", machInst); + } + return decodeNeonSizeSingleDouble<VminnmS, VminnmD>( + size, machInst, vd, vn, vm); + } else { + if (size == 1) { + return new FailUnimplemented("vmaxnm.f16", machInst); + } + return decodeNeonSizeSingleDouble<VmaxnmS, VmaxnmD>( + size, machInst, vd, vn, vm); + } + } if ((opc3 & 0x1) == 0) { if (single) { return decodeVfpRegRegRegOp<VdivS>( |