@@ -196,44 +196,6 @@ gen_branch(DisasCtxt *ctx, TCGv target)
196196 }
197197}
198198
199- #define MEMIDX (ctx->mem_idx)
200-
201- #ifdef TARGET_ARC32
202- const MemOp memop_for_size_sign [2 ][3 ] = {
203- { MO_UL , MO_UB , MO_UW }, /* non sign-extended */
204- { MO_UL , MO_SB , MO_SW } /* sign-extended */
205- };
206- #endif
207-
208- #ifdef TARGET_ARC64
209- const MemOp memop_for_size_sign [2 ][4 ] = {
210- { MO_UL , MO_UB , MO_UW , MO_UQ }, /* non sign-extended */
211- { MO_SL , MO_SB , MO_SW , MO_SQ } /* sign-extended */
212- };
213- #endif
214-
215- void arc_gen_set_memory (const DisasCtxt * ctx , TCGv vaddr , int size ,
216- TCGv src , bool sign_extend )
217- {
218- #ifdef TARGET_ARC32
219- assert (size != 0x3 );
220- #endif
221-
222- tcg_gen_qemu_st_tl (src , vaddr , MEMIDX ,
223- memop_for_size_sign [sign_extend ][size ]);
224- }
225-
226- void arc_gen_get_memory (const DisasCtxt * ctx , TCGv dest , TCGv vaddr ,
227- int size , bool sign_extend )
228- {
229- #ifdef TARGET_ARC32
230- assert (size != 0x3 );
231- #endif
232-
233- tcg_gen_qemu_ld_tl (dest , vaddr , MEMIDX ,
234- memop_for_size_sign [sign_extend ][size ]);
235- }
236-
237199void arc_gen_no_further_loads_pending (const DisasCtxt * ctx , TCGv ret )
238200{
239201 /* TODO: To complete on SMP support. */
@@ -318,53 +280,27 @@ void arc_gen_extract_bits(TCGv ret, TCGv a, TCGv start, TCGv end)
318280 tcg_temp_free (tmp1 );
319281}
320282
321- void arc_gen_get_register (TCGv ret , enum arc_registers reg )
283+ /* TODO: Get this from props ... */
284+ void arc_has_interrupts (const DisasCtxt * ctx , TCGv ret )
322285{
323- switch (reg ) {
324- case R_SP :
325- tcg_gen_mov_tl (ret , cpu_sp );
326- break ;
327- case R_STATUS32 :
328- gen_helper_get_status32 (ret , cpu_env );
329- break ;
330- case R_ACCLO :
331- tcg_gen_mov_tl (ret , cpu_acclo );
332- break ;
333- case R_ACCHI :
334- tcg_gen_mov_tl (ret , cpu_acchi );
335- break ;
336- default :
337- g_assert_not_reached ();
338- }
286+ tcg_gen_movi_tl (ret , 1 );
339287}
340288
289+ #ifdef TARGET_ARC32
290+ const MemOp memop_for_size_sign [2 ][3 ] = {
291+ { MO_UL , MO_UB , MO_UW }, /* non sign-extended */
292+ { MO_UL , MO_SB , MO_SW } /* sign-extended */
293+ };
294+ #endif
341295
342- void arc_gen_set_register (enum arc_registers reg , TCGv value )
343- {
344- switch (reg ) {
345- case R_SP :
346- tcg_gen_mov_tl (cpu_sp , value );
347- break ;
348- case R_STATUS32 :
349- gen_helper_set_status32 (cpu_env , value );
350- break ;
351- case R_ACCLO :
352- tcg_gen_mov_tl (cpu_acclo , value );
353- break ;
354- case R_ACCHI :
355- tcg_gen_mov_tl (cpu_acchi , value );
356- break ;
357- default :
358- g_assert_not_reached ();
359- }
360- }
296+ #ifdef TARGET_ARC64
297+ const MemOp memop_for_size_sign [2 ][4 ] = {
298+ { MO_UL , MO_UB , MO_UW , MO_UQ }, /* non sign-extended */
299+ { MO_SL , MO_SB , MO_SW , MO_SQ } /* sign-extended */
300+ };
301+ #endif
361302
362303
363- /* TODO: Get this from props ... */
364- void arc_has_interrupts (const DisasCtxt * ctx , TCGv ret )
365- {
366- tcg_gen_movi_tl (ret , 1 );
367- }
368304
369305/*
370306 ***************************************
0 commit comments