On August 11, 2019 12:20:31 PM GMT+02:00, Jakub Jelinek <ja...@redhat.com> wrote: >On Sun, Aug 11, 2019 at 12:17:06PM +0200, Rainer Orth wrote: >> 2019-08-07 Richard Sandiford <richard.sandif...@arm.com> >> >> * data-streamer.h (streamer_write_poly_uint64): Declare. >> (streamer_read_poly_uint64): Likewise. >> * data-streamer-in.c (streamer_read_poly_uint64): New function. >> * data-streamer-out.c (streamer_write_poly_uint64): Likewise. >> * ipa-predicate.h (condition::size): Turn into a poly_int64. >> (add_condition): Take a poly_int64 size. >> * ipa-predicate.c (add_condition): Likewise. >> [...] >> >> Looking through it, I noticed this snippet >> >> diff --git a/gcc/ipa-predicate.c b/gcc/ipa-predicate.c >> --- a/gcc/ipa-predicate.c >> +++ b/gcc/ipa-predicate.c >> @@ -549,7 +549,7 @@ add_condition (class ipa_fn_summary *sum >> for (i = 0; vec_safe_iterate (summary->conds, i, &c); i++) >> { >> if (c->operand_num == operand_num >> - && c->size == size >> + && maybe_ne (c->size, size) >> >> >> where changing == to maybe_ne didn't seem right. And indeed changing >it >> to maybe_eq as in the following patch fixed the comparison failure. > >Shouldn't that be known_eq instead? Of course, it could make a >difference >right now solely on aarch64 SVE.
OK with using known_eq. Richard. > Jakub