summaryrefslogtreecommitdiff
path: root/arch/mips
diff options
context:
space:
mode:
authornoone <you@example.com>2024-07-31 19:22:32 -0500
committerAlexander Taylor <alex@vector35.com>2024-08-12 15:50:54 -0400
commitc79af77b50dee80dcba9800e42e94eb6abb3e53a (patch)
tree0ae19d250f6dfbd2d69c8b14f86d72128a60b635 /arch/mips
parent5d75e51b89e4ea10ca21e50bfda1a433c3cbe861 (diff)
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.
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/il.cpp15
1 files 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;