Lines Matching refs:addrmode
36 let rec string_of_addrmode addrmode thumb update =
39 match addrmode with
45 match addrmode with
51 let rec initial_offset addrmode nregs =
52 match addrmode with
58 let rec final_offset addrmode nregs =
59 match addrmode with
151 let can_thumb addrmode update is_store =
152 match addrmode, update, is_store with
165 let target addrmode thumb =
166 match addrmode, thumb with
173 let write_pattern_1 name ls addrmode nregs write_set_fn update thumb =
174 let astr = string_of_addrmode addrmode thumb update in
184 (final_offset addrmode nregs)
189 (initial_offset addrmode nregs)
192 (target addrmode thumb)
205 if addrmode == IA || addrmode == DB then
210 let write_ldm_pattern addrmode nregs update =
211 write_pattern_1 "ldm" "load" addrmode nregs write_ldm_set update false;
212 begin if can_thumb addrmode update false then
213 write_pattern_1 "ldm" "load" addrmode nregs write_ldm_set update true;
216 let write_stm_pattern addrmode nregs update =
217 write_pattern_1 "stm" "store" addrmode nregs write_stm_set update false;
218 begin if can_thumb addrmode update true then
219 write_pattern_1 "stm" "store" addrmode nregs write_stm_set update true;
314 (fun addrmode ->
315 write_ldm_pattern addrmode n false;
316 write_ldm_pattern addrmode n true;
317 write_stm_pattern addrmode n false;
318 write_stm_pattern addrmode n true)