diff --git a/src/frontend/A32/translate/impl/asimd_load_store_structures.cpp b/src/frontend/A32/translate/impl/asimd_load_store_structures.cpp index 4d0664c5..3c678162 100644 --- a/src/frontend/A32/translate/impl/asimd_load_store_structures.cpp +++ b/src/frontend/A32/translate/impl/asimd_load_store_structures.cpp @@ -314,7 +314,7 @@ bool ArmTranslatorVisitor::v8_VLD_single(bool D, Reg n, size_t Vd, size_t sz, si if (nelem == 1 && inc == 2) { return UndefinedInstruction(); } - if (nelem == 1 && (a != 0b00 && a != 0b11)) { + if (nelem == 1 && sz == 2 && (a != 0b00 && a != 0b11)) { return UndefinedInstruction(); } if (nelem == 2 && Common::Bit<1>(a)) {