[PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.
Thu Jan 2 15:12:00 GMT 2014
> Frankly speaking, I do not understand, what's wrong here.
> IMHO, this change is pretty mechanical: we just extend maximal aligment
> available. Because of 512-bit data types we now extend maximal aligment to
> 512 bits.
Nothing wrong per se, but...
> I suspect that an issue is here:
> if (opt
> && AGGREGATE_TYPE_P (type)
> && TYPE_SIZE (type)
> && TREE_CODE (TYPE_SIZE (type)) == INTEGER_CST
> && (TREE_INT_CST_LOW (TYPE_SIZE (type)) >= (unsigned) max_align
> || TREE_INT_CST_HIGH (TYPE_SIZE (type)))
> && align < max_align)
> align = max_align;
...yes, bumping max_align has the unexpected side effect of changing the
behavior for sizes between the old value and the new value because of this
code. I'm no x86 specialist, but I think that this should be fixed.
> Maybe we can split it and handle 256-bit aggregates separately?
Probably, and we should also add a warning just before the declaration of
max_align, as well as investigate whether this didn't already happen when
max_align was bumped from 128 to 256.
More information about the Gcc-patches