On Mon, 23 Apr 2012, Jay Foad wrote: > On 23 April 2012 14:30, Richard Guenther <rguent...@suse.de> wrote: > > Well, CCP simply tracks known-bits and derives the alignment > > value from that. If tem & -tem computes as zero that means > > val->mask.low is all zeros. > > Doesn't that mean that all bits are known? So you could set: > > pi->align = 1 << 32; // or some suitably large power of two > pi->misalign = val->value;
Oh, I got it wrong. All bits zero mean all bits known, all bits unknown are a mask of ~0. So indeed, if val.mask.low == 0 then we know this is a very large alignment which is at the moment lost. Richard.