From c79af77b50dee80dcba9800e42e94eb6abb3e53a Mon Sep 17 00:00:00 2001 From: noone Date: Wed, 31 Jul 2024 19:22:32 -0500 Subject: Differentiate some enums in IL switch statement This makes it easier to see which instructions still need to be lifted versus those which never should be lifted. --- arch/mips/il.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/arch/mips/il.cpp b/arch/mips/il.cpp index 14829c63..e056c7aa 100644 --- a/arch/mips/il.cpp +++ b/arch/mips/il.cpp @@ -2114,13 +2114,9 @@ bool GetLowLevelILForInstruction(Architecture* arch, uint64_t addr, LowLevelILFu //unimplemented system functions case MIPS_BC1ANY2: case MIPS_BC1ANY4: - case MIPS_BSHFL: case MIPS_C2: case MIPS_CFC1: case MIPS_CFC2: - case MIPS_COP0: - case MIPS_COP1: - case MIPS_COP1X: case MIPS_COP2: case MIPS_COP3: case MIPS_CTC1: @@ -2146,6 +2142,17 @@ bool GetLowLevelILForInstruction(Architecture* arch, uint64_t addr, LowLevelILFu case MIPS_SWXC1: il.AddInstruction(il.Unimplemented()); break; + + // instructions that are just internal placeholders for other + // decode tables; these will never be implemented because they're + // not real instructions + case MIPS_BSHFL: + case MIPS_COP0: + case MIPS_COP1: + case MIPS_COP1X: + il.AddInstruction(il.Undefined()); + break; + default: il.AddInstruction(il.Unimplemented()); break; -- cgit v1.3.1