On 12/23/10 09:02, Dmitry Melnik wrote:
Hi,
We've found that constant splitting on ARM can be very inefficient, if
it's done inside a loop.
For example, the expression
a = a & 0xff00ff00;
will be translated into the following code (on ARM, only 8-bit values
shifted by an even number can b
> 2) Is there any reason we shouldn't prevent GCSE from propagating
> constants that we know will be split?
IIUC this will increase register pressure. i.e. it will probably be a win for
simple loops, but risks catastrophic spills in the inner loop of more
complicated code.
Paul
Hi,
We've found that constant splitting on ARM can be very inefficient, if
it's done inside a loop.
For example, the expression
a = a & 0xff00ff00;
will be translated into the following code (on ARM, only 8-bit values
shifted by an even number can be used as immediate arguments):
bic