On Tue, 7 May 2013, Marc Glisse wrote:
On Thu, 2 May 2013, Richard Biener wrote:
Can you followup with a patch to do
s/integer_all_onesp/integer_minus_onep/ where it makes sense?
This passes bootstrap+testsuite on x86_64-linux-gnu. I kept all_ones for
bitmask type of operations (BIT_*_EXPR, VEC_COND_EXPR) and used minus_one for
the maximal unsigned value. A few cases were not very clear and chosen rather
randomly. There is one place in fold-const where we would actually want
instead an integer_zero_or_all_onesp which checks whether each element of a
vector (or complex) is 0 or -1, which would accept {-1,0,0,-1} for instance,
but I didn't add that.
Forgot to say: there are a few more uses in the C and C++ front-ends, that
I'll change next if this first patch is ok.
--
Marc Glisse