From: Ciro Santilli Date: Fri, 31 May 2019 15:08:09 +0000 (+0100) Subject: arch-arm: implement VMINNM scalar thumb X-Git-Tag: v19.0.0.0~776 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c1e040d81aa6fe0dcd9ecce1d4bf4b3cef60f894;p=gem5.git 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 Maintainer: Andreas Sandberg Tested-by: kokoro --- 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( + size, machInst, vd, vn, vm); + } else { + if (size == 1) { + return new FailUnimplemented("vmaxnm.f16", machInst); + } + return decodeNeonSizeSingleDouble( + size, machInst, vd, vn, vm); + } + } if ((opc3 & 0x1) == 0) { if (single) { return decodeVfpRegRegRegOp(