This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Marking variable as addressable from within SSA pass


On Fri, Mar 19, 2004 at 11:06:36AM -0500, Bonzini wrote:
> The pass takes, for example,
> 
>   V4QI T_1;
>   V4QI T_2;
>   V4QI T_3;
>   T_3 = T_1 & T_2;
> 
> and converts it into
> 
>   V4QI T_1;
>   V4QI T_2;
>   V4QI T_3;
>   unsigned int *T_4;
>   unsigned int *T_5;
>   unsigned int *T_6;
>   unsigned int T_7;
>   unsigned int T_8;
>   T_4 = (unsigned int *) &T_1;  
>   T_5 = (unsigned int *) &T_2;  
>   T_6 = (unsigned int *) &T_3;  
>   T_7 = *T_4;
>   T_8 = *T_5;
>   T_9 = T_4 & T_5;
>   *T_6 = T_9;

You do not want to do this.  Addressing variables SEVERELY pessimizes
the code.  Use a VIEW_CONVERT_EXPR to change the type instead.


r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]