summaryrefslogtreecommitdiff
path: root/checklink/Check.ml
diff options
context:
space:
mode:
Diffstat (limited to 'checklink/Check.ml')
-rw-r--r--checklink/Check.ml22
1 files changed, 22 insertions, 0 deletions
diff --git a/checklink/Check.ml b/checklink/Check.ml
index 4097267..be1360d 100644
--- a/checklink/Check.ml
+++ b/checklink/Check.ml
@@ -2104,6 +2104,28 @@ let rec compare_code ccode ecode pc: checker = fun fw ->
>>= recur_simpl
| _ -> error
end
+ | Pmulhw(rd, r1, r2) ->
+ begin match ecode with
+ | MULHWx(rD, rA, rB, rc) :: es ->
+ OK(fw)
+ >>= match_iregs rd rD
+ >>= match_iregs r1 rA
+ >>= match_iregs r2 rB
+ >>= match_bools false rc
+ >>= recur_simpl
+ | _ -> error
+ end
+ | Pmulhwu(rd, r1, r2) ->
+ begin match ecode with
+ | MULHWUx(rD, rA, rB, rc) :: es ->
+ OK(fw)
+ >>= match_iregs rd rD
+ >>= match_iregs r1 rA
+ >>= match_iregs r2 rB
+ >>= match_bools false rc
+ >>= recur_simpl
+ | _ -> error
+ end
| Pnand(rd, r1, r2) ->
begin match ecode with
| NANDx(rS, rA, rB, rc) :: es ->