@@ -141,75 +141,42 @@ impl<'a, const CPU: CpuType> JitAsm<'a, CPU> {
141141 pre = !pre;
142142 }
143143 let write_back = inst_info. op . mem_transfer_write_back ( ) ;
144- let has_pc = rlist. is_reserved ( Reg :: PC ) ;
145144
146145 let op0 = * inst_info. operands ( ) [ 0 ] . as_reg_no_shift ( ) . unwrap ( ) ;
147146
148- let func_addr: * const ( ) = match ( inst_info. op . mem_is_write ( ) , inst_info. op . mem_transfer_user ( ) , pre, write_back, decrement, has_pc) {
149- ( false , false , false , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , false , false , false > as _ ,
150- ( true , false , false , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , false , false , false > as _ ,
151- ( false , true , false , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , false , false , false > as _ ,
152- ( true , true , false , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , false , false , false > as _ ,
153- ( false , false , true , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , false , false , false > as _ ,
154- ( true , false , true , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , false , false , false > as _ ,
155- ( false , true , true , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , false , false , false > as _ ,
156- ( true , true , true , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , false , false , false > as _ ,
157- ( false , false , false , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , true , false , false > as _ ,
158- ( true , false , false , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , true , false , false > as _ ,
159- ( false , true , false , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , true , false , false > as _ ,
160- ( true , true , false , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , true , false , false > as _ ,
161- ( false , false , true , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , true , false , false > as _ ,
162- ( true , false , true , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , true , false , false > as _ ,
163- ( false , true , true , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , true , false , false > as _ ,
164- ( true , true , true , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , true , false , false > as _ ,
165- ( false , false , false , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , false , true , false > as _ ,
166- ( true , false , false , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , false , true , false > as _ ,
167- ( false , true , false , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , false , true , false > as _ ,
168- ( true , true , false , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , false , true , false > as _ ,
169- ( false , false , true , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , false , true , false > as _ ,
170- ( true , false , true , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , false , true , false > as _ ,
171- ( false , true , true , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , false , true , false > as _ ,
172- ( true , true , true , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , false , true , false > as _ ,
173- ( false , false , false , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , true , true , false > as _ ,
174- ( true , false , false , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , true , true , false > as _ ,
175- ( false , true , false , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , true , true , false > as _ ,
176- ( true , true , false , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , true , true , false > as _ ,
177- ( false , false , true , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , true , true , false > as _ ,
178- ( true , false , true , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , true , true , false > as _ ,
179- ( false , true , true , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , true , true , false > as _ ,
180- ( true , true , true , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , true , true , false > as _ ,
181- ( false , false , false , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , false , false , true > as _ ,
182- ( true , false , false , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , false , false , true > as _ ,
183- ( false , true , false , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , false , false , true > as _ ,
184- ( true , true , false , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , false , false , true > as _ ,
185- ( false , false , true , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , false , false , true > as _ ,
186- ( true , false , true , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , false , false , true > as _ ,
187- ( false , true , true , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , false , false , true > as _ ,
188- ( true , true , true , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , false , false , true > as _ ,
189- ( false , false , false , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , true , false , true > as _ ,
190- ( true , false , false , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , true , false , true > as _ ,
191- ( false , true , false , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , true , false , true > as _ ,
192- ( true , true , false , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , true , false , true > as _ ,
193- ( false , false , true , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , true , false , true > as _ ,
194- ( true , false , true , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , true , false , true > as _ ,
195- ( false , true , true , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , true , false , true > as _ ,
196- ( true , true , true , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , true , false , true > as _ ,
197- ( false , false , false , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , false , true , true > as _ ,
198- ( true , false , false , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , false , true , true > as _ ,
199- ( false , true , false , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , false , true , true > as _ ,
200- ( true , true , false , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , false , true , true > as _ ,
201- ( false , false , true , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , false , true , true > as _ ,
202- ( true , false , true , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , false , true , true > as _ ,
203- ( false , true , true , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , false , true , true > as _ ,
204- ( true , true , true , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , false , true , true > as _ ,
205- ( false , false , false , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , true , true , true > as _ ,
206- ( true , false , false , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , true , true , true > as _ ,
207- ( false , true , false , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , true , true , true > as _ ,
208- ( true , true , false , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , true , true , true > as _ ,
209- ( false , false , true , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , true , true , true > as _ ,
210- ( true , false , true , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , true , true , true > as _ ,
211- ( false , true , true , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , true , true , true > as _ ,
212- ( true , true , true , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , true , true , true > as _ ,
147+ let func_addr: * const ( ) = match ( inst_info. op . mem_is_write ( ) , inst_info. op . mem_transfer_user ( ) , pre, write_back, decrement) {
148+ ( false , false , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , false , false > as _ ,
149+ ( true , false , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , false , false > as _ ,
150+ ( false , true , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , false , false > as _ ,
151+ ( true , true , false , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , false , false > as _ ,
152+ ( false , false , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , false , false > as _ ,
153+ ( true , false , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , false , false > as _ ,
154+ ( false , true , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , false , false > as _ ,
155+ ( true , true , true , false , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , false , false > as _ ,
156+ ( false , false , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , true , false > as _ ,
157+ ( true , false , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , true , false > as _ ,
158+ ( false , true , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , true , false > as _ ,
159+ ( true , true , false , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , true , false > as _ ,
160+ ( false , false , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , true , false > as _ ,
161+ ( true , false , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , true , false > as _ ,
162+ ( false , true , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , true , false > as _ ,
163+ ( true , true , true , true , false ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , true , false > as _ ,
164+ ( false , false , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , false , true > as _ ,
165+ ( true , false , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , false , true > as _ ,
166+ ( false , true , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , false , true > as _ ,
167+ ( true , true , false , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , false , true > as _ ,
168+ ( false , false , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , false , true > as _ ,
169+ ( true , false , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , false , true > as _ ,
170+ ( false , true , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , false , true > as _ ,
171+ ( true , true , true , false , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , false , true > as _ ,
172+ ( false , false , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , false , true , true > as _ ,
173+ ( true , false , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , false , true , true > as _ ,
174+ ( false , true , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , false , true , true > as _ ,
175+ ( true , true , false , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , false , true , true > as _ ,
176+ ( false , false , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , false , true , true , true > as _ ,
177+ ( true , false , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , false , true , true , true > as _ ,
178+ ( false , true , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , false , true , true , true , true > as _ ,
179+ ( true , true , true , true , true ) => inst_mem_handler_multiple :: < CPU , THUMB , true , true , true , true , true > as _ ,
213180 } ;
214181
215182 block_asm. save_context ( ) ;
0 commit comments