Lines Matching refs:Rm

113     {r,Rm} ->
115 ?BF(3,0,Rm);
116 {{r,Rm},ShiftOp} ->
117 am1_shift_op(Rn, Rd, Rm, ShiftOp) bor ?BF(3,0,Rm)
126 am1_shift_op(Rn, Rd, Rm, {ShiftOp,{r,Rs}}) ->
129 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
150 {register_offset,{r,Rn},Sign,{r,Rm}} ->
152 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
153 ?BIT(25,1) bor ?BIT(24,1) bor sign(Sign) bor ?BF(19,16,Rn) bor ?BF(3,0,Rm);
154 {scaled_register_offset,{r,Rn},Sign,{r,Rm},ShiftOp} ->
155 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
156 …IT(25,1) bor ?BIT(24,1) bor sign(Sign) bor ?BF(19,16,Rn) bor am2_shift_op(ShiftOp) bor ?BF(3,0,Rm);
161 {register_pre_indexed,{r,Rn},Sign,{r,Rm}} ->
165 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
166 ?ASSERT(Rn =/= Rm), % UNPREDICTABLE
167 ?BIT(25,1) bor ?BIT(24,1) bor sign(Sign) bor ?BIT(21,1) bor ?BF(19,16,Rn) bor ?BF(3,0,Rm);
168 {scaled_register_pre_indexed,{r,Rn},Sign,{r,Rm},ShiftOp} ->
171 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
172 ?ASSERT(Rn =/= Rm), % UNPREDICTABLE
173 …IT(24,1) bor sign(Sign) bor ?BIT(21,1) bor ?BF(19,16,Rn) bor am2_shift_op(ShiftOp) bor ?BF(3,0,Rm);
178 {register_post_indexed,{r,Rn},Sign,{r,Rm}} ->
181 ?BIT(25,1) bor sign(Sign) bor ?BF(19,6,Rn) bor ?BF(3,0,Rm);
182 {scaled_register_post_indexed,{r,Rn},Sign,{r,Rm},ShiftOp} ->
185 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
186 ?ASSERT(Rn =/= Rm), % UNPREDICTABLE
187 ?BIT(25,1) bor sign(Sign) bor ?BF(19,16,Rn) bor am2_shift_op(ShiftOp) bor ?BF(3,0,Rm)
203 {register_offset,{r,Rn},Sign,{r,Rm}} ->
204 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
205 ?BIT(24,1) bor sign(Sign) bor ?BF(22,21,2#00) bor ?BF(19,16,Rn) bor ?BF(3,0,Rm);
210 {register_pre_indexed,{r,Rn},Sign,{r,Rm}} ->
212 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
214 ?ASSERT(Rm =/= Rn), % UNPREDICTABLE
215 ?BIT(24,1) bor sign(Sign) bor ?BF(22,21,2#01) bor ?BF(19,16,Rn) bor ?BF(3,0,Rm);
220 {register_post_indexed,{r,Rn},Sign,{r,Rm}} ->
222 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
224 ?ASSERT(Rm =/= Rn), % UNPREDICTABLE
225 ?BIT(24,0) bor sign(Sign) bor ?BF(22,21,2#00) bor ?BF(19,16,Rn) bor ?BF(3,0,Rm)
335 bx_form(SubOpcode, {{'cond',Cond},{r,Rm}}, IsBlx) ->
337 true -> ?ASSERT(Rm =/= 15); % UNPREDICTABLE
340 …BF(19,16,2#1111) bor ?BF(15,12,2#1111) bor ?BF(11,8,2#1111) bor ?BF(7,4,SubOpcode) bor ?BF(3,0,Rm).
361 clz({{'cond',Cond},{r,Rd},{r,Rm}}) ->
363 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
364 …) bor ?BF(19,16,2#1111) bor ?BF(15,12,Rd) bor ?BF(11,8,2#1111) bor ?BF(7,4,2#0001) bor ?BF(3,0,Rm).
449 mla({{'cond',Cond},{s,S},{r,Rd},{r,Rm},{r,Rs},{r,Rn}}) ->
451 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
454 ?ASSERT(Rd =/= Rm), % UNPREDICTABLE
455 …BIT(20,S) bor ?BF(19,16,Rd) bor ?BF(15,12,Rn) bor ?BF(11,8,Rs) bor ?BF(7,4,2#1001) bor ?BF(3,0,Rm).
479 {{'cond',Cond},'cpsr',{field_mask,FieldMask4},{r,Rm}} ->
480 msr_form(Cond, FieldMask4, ?BF(3,0,Rm))
483 mul({{'cond',Cond},{s,S},{r,Rd},{r,Rm},{r,Rs}}) ->
485 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
487 ?ASSERT(Rd =/= Rm), % UNPREDICTABLE
488 …'cond'(Cond) bor ?BIT(20,S) bor ?BF(19,16,Rd) bor ?BF(11,8,Rs) bor ?BF(7,4,2#1001) bor ?BF(3,0,Rm).
490 ml_form2(OpCode, Cond, S, RdLo, RdHi, Rm, Rs) ->
493 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
496 ?ASSERT(RdHi =/= Rm), % UNPREDICTABLE
497 ?ASSERT(RdLo =/= Rm), % UNPREDICTABLE
498 …20,S) bor ?BF(19,16,RdHi) bor ?BF(15,12,RdLo) bor ?BF(11,8,Rs) bor ?BF(7,4,2#1001) bor ?BF(3,0,Rm).
500 ml_form(OpCode, {{'cond',Cond},{s,S},{r,RdLo},{r,RdHi},{r,Rm},{r,Rs}}) ->
501 ml_form2(OpCode, Cond, S, RdLo, RdHi, Rm, Rs).
511 swp_form(B22, {{'cond',Cond},{r,Rd},{r,Rm},{r,Rn}}) ->
513 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
515 ?ASSERT(Rn =/= Rm), % UNPREDICTABLE
517 …BIT(24,1) bor ?BIT(22,B22) bor ?BF(19,16,Rn) bor ?BF(15,12,Rd) bor ?BF(7,4,2#1001) bor ?BF(3,0,Rm).
554 q_form(OpCode, {{'cond',Cond},{r,Rd},{r,Rm},{r,Rn}}) ->
556 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
558 …ond) bor ?BF(27,20,OpCode) bor ?BF(19,16,Rn) bor ?BF(15,11,Rd) bor ?BF(7,4,2#0101) bor ?BF(3,0,Rm).
565 smlaxy_form(Cond, OpCode, Rd, Rn, Rs, Y, X, Rm) ->
567 ?ASSERT(Rm =/= 15), % UNPREDICTABLE
570 …6,Rd) bor ?BF(15,12,Rn) bor ?BF(11,8,Rs) bor ?BIT(7,1) bor ?BIT(6,Y) bor ?BIT(5,X) bor ?BF(3,0,Rm).
572 smla({{bt,X},{bt,Y},{'cond',Cond},{r,Rd},{r,Rm},{r,Rs},{r,Rn}}) ->
573 smlaxy_form(Cond, 2#00010000, Rd, Rn, Rs, Y, X, Rm).
577 {{'cond',Cond},{s,S},{r,RdLo},{r,RdHi},{r,Rm},{r,Rs}} ->
578 ml_form2(2#0000111, Cond, S, RdLo, RdHi, Rm, Rs);
579 {{bt,X},{bt,Y},{'cond',Cond},{r,RdLo},{r,RdHi},{r,Rm},{r,Rs}} ->
581 smlaxy_form(Cond, 2#00010100, RdHi, RdLo, Rs, Y, X, Rm)
584 smlaw({{bt,Y},{'cond',Cond},{r,Rd},{r,Rm},{r,Rs},{r,Rn}}) ->
585 smlaxy_form(Cond, 2#00010010, Rd, Rn, Rs, Y, 0, Rm).
587 smul({{bt,X},{bt,Y},{'cond',Cond},{r,Rd},{r,Rm},{r,Rs}}) ->
588 smlaxy_form(Cond, 2#00010110, Rd, 0, Rs, Y, X, Rm).
590 smulw({{bt,Y},{'cond',Cond},{r,Rd},{r,Rm},{r,Rs}}) ->
591 smlaxy_form(Cond, 2#00010010, Rd, 0, Rs, Y, 1, Rm).
709 Rm = {r,7},
713 Registers = [Rm,Rs,Rd], % must exclude Rn for some insns
736 AM1_2 = Rm,
737 AM1_3_1 = {Rm,{'lsl',Imm5}},
738 AM1_3_2 = {Rm,{'lsr',Imm5}},
739 AM1_3_3 = {Rm,{'asr',Imm5}},
740 AM1_3_4 = {Rm,{'ror',Imm5}},
741 AM1_3_5 = {Rm,{'lsl',Rs}},
742 AM1_3_6 = {Rm,{'lsr',Rs}},
743 AM1_3_7 = {Rm,{'asr',Rs}},
744 AM1_3_8 = {Rm,{'ror',Rs}},
745 AM1_3_9 = {Rm,'rrx'},
756 AM2_2_1 = {register_offset,Rn,SignP,Rm},
757 AM2_2_2 = {register_offset,Rn,SignM,Rm},
758 AM2_3_1 = {scaled_register_offset,Rn,SignP,Rm,AM2ShiftOp1},
759 AM2_3_2 = {scaled_register_offset,Rn,SignM,Rm,AM2ShiftOp2},
760 AM2_3_3 = {scaled_register_offset,Rn,SignP,Rm,AM2ShiftOp3},
761 AM2_3_4 = {scaled_register_offset,Rn,SignM,Rm,AM2ShiftOp4},
762 AM2_3_5 = {scaled_register_offset,Rn,SignP,Rm,AM2ShiftOp5},
765 AM2_5_1 = {register_pre_indexed,Rn,SignP,Rm},
766 AM2_5_2 = {register_pre_indexed,Rn,SignM,Rm},
767 AM2_6_1 = {scaled_register_pre_indexed,Rn,SignP,Rm,AM2ShiftOp1},
768 AM2_6_2 = {scaled_register_pre_indexed,Rn,SignM,Rm,AM2ShiftOp2},
769 AM2_6_3 = {scaled_register_pre_indexed,Rn,SignP,Rm,AM2ShiftOp3},
770 AM2_6_4 = {scaled_register_pre_indexed,Rn,SignM,Rm,AM2ShiftOp4},
771 AM2_6_5 = {scaled_register_pre_indexed,Rn,SignP,Rm,AM2ShiftOp5},
774 AM2_8_1 = {register_post_indexed,Rn,SignP,Rm},
775 AM2_8_2 = {register_post_indexed,Rn,SignM,Rm},
776 AM2_9_1 = {scaled_register_post_indexed,Rn,SignP,Rm,AM2ShiftOp1},
777 AM2_9_2 = {scaled_register_post_indexed,Rn,SignM,Rm,AM2ShiftOp2},
778 AM2_9_3 = {scaled_register_post_indexed,Rn,SignP,Rm,AM2ShiftOp3},
779 AM2_9_4 = {scaled_register_post_indexed,Rn,SignM,Rm,AM2ShiftOp4},
780 AM2_9_5 = {scaled_register_post_indexed,Rn,SignP,Rm,AM2ShiftOp5},
784 AM3_2_1 = {register_offset,Rn,SignP,Rm},
785 AM3_2_2 = {register_offset,Rn,SignM,Rm},
788 AM3_4_1 = {register_pre_indexed,Rn,SignP,Rm},
789 AM3_4_2 = {register_pre_indexed,Rn,SignM,Rm},
792 AM3_6_1 = {register_post_indexed,Rn,SignP,Rm},
793 AM3_6_2 = {register_post_indexed,Rn,SignM,Rm},
865 t(OS,'blx',{Cond_al,Rm}),
866 t(OS,'bx',{Cond_al,Rm}),
869 t(OS,'clz',{Cond_al,Rd,Rm}),
936 t(OS,'mla',{Cond_al,S0,Rd,Rm,Rs,Rn}),
943 t(OS,'msr',{Cond_al,'cpsr',FieldMask4,Rm}),
944 t(OS,'mul',{Cond_al,S0,Rd,Rm,Rs}),
948 t(OS,'qadd',{Cond_al,Rd,Rm,Rn}),
949 t(OS,'qdadd',{Cond_al,Rd,Rm,Rn}),
950 t(OS,'qdsub',{Cond_al,Rd,Rm,Rn}),
951 t(OS,'qsub',{Cond_al,Rd,Rm,Rn}),
955 t(OS,'smla',{BT0,BT0,Cond_al,Rd,Rm,Rs,Rn}),
956 t(OS,'smla',{BT0,BT1,Cond_al,Rd,Rm,Rs,Rn}),
957 t(OS,'smla',{BT1,BT0,Cond_al,Rd,Rm,Rs,Rn}),
958 t(OS,'smla',{BT1,BT1,Cond_al,Rd,Rm,Rs,Rn}),
959 t(OS,'smlal',{Cond_al,S0,RdLo,RdHi,Rm,Rs}),
960 t(OS,'smlal',{BT0,BT1,Cond_al,RdLo,RdHi,Rm,Rs}),
961 t(OS,'smlaw',{BT1,Cond_al,Rd,Rm,Rs,Rn}),
962 t(OS,'smull',{Cond_al,S0,RdLo,RdHi,Rm,Rs}),
963 t(OS,'smul',{BT1,BT0,Cond_al,Rd,Rm,Rs}),
964 t(OS,'smulw',{BT1,Cond_al,Rd,Rm,Rs}),
974 t(OS,'swp',{Cond_al,Rd,Rm,Rn}),
975 t(OS,'swpb',{Cond_al,Rd,Rm,Rn}),
978 t(OS,'umlal',{Cond_al,S0,RdLo,RdHi,Rm,Rs}),
979 t(OS,'umull',{Cond_al,S0,RdLo,RdHi,Rm,Rs}),