/[qemu]/qemu/target-arm/op.c
ViewVC logotype

Diff of /qemu/target-arm/op.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by bellard, Wed Dec 8 22:28:39 2004 UTC revision 1.5 by bellard, Wed Dec 8 23:40:14 2004 UTC
# Line 463  void OPPROTO op_swpl_T0_T1(void) Line 463  void OPPROTO op_swpl_T0_T1(void)
463  /* shifts */  /* shifts */
464    
465  /* T1 based */  /* T1 based */
466    
467  void OPPROTO op_shll_T1_im(void)  void OPPROTO op_shll_T1_im(void)
468  {  {
469      T1 = T1 << PARAM1;      T1 = T1 << PARAM1;
# Line 473  void OPPROTO op_shrl_T1_im(void) Line 474  void OPPROTO op_shrl_T1_im(void)
474      T1 = (uint32_t)T1 >> PARAM1;      T1 = (uint32_t)T1 >> PARAM1;
475  }  }
476    
477    void OPPROTO op_shrl_T1_0(void)
478    {
479        T1 = 0;
480    }
481    
482  void OPPROTO op_sarl_T1_im(void)  void OPPROTO op_sarl_T1_im(void)
483  {  {
484      T1 = (int32_t)T1 >> PARAM1;      T1 = (int32_t)T1 >> PARAM1;
485  }  }
486    
487    void OPPROTO op_sarl_T1_0(void)
488    {
489        T1 = (int32_t)T1 >> 31;
490    }
491    
492  void OPPROTO op_rorl_T1_im(void)  void OPPROTO op_rorl_T1_im(void)
493  {  {
494      int shift;      int shift;
# Line 503  void OPPROTO op_shrl_T1_im_cc(void) Line 514  void OPPROTO op_shrl_T1_im_cc(void)
514      T1 = (uint32_t)T1 >> PARAM1;      T1 = (uint32_t)T1 >> PARAM1;
515  }  }
516    
517    void OPPROTO op_shrl_T1_0_cc(void)
518    {
519        env->CF = (T1 >> 31) & 1;
520        T1 = 0;
521    }
522    
523  void OPPROTO op_sarl_T1_im_cc(void)  void OPPROTO op_sarl_T1_im_cc(void)
524  {  {
525      env->CF = (T1 >> (PARAM1 - 1)) & 1;      env->CF = (T1 >> (PARAM1 - 1)) & 1;
526      T1 = (int32_t)T1 >> PARAM1;      T1 = (int32_t)T1 >> PARAM1;
527  }  }
528    
529    void OPPROTO op_sarl_T1_0_cc(void)
530    {
531        env->CF = (T1 >> 31) & 1;
532        T1 = (int32_t)T1 >> 31;
533    }
534    
535  void OPPROTO op_rorl_T1_im_cc(void)  void OPPROTO op_rorl_T1_im_cc(void)
536  {  {
537      int shift;      int shift;
# Line 536  void OPPROTO op_shrl_T2_im(void) Line 559  void OPPROTO op_shrl_T2_im(void)
559      T2 = (uint32_t)T2 >> PARAM1;      T2 = (uint32_t)T2 >> PARAM1;
560  }  }
561    
562    void OPPROTO op_shrl_T2_0(void)
563    {
564        T2 = 0;
565    }
566    
567  void OPPROTO op_sarl_T2_im(void)  void OPPROTO op_sarl_T2_im(void)
568  {  {
569      T2 = (int32_t)T2 >> PARAM1;      T2 = (int32_t)T2 >> PARAM1;
570  }  }
571    
572    void OPPROTO op_sarl_T2_0(void)
573    {
574        T2 = (int32_t)T2 >> 31;
575    }
576    
577  void OPPROTO op_rorl_T2_im(void)  void OPPROTO op_rorl_T2_im(void)
578  {  {
579      int shift;      int shift;
# Line 548  void OPPROTO op_rorl_T2_im(void) Line 581  void OPPROTO op_rorl_T2_im(void)
581      T2 = ((uint32_t)T2 >> shift) | (T2 << (32 - shift));      T2 = ((uint32_t)T2 >> shift) | (T2 << (32 - shift));
582  }  }
583    
584    void OPPROTO op_rrxl_T2(void)
585    {
586        T2 = ((uint32_t)T2 >> 1) | ((uint32_t)env->CF << 31);
587    }
588    
589  /* T1 based, use T0 as shift count */  /* T1 based, use T0 as shift count */
590    
591  void OPPROTO op_shll_T1_T0(void)  void OPPROTO op_shll_T1_T0(void)

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26