Lines Matching refs:ir

76 static inline int mipsr6_emul(struct pt_regs *regs, u32 ir)  in mipsr6_emul()  argument
78 switch (MIPSInst_OPCODE(ir)) { in mipsr6_emul()
80 if (MIPSInst_RT(ir)) in mipsr6_emul()
81 regs->regs[MIPSInst_RT(ir)] = in mipsr6_emul()
82 (s32)regs->regs[MIPSInst_RS(ir)] + in mipsr6_emul()
83 (s32)MIPSInst_SIMM(ir); in mipsr6_emul()
89 if (MIPSInst_RT(ir)) in mipsr6_emul()
90 regs->regs[MIPSInst_RT(ir)] = in mipsr6_emul()
91 (s64)regs->regs[MIPSInst_RS(ir)] + in mipsr6_emul()
92 (s64)MIPSInst_SIMM(ir); in mipsr6_emul()
101 switch (MIPSInst_FUNC(ir)) { in mipsr6_emul()
103 if (MIPSInst_RD(ir)) in mipsr6_emul()
104 regs->regs[MIPSInst_RD(ir)] = in mipsr6_emul()
105 regs->regs[MIPSInst_RS(ir)] | in mipsr6_emul()
106 regs->regs[MIPSInst_RT(ir)]; in mipsr6_emul()
109 if (MIPSInst_RS(ir)) in mipsr6_emul()
112 if (MIPSInst_RD(ir)) in mipsr6_emul()
113 regs->regs[MIPSInst_RD(ir)] = in mipsr6_emul()
114 (s32)(((u32)regs->regs[MIPSInst_RT(ir)]) << in mipsr6_emul()
115 MIPSInst_FD(ir)); in mipsr6_emul()
118 if (MIPSInst_RS(ir)) in mipsr6_emul()
121 if (MIPSInst_RD(ir)) in mipsr6_emul()
122 regs->regs[MIPSInst_RD(ir)] = in mipsr6_emul()
123 (s32)(((u32)regs->regs[MIPSInst_RT(ir)]) >> in mipsr6_emul()
124 MIPSInst_FD(ir)); in mipsr6_emul()
127 if (MIPSInst_FD(ir)) in mipsr6_emul()
130 if (MIPSInst_RD(ir)) in mipsr6_emul()
131 regs->regs[MIPSInst_RD(ir)] = in mipsr6_emul()
132 (s32)((u32)regs->regs[MIPSInst_RS(ir)] + in mipsr6_emul()
133 (u32)regs->regs[MIPSInst_RT(ir)]); in mipsr6_emul()
136 if (MIPSInst_FD(ir)) in mipsr6_emul()
139 if (MIPSInst_RD(ir)) in mipsr6_emul()
140 regs->regs[MIPSInst_RD(ir)] = in mipsr6_emul()
141 (s32)((u32)regs->regs[MIPSInst_RS(ir)] - in mipsr6_emul()
142 (u32)regs->regs[MIPSInst_RT(ir)]); in mipsr6_emul()
145 if (config_enabled(CONFIG_32BIT) || MIPSInst_RS(ir)) in mipsr6_emul()
148 if (MIPSInst_RD(ir)) in mipsr6_emul()
149 regs->regs[MIPSInst_RD(ir)] = in mipsr6_emul()
150 (s64)(((u64)regs->regs[MIPSInst_RT(ir)]) << in mipsr6_emul()
151 MIPSInst_FD(ir)); in mipsr6_emul()
154 if (config_enabled(CONFIG_32BIT) || MIPSInst_RS(ir)) in mipsr6_emul()
157 if (MIPSInst_RD(ir)) in mipsr6_emul()
158 regs->regs[MIPSInst_RD(ir)] = in mipsr6_emul()
159 (s64)(((u64)regs->regs[MIPSInst_RT(ir)]) >> in mipsr6_emul()
160 MIPSInst_FD(ir)); in mipsr6_emul()
163 if (config_enabled(CONFIG_32BIT) || MIPSInst_FD(ir)) in mipsr6_emul()
166 if (MIPSInst_RD(ir)) in mipsr6_emul()
167 regs->regs[MIPSInst_RD(ir)] = in mipsr6_emul()
168 (u64)regs->regs[MIPSInst_RS(ir)] + in mipsr6_emul()
169 (u64)regs->regs[MIPSInst_RT(ir)]; in mipsr6_emul()
172 if (config_enabled(CONFIG_32BIT) || MIPSInst_FD(ir)) in mipsr6_emul()
175 if (MIPSInst_RD(ir)) in mipsr6_emul()
176 regs->regs[MIPSInst_RD(ir)] = in mipsr6_emul()
177 (s64)((u64)regs->regs[MIPSInst_RS(ir)] - in mipsr6_emul()
178 (u64)regs->regs[MIPSInst_RT(ir)]); in mipsr6_emul()
184 ir, MIPSInst_OPCODE(ir)); in mipsr6_emul()
197 static int movf_func(struct pt_regs *regs, u32 ir) in movf_func() argument
203 cond = fpucondbit[MIPSInst_RT(ir) >> 2]; in movf_func()
205 if (((csr & cond) == 0) && MIPSInst_RD(ir)) in movf_func()
206 regs->regs[MIPSInst_RD(ir)] = regs->regs[MIPSInst_RS(ir)]; in movf_func()
220 static int movt_func(struct pt_regs *regs, u32 ir) in movt_func() argument
226 cond = fpucondbit[MIPSInst_RT(ir) >> 2]; in movt_func()
228 if (((csr & cond) != 0) && MIPSInst_RD(ir)) in movt_func()
229 regs->regs[MIPSInst_RD(ir)] = regs->regs[MIPSInst_RS(ir)]; in movt_func()
245 static int jr_func(struct pt_regs *regs, u32 ir) in jr_func() argument
302 static int movz_func(struct pt_regs *regs, u32 ir) in movz_func() argument
304 if (((regs->regs[MIPSInst_RT(ir)]) == 0) && MIPSInst_RD(ir)) in movz_func()
305 regs->regs[MIPSInst_RD(ir)] = regs->regs[MIPSInst_RS(ir)]; in movz_func()
318 static int movn_func(struct pt_regs *regs, u32 ir) in movn_func() argument
320 if (((regs->regs[MIPSInst_RT(ir)]) != 0) && MIPSInst_RD(ir)) in movn_func()
321 regs->regs[MIPSInst_RD(ir)] = regs->regs[MIPSInst_RS(ir)]; in movn_func()
334 static int mfhi_func(struct pt_regs *regs, u32 ir) in mfhi_func() argument
336 if (MIPSInst_RD(ir)) in mfhi_func()
337 regs->regs[MIPSInst_RD(ir)] = regs->hi; in mfhi_func()
351 static int mthi_func(struct pt_regs *regs, u32 ir) in mthi_func() argument
353 regs->hi = regs->regs[MIPSInst_RS(ir)]; in mthi_func()
367 static int mflo_func(struct pt_regs *regs, u32 ir) in mflo_func() argument
369 if (MIPSInst_RD(ir)) in mflo_func()
370 regs->regs[MIPSInst_RD(ir)] = regs->lo; in mflo_func()
384 static int mtlo_func(struct pt_regs *regs, u32 ir) in mtlo_func() argument
386 regs->lo = regs->regs[MIPSInst_RS(ir)]; in mtlo_func()
400 static int mult_func(struct pt_regs *regs, u32 ir) in mult_func() argument
405 rt = regs->regs[MIPSInst_RT(ir)]; in mult_func()
406 rs = regs->regs[MIPSInst_RS(ir)]; in mult_func()
427 static int multu_func(struct pt_regs *regs, u32 ir) in multu_func() argument
432 rt = regs->regs[MIPSInst_RT(ir)]; in multu_func()
433 rs = regs->regs[MIPSInst_RS(ir)]; in multu_func()
451 static int div_func(struct pt_regs *regs, u32 ir) in div_func() argument
455 rt = regs->regs[MIPSInst_RT(ir)]; in div_func()
456 rs = regs->regs[MIPSInst_RS(ir)]; in div_func()
473 static int divu_func(struct pt_regs *regs, u32 ir) in divu_func() argument
477 rt = regs->regs[MIPSInst_RT(ir)]; in divu_func()
478 rs = regs->regs[MIPSInst_RS(ir)]; in divu_func()
495 static int dmult_func(struct pt_regs *regs, u32 ir) in dmult_func() argument
503 rt = regs->regs[MIPSInst_RT(ir)]; in dmult_func()
504 rs = regs->regs[MIPSInst_RS(ir)]; in dmult_func()
527 static int dmultu_func(struct pt_regs *regs, u32 ir) in dmultu_func() argument
535 rt = regs->regs[MIPSInst_RT(ir)]; in dmultu_func()
536 rs = regs->regs[MIPSInst_RS(ir)]; in dmultu_func()
559 static int ddiv_func(struct pt_regs *regs, u32 ir) in ddiv_func() argument
566 rt = regs->regs[MIPSInst_RT(ir)]; in ddiv_func()
567 rs = regs->regs[MIPSInst_RS(ir)]; in ddiv_func()
584 static int ddivu_func(struct pt_regs *regs, u32 ir) in ddivu_func() argument
591 rt = regs->regs[MIPSInst_RT(ir)]; in ddivu_func()
592 rs = regs->regs[MIPSInst_RS(ir)]; in ddivu_func()
631 static int madd_func(struct pt_regs *regs, u32 ir) in madd_func() argument
636 rt = regs->regs[MIPSInst_RT(ir)]; in madd_func()
637 rs = regs->regs[MIPSInst_RS(ir)]; in madd_func()
660 static int maddu_func(struct pt_regs *regs, u32 ir) in maddu_func() argument
665 rt = regs->regs[MIPSInst_RT(ir)]; in maddu_func()
666 rs = regs->regs[MIPSInst_RS(ir)]; in maddu_func()
689 static int msub_func(struct pt_regs *regs, u32 ir) in msub_func() argument
694 rt = regs->regs[MIPSInst_RT(ir)]; in msub_func()
695 rs = regs->regs[MIPSInst_RS(ir)]; in msub_func()
718 static int msubu_func(struct pt_regs *regs, u32 ir) in msubu_func() argument
723 rt = regs->regs[MIPSInst_RT(ir)]; in msubu_func()
724 rs = regs->regs[MIPSInst_RS(ir)]; in msubu_func()
747 static int mul_func(struct pt_regs *regs, u32 ir) in mul_func() argument
752 if (!MIPSInst_RD(ir)) in mul_func()
754 rt = regs->regs[MIPSInst_RT(ir)]; in mul_func()
755 rs = regs->regs[MIPSInst_RS(ir)]; in mul_func()
759 regs->regs[MIPSInst_RD(ir)] = (s64)rs; in mul_func()
773 static int clz_func(struct pt_regs *regs, u32 ir) in clz_func() argument
778 if (!MIPSInst_RD(ir)) in clz_func()
781 rs = regs->regs[MIPSInst_RS(ir)]; in clz_func()
783 regs->regs[MIPSInst_RD(ir)] = res; in clz_func()
798 static int clo_func(struct pt_regs *regs, u32 ir) in clo_func() argument
803 if (!MIPSInst_RD(ir)) in clo_func()
806 rs = regs->regs[MIPSInst_RS(ir)]; in clo_func()
808 regs->regs[MIPSInst_RD(ir)] = res; in clo_func()
822 static int dclz_func(struct pt_regs *regs, u32 ir) in dclz_func() argument
830 if (!MIPSInst_RD(ir)) in dclz_func()
833 rs = regs->regs[MIPSInst_RS(ir)]; in dclz_func()
835 regs->regs[MIPSInst_RD(ir)] = res; in dclz_func()
849 static int dclo_func(struct pt_regs *regs, u32 ir) in dclo_func() argument
857 if (!MIPSInst_RD(ir)) in dclo_func()
860 rs = regs->regs[MIPSInst_RS(ir)]; in dclo_func()
862 regs->regs[MIPSInst_RD(ir)] = res; in dclo_func()