https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97335

--- Comment #5 from Martin Liška <marxin at gcc dot gnu.org> ---
(In reply to Martin Liška from comment #4)
> This case is about:
> 
>    <bb 28> [local count: 177167400]:
> +  pretmp_327 = MEM[(int *)dep_dp_76(D) + 8B];
> +  goto <bb 46>; [100.00%]
> +
> +  <bb 29> [local count: 177167400]:
>    ctx_144 = _44 + 4;
> +  pretmp_335 = MEM[(int *)dep_dp_76(D) + 8B];
> 
> where dep_dp is of type:
> 
> typedef struct
> {
>   unsigned int    Drange;
>   unsigned int    Dvalue;
>   int             DbitsLeft;
>   byte            *Dcodestrm;
>   int             *Dcodestrm_len;
> } DecodingEnvironment;
> 

Sorry, dep_dp_76(D) + 8B corresponds to DbitsLeft. But again, both places where
address is taken don't cast the pointer or so:

benchspec/CPU/525.x264_r/src/ldecod_src/biaridecod.c:  int *DbitsLeft =
&dep->DbitsLeft;
benchspec/CPU/525.x264_r/src/ldecod_src/biaridecod.c:   int *DbitsLeft =
&dep->DbitsLeft;

Reply via email to