[Bug target/15202] ICE in reload_cse_simplify_operands, at postreload.c

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat May 1 12:38:00 GMT 2004


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-01 12:38 -------
Here is something slightly more reduced (31 lines), removing typedefs and unneeded 
functions and unneeded agruments:
typedef struct MotionEstContext
{
  void  (**hpel_avg)(int *block , const int pixels);
  int xmin, xmax, ymin, ymax;
} MotionEstContext;

typedef struct MpegEncContext {
  int mv_type;
  MotionEstContext me;
} MpegEncContext;

int cmp(MpegEncContext *s, const int x, const int y, const int subx, const int suby,
						     const int flags)
{
    MotionEstContext * const c = &s->me;
    const int qpel = flags;
    const int hx = subx + (x<<(1+qpel));
    const int hy = suby + (y<<(1+qpel));

    if(flags)
      if(x >= c->xmin && hx <= c->xmax<<(qpel+1) && y >= c->ymin && hy <= c->ymax<<
(qpel+1))
            if(s->mv_type==1) {
                int i;
                for(i=0; i<4; i++) {
		  int by = hy ? 2 : 3;
		  int bxy= (3) + ((by&3)<<(qpel+1));
		  c->hpel_avg[bxy](&bxy,by);
                }
            }
    return 0;
}

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2004-05-01 08:09:16         |2004-05-01 12:38:56
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15202



More information about the Gcc-bugs mailing list