Lines Matching defs:thumb

772       assertT (q <> Narrow) (s,"not available as narrow thumb instruction") f);
777 (read_thumb >>= (fn thumb =>
779 (fn a => thumb andalso has_thumb2 a) f));
783 read_thumb >>= (fn thumb =>
784 if thumb then
792 read_thumb >>= (fn thumb =>
793 if thumb then
1020 (fn thumb =>
1021 if (mem m has_sflags orelse not thumb andalso
1072 read_thumb >>= (fn thumb =>
1075 if thumb then
1112 if thumb then
1132 read_thumb >>= (fn thumb =>
1135 return (if thumb andalso m <> BL then
1142 else if not (thumb andalso has_thumb2 arch) then
1184 fun pick_enc_ee thumb narrow_okay ee =
1185 if thumb then
1196 fun pick_enc thumb narrow_okay =
1197 if thumb then
1205 fun pick_var_enc thumb q narrow_okay =
1206 if thumb then
1250 fun mode1_immediate1 thumb m i =
1251 if thumb then
1262 fun mode1_immediate2 thumb m i =
1263 if thumb then
1359 read_thumb >>= (fn thumb =>
1360 if thumb then
1436 read_thumb >>= (fn thumb =>
1437 if thumb then
1463 read_thumb >>= (fn thumb =>
1465 if thumb then
1552 read_thumb >>= (fn thumb =>
1554 if thumb then
1581 read_thumb >>= (fn thumb =>
1583 if thumb then
1631 fun shift_immediate m thumb q InITBlock sflag (rd,rm,i) =
1638 val rn = mk_word4 (if thumb then 15 else 0)
1644 (return (pick_enc thumb narrow_okay,
1649 fun shift_register m thumb q InITBlock sflag (rd,rn,rm) =
1653 val rn' = mk_word4 (if thumb then 15 else 0)
1656 (return (pick_enc thumb narrow_okay,
1665 read_thumb >>= (fn thumb =>
1670 (fn i => shift_immediate m thumb q InITBlock sflag (rd,rd,i))
1676 (fn i => shift_immediate m thumb q InITBlock sflag (rd,rn,i))
1679 shift_register m thumb q InITBlock sflag (rd,rn,rm))))
1680 (fn _ => shift_register m thumb q InITBlock sflag (rd,rd,rn)))))))));
1734 read_thumb >>= (fn thumb =>
1738 (pick_var_enc thumb q (narrow_register rd),
1741 if thumb then
1775 read_thumb >>= (fn thumb =>
1778 return (pick_var_enc thumb q true,
1781 if thumb then
1815 read_thumb >>= (fn thumb =>
1816 if thumb then
1861 read_thumb >>= (fn thumb =>
1862 if thumb then
1874 read_thumb >>= (fn thumb =>
1875 if thumb then
1978 read_thumb >>= (fn thumb =>
1981 (fn a => if thumb then
1985 (return (if thumb then Encoding_Thumb2_tm else Encoding_ARM_tm,
2042 (read_thumb >>= (fn thumb =>
2044 assertT (thumb andalso q <> Wide)
2045 ("arm_parse_it", "only available as narrow thumb instruction")
2117 read_thumb >>= (fn thumb =>
2119 if thumb then
2294 (read_thumb >>= (fn thumb =>
2295 assertT thumb ("arm_parse_div", "Thumb2 instruction only")
2338 fn thumb => fn q => fn rm =>
2342 assertT (q <> Narrow andalso (not thumb orelse s = LSL_shift))
2351 val max = if thumb then 3 else
2365 read_thumb >>= (fn thumb =>
2377 return (mk_bool (thumb orelse not thumb andalso is_T unpriv))) >>=
2419 q <> Narrow andalso thumb andalso wide_okay orelse
2420 not thumb andalso arm_okay)
2424 (pick_enc_ee thumb narrow_or_thumbee
2434 arm_parse_mode2_shift thumb q rm >>= (fn mode2 =>
2440 (mk_bool (thumb orelse not thumb andalso is_T unpriv))) >>=
2448 assertT ((not thumb orelse pos andalso is_F w) andalso
2452 (pick_enc_ee thumb narrow_okay thumbee,
2461 read_thumb >>= (fn thumb =>
2481 (pick_enc thumb narrow_okay,
2493 (pick_var_enc thumb q narrow_okay,
2497 let val v = sint_of_term i - (if thumb then 4 else 8)
2504 assertT (not thumb orelse narrow_okay orelse wide_okay)
2507 (pick_enc thumb narrow_okay,
2562 fn thumb => fn q => fn rm =>
2565 assertT (thumb andalso q <> Narrow)
2578 read_thumb >>= (fn thumb =>
2589 return (mk_bool thumb)) >>=
2610 q <> Narrow andalso thumb andalso wide_okay orelse
2611 not thumb andalso arm_okay)
2615 (pick_enc thumb narrow_okay,
2629 arm_parse_mode3_shift thumb q rm >>= (fn mode3 =>
2635 return (mk_bool thumb)) >>=
2643 assertT ((not thumb orelse pos andalso is_F w) andalso
2647 (pick_enc_ee thumb narrow_okay thumbee,
2662 read_thumb >>= (fn thumb =>
2683 (pick_enc thumb narrow_okay,
2704 (if thumb then Encoding_Thumb2_tm else Encoding_ARM_tm,
2708 let val v = sint_of_term i - (if thumb then 4 else 8)
2709 val wide_okay = thumb andalso ~4095 <= v andalso v <= 4095
2710 val arm_okay = not thumb andalso ~255 <= v andalso v <= 255
2716 (if thumb then Encoding_Thumb2_tm else Encoding_ARM_tm,
2775 let val thumb = enc = Encoding_Thumb2_tm
2776 val indx = mk_bool thumb
2777 val w = mk_bool (not thumb)
2790 fn thumb =>
2794 if thumb then
2812 assertT (not thumb)
2826 let val thumb = enc == Encoding_Thumb2_tm
2830 assertT (thumb orelse t1 mod 2 = 0 andalso t2 = t1 + 1)
2838 arm_parse_mode3_dual_offset thumb >>= (fn (add,tm) =>
2849 tryT (arm_parse_comma >>- arm_parse_mode3_dual_offset thumb)
2871 let val v = sint_of_term i - (if thumb then 4 else 8)
2948 read_thumb >>= (fn thumb =>
2950 (fn a => version_number a >= 7 orelse not thumb andalso a = ARMv6K)
2961 assertT (thumb orelse t1 mod 2 = 0 andalso t2 = t1 + 1)
2964 (return (if thumb then Encoding_Thumb2_tm else Encoding_ARM_tm,
2969 read_thumb >>= (fn thumb =>
2971 (fn a => version_number a >= 7 orelse not thumb andalso a = ARMv6K)
2984 assertT (thumb orelse t1 mod 2 = 0 andalso t2 = t1 + 1)
2987 (return (if thumb then Encoding_Thumb2_tm else Encoding_ARM_tm,
2993 read_thumb >>= (fn thumb =>
2996 (fn a => version_number a >= 7 orelse not thumb andalso a = ARMv6K)
3002 return (if thumb then Encoding_Thumb2_tm else Encoding_ARM_tm,
3010 read_thumb >>= (fn thumb =>
3013 (fn a => version_number a >= 7 orelse not thumb andalso a = ARMv6K)
3021 return (if thumb then Encoding_Thumb2_tm else Encoding_ARM_tm,
3029 read_thumb >>= (fn thumb =>
3030 assertT (not thumb)
3099 read_thumb >>= (fn thumb =>
3100 if thumb then
3167 read_thumb >>= (fn thumb =>
3169 if thumb then
3275 let val thumb = enc = Encoding_Thumb2_tm in
3278 assertT (not thumb orelse pos)
3281 (arm_parse_mode2_shift thumb Either rm >>=
3421 read_thumb >>= (fn thumb =>
3429 (if thumb then Encoding_Thumb2_tm else Encoding_ARM_tm,
3441 "invalid registers for narrow thumb instruction")
3443 (pick_enc thumb narrow_okay,
3500 read_thumb >>= (fn thumb =>
3503 ("arm_parse_rev", "invalid registers for narrow thumb instruction")
3505 (pick_enc thumb narrow_okay,
3706 read_thumb >>= (fn thumb =>
3707 if thumb then
3759 read_thumb >>= (fn thumb =>
3760 if thumb then
3790 read_thumb >>= (fn thumb =>
3791 if thumb then
3807 read_thumb >>= (fn thumb =>
3809 (fn a => has_thumb2 a orelse not thumb andalso a = ARMv6K)
3810 (if thumb then
3825 read_thumb >>= (fn thumb =>
3828 not thumb andalso a = ARMv6K)
3829 (if thumb then
3838 read_thumb >>= (fn thumb =>
3841 not thumb andalso a = ARMv6K)
3847 if thumb then
4301 read_thumb >>= (fn thumb => return (Align (if thumb then 2 else 4))));
4305 ["arch","code","code16","code32","arm","thumb","thumbx",
4320 | "thumb" => switch_to_thumb >>- return ([Align 2])