@@ -393,7 +393,8 @@ instance MC.IsArchFn ARMPrimFn where
393393 let ppUnary s v' = s PP. <+> v'
394394 ppBinary s v1' v2' = s PP. <+> v1' PP. <+> v2'
395395 ppTernary s v1' v2' v3' = s PP. <+> v1' PP. <+> v2' PP. <+> v3'
396- ppSC s imm r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 = s PP. <+> PP. viaShow imm PP. <+> r0 PP. <+> r1 PP. <+> r2 PP. <+> r3 PP. <+> r4 PP. <+> r5 PP. <+> r6 PP. <+> r7
396+ ppSC s imm r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 = s PP. <+> PP. viaShow imm PP. <+> r0 PP. <+> r1 PP. <+> r2 PP. <+> r3 PP. <+> r4 PP. <+> r5 PP. <+> r6 PP. <+> r7
397+ PP. <+> r8 PP. <+> r9 PP. <+> r10 PP. <+> r11 PP. <+> r12 PP. <+> r13 PP. <+> r14
397398 in case f of
398399 ARMSyscall imm r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 ->
399400 ppSC " arm_syscall" imm <$> pp r0 <*> pp r1 <*> pp r2 <*> pp r3 <*> pp r4 <*> pp r5 <*> pp r6 <*> pp r7 <*> pp r8 <*> pp r9 <*> pp r10 <*> pp r11 <*> pp r12 <*> pp r13 <*> pp r14
@@ -436,8 +437,9 @@ instance FCls.FoldableFC ARMPrimFn where
436437instance FCls. TraversableFC ARMPrimFn where
437438 traverseFC go f =
438439 case f of
439- ARMSyscall imm r0 r1 r2 r3 r4 r5 r6 r7 ->
440- ARMSyscall imm <$> go r0 <*> go r1 <*> go r2 <*> go r3 <*> go r4 <*> go r5 <*> go r6 <*> go r7
440+ ARMSyscall imm r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 ->
441+ ARMSyscall imm <$> go r0 <*> go r1 <*> go r2 <*> go r3 <*> go r4 <*> go r5 <*> go r6
442+ <*> go r7 <*> go r8 <*> go r9 <*> go r10 <*> go r11 <*> go r12 <*> go r13 <*> go r14
441443 UDiv rep lhs rhs -> UDiv rep <$> go lhs <*> go rhs
442444 SDiv rep lhs rhs -> SDiv rep <$> go lhs <*> go rhs
443445 URem rep lhs rhs -> URem rep <$> go lhs <*> go rhs
@@ -567,8 +569,9 @@ rewritePrimFn :: ARMPrimFn (MC.Value ARM.AArch32 src) tp
567569 -> Rewriter ARM. AArch32 s src tgt (MC. Value ARM. AArch32 tgt tp )
568570rewritePrimFn f =
569571 case f of
570- ARMSyscall imm r0 r1 r2 r3 r4 r5 r6 r7 -> do
572+ ARMSyscall imm r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 -> do
571573 tgtFn <- ARMSyscall imm <$> rewriteValue r0 <*> rewriteValue r1 <*> rewriteValue r2 <*> rewriteValue r3 <*> rewriteValue r4 <*> rewriteValue r5 <*> rewriteValue r6 <*> rewriteValue r7
574+ <*> rewriteValue r8 <*> rewriteValue r9 <*> rewriteValue r10 <*> rewriteValue r11 <*> rewriteValue r12 <*> rewriteValue r13 <*> rewriteValue r14
572575 evalRewrittenArchFn tgtFn
573576 UDiv rep lhs rhs -> do
574577 tgtFn <- UDiv rep <$> rewriteValue lhs <*> rewriteValue rhs
@@ -728,6 +731,13 @@ t32InstructionMatcher (ThumbDis.Instruction opc operands) =
728731 <*> G. getRegVal ARMReg. r5
729732 <*> G. getRegVal ARMReg. r6
730733 <*> G. getRegVal ARMReg. r7
734+ <*> G. getRegVal ARMReg. r8
735+ <*> G. getRegVal ARMReg. r9
736+ <*> G. getRegVal ARMReg. r10
737+ <*> G. getRegVal ARMReg. r11
738+ <*> G. getRegVal ARMReg. r12
739+ <*> G. getRegVal ARMReg. r13
740+ <*> G. getRegVal ARMReg. r14
731741 res <- G. addExpr =<< evalArchFn sc
732742 -- res is a tuple of form (R1, R0). This is reversed from the
733743 -- user provided return Assignment of empty :> R0 :> R1 because
0 commit comments