Hi Aldy, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: >> >> On 10/15/19 7:58 AM, Rainer Orth wrote: >>> Hi Aldy, >>> >>>>>> ~[0,0] has been the accepted way for a long time, I'd really prefer to >>>>>> keep that (for now). >>>>> It has. Very true. But I don't necessarily think that means we should >>>>> be introducing even more of 'em. >>> [...] >>>> Happily, normalizing into ~0 for signed and [1,MAX] for unsigned, >>>> simplified the patch because it on longer needs tweaks to >>>> ranges_from_anti_range. >>>> >>>> OK for trunk? >>> >>> the new testcase FAILs on several (all?) 32-bit targets: >>> >>> +FAIL: gcc.dg/tree-ssa/evrp4.c scan-tree-dump evrp "\\\\[1B, -1B\\\\]" >> >> That's unfortunate. >> >> Is this the only test that is failing? > > it's the only on on Solaris/SPARC and Solaris/x86. Haven't checked > other affected targets, though. > >>> I'm seeing this on 32-bit i386-pc-solaris2.11 and sparc-sun-solaris2.11, >>> with more reports for armv8l, pru, and s390x. >>> >>> Comparing the dumps between 64 and 32-bit, I see >>> >>> -_1: int * [1B, -1B] >>> +_1: int * [1B, 4294967295B] >> >> I wonder why 32-bit targets at displaying 4294967295 instead of -1. Or are >> pointers 64-bits here? > > No, it's a pure 32-bit target. The compiler is 32-bit, too, but > bi-arch (32 and 64-bit).
identical result on i686-darwin9, also a pure32b target (with a 64b multilb). Iain