Marking variable as addressable from within SSA pass
Paolo Bonzini
bonzini@gnu.org
Sat Mar 20 18:09:00 GMT 2004
> You do not want to do this. Addressing variables SEVERELY pessimizes
> the code. Use a VIEW_CONVERT_EXPR to change the type instead.
I was hoping that DOM could clean up the code, and in this particular case
where I have a logical operation and it's as big as a machine register, yes, I
could do without addressing.
But if the operation is on a wide vector like a V2DI, or if I have something
different from a logical operation, I need to do something like an RTL SUBREG.
Currently I am doing like this:
V4QI T_1, T_2, T_3;
char *T_4, *T_5, *T_6, *T_7, *T_8, *T_9;
char T_10, T_11, T_12;
T_4 = (char *) &T_1;
T_5 = (char *) &T_2;
T_6 = (char *) &T_3;
...
T_7 = T_4 + 3;
T_8 = T_5 + 3;
T_9 = T_6 + 3;
T_10 = *T_7;
T_11 = *T_8;
T_12 = T_10 * T_11;
*T_9 = T_12;
Paolo
More information about the Gcc
mailing list