all_ones vs minus_one (was: [PATCH] Loop distribution improvements)

Marc Glisse marc.glisse@inria.fr
Tue May 7 06:31:00 GMT 2013


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



More information about the Gcc-patches mailing list