summaryrefslogtreecommitdiff
path: root/src/arch/arm/isa/formats
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/isa/formats')
-rw-r--r--src/arch/arm/isa/formats/aarch64.isa6
-rw-r--r--src/arch/arm/isa/formats/fp.isa6
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);
}