translate_thumb: Permit ASIMD element or structure load/store instructions to be translated
This commit is contained in:
parent
62ecc2537e
commit
05a6b5f623
1 changed files with 2 additions and 2 deletions
|
@ -104,7 +104,7 @@ IR::Block TranslateThumb(LocationDescriptor descriptor, MemoryReadCodeFuncType m
|
|||
} else {
|
||||
if (const auto decoder = DecodeThumb32<TranslatorVisitor>(thumb_instruction)) {
|
||||
should_continue = decoder->get().call(visitor, thumb_instruction);
|
||||
} else if ((thumb_instruction & 0xEC000000) == 0xEC000000) {
|
||||
} else if ((thumb_instruction & 0xEC000000) == 0xEC000000 || (thumb_instruction & 0xFF100000) == 0xF9000000) {
|
||||
if (const auto vfp_decoder = DecodeVFP<TranslatorVisitor>(thumb_instruction)) {
|
||||
should_continue = vfp_decoder->get().call(visitor, thumb_instruction);
|
||||
} else if (const auto asimd_decoder = DecodeASIMD<TranslatorVisitor>(ConvertASIMDInstruction(thumb_instruction))) {
|
||||
|
@ -158,7 +158,7 @@ bool TranslateSingleThumbInstruction(IR::Block& block, LocationDescriptor descri
|
|||
thumb_instruction = Common::SwapHalves32(thumb_instruction);
|
||||
if (const auto decoder = DecodeThumb32<TranslatorVisitor>(thumb_instruction)) {
|
||||
should_continue = decoder->get().call(visitor, thumb_instruction);
|
||||
} else if ((thumb_instruction & 0xEC000000) == 0xEC000000) {
|
||||
} else if ((thumb_instruction & 0xEC000000) == 0xEC000000 || (thumb_instruction & 0xFF100000) == 0xF9000000) {
|
||||
if (const auto vfp_decoder = DecodeVFP<TranslatorVisitor>(thumb_instruction)) {
|
||||
should_continue = vfp_decoder->get().call(visitor, thumb_instruction);
|
||||
} else if (const auto asimd_decoder = DecodeASIMD<TranslatorVisitor>(ConvertASIMDInstruction(thumb_instruction))) {
|
||||
|
|
Loading…
Reference in a new issue