diff options
Diffstat (limited to 'src/arch/arm/isa/formats')
-rw-r--r-- | src/arch/arm/isa/formats/aarch64.isa | 6 | ||||
-rw-r--r-- | src/arch/arm/isa/formats/fp.isa | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/arch/arm/isa/formats/aarch64.isa b/src/arch/arm/isa/formats/aarch64.isa index 43dd557aa..77e598c7f 100644 --- a/src/arch/arm/isa/formats/aarch64.isa +++ b/src/arch/arm/isa/formats/aarch64.isa @@ -1637,12 +1637,14 @@ namespace Aarch64 if (type == 0) { // FMOV S[d] = imm8<7>:NOT(imm8<6>):Replicate(imm8<6>,5) // :imm8<5:0>:Zeros(19) - uint32_t imm = vfp_modified_imm(imm8, false); + uint32_t imm = vfp_modified_imm(imm8, + FpDataType::Fp32); return new FmovImmS(machInst, rd, imm); } else if (type == 1) { // FMOV D[d] = imm8<7>:NOT(imm8<6>):Replicate(imm8<6>,8) // :imm8<5:0>:Zeros(48) - uint64_t imm = vfp_modified_imm(imm8, true); + uint64_t imm = vfp_modified_imm(imm8, + FpDataType::Fp64); return new FmovImmD(machInst, rd, imm); } else { return new Unknown64(machInst); diff --git a/src/arch/arm/isa/formats/fp.isa b/src/arch/arm/isa/formats/fp.isa index 009b27c8f..2412a1f10 100644 --- a/src/arch/arm/isa/formats/fp.isa +++ b/src/arch/arm/isa/formats/fp.isa @@ -1,6 +1,6 @@ // -*- mode:c++ -*- -// Copyright (c) 2010-2011,2016 ARM Limited +// Copyright (c) 2010-2011, 2016-2018 ARM Limited // All rights reserved // // The license below extends only to copyright in the software and shall @@ -2401,11 +2401,11 @@ let {{ const uint32_t baseImm = bits(machInst, 3, 0) | (bits(machInst, 19, 16) << 4); if (single) { - uint32_t imm = vfp_modified_imm(baseImm, false); + uint32_t imm = vfp_modified_imm(baseImm, FpDataType::Fp32); return decodeVfpRegImmOp<VmovImmS>( machInst, vd, imm, false); } else { - uint64_t imm = vfp_modified_imm(baseImm, true); + uint64_t imm = vfp_modified_imm(baseImm, FpDataType::Fp64); return decodeVfpRegImmOp<VmovImmD>( machInst, vd, imm, true); } |