From eba682b767a60db51ff624ae48a3ca0124634705 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Thu, 25 Aug 2022 06:59:34 -0300 Subject: Implement some 32-bit Thumb instructions (#3614) * Implement some 32-bit Thumb instructions * Optimize OpCode32MemMult using PopCount --- ARMeilleure/Decoders/OpCodeTable.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'ARMeilleure/Decoders/OpCodeTable.cs') diff --git a/ARMeilleure/Decoders/OpCodeTable.cs b/ARMeilleure/Decoders/OpCodeTable.cs index 023b9a4a..7fee8a71 100644 --- a/ARMeilleure/Decoders/OpCodeTable.cs +++ b/ARMeilleure/Decoders/OpCodeTable.cs @@ -1070,14 +1070,19 @@ namespace ARMeilleure.Decoders SetT32("11110x011011xxxx0xxx1111xxxxxxxx", InstName.Cmp, InstEmit32.Cmp, OpCodeT32AluImm.Create); SetT32("11101010100x1>1<<<xxxxxxxx", InstName.Str, InstEmit32.Str, OpCodeT32MemImm8.Create); SetT32("111110001100xxxxxxxxxxxxxxxxxxxx", InstName.Str, InstEmit32.Str, OpCodeT32MemImm12.Create); + SetT32("111110000100<<<xxxxxxxx", InstName.Strb, InstEmit32.Strb, OpCodeT32MemImm8.Create); SetT32("111110001000xxxxxxxxxxxxxxxxxxxx", InstName.Strb, InstEmit32.Strb, OpCodeT32MemImm12.Create); + SetT32("1110100>x1>0<<<xxxxxxxx", InstName.Strh, InstEmit32.Strh, OpCodeT32MemImm8.Create); SetT32("111110001010xxxxxxxxxxxxxxxxxxxx", InstName.Strh, InstEmit32.Strh, OpCodeT32MemImm12.Create); SetT32("11101011101