This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: Replace __aligned__(16) with __aligned__(__BIGGEST_ALIGNMENT__)


On Thu, May 7, 2009 at 7:43 PM, Janis Johnson <janis187@us.ibm.com> wrote:
> On Tue, 2009-05-05 at 15:20 -0700, H.J. Lu wrote:
>> Hi,
>>
>> Vector tests won't work if vector alignment > 16. This patch repalces
>> __aligned__(16) with __BIGGEST_ALIGNMENT__. ?Tested on Linux/Intel64.
>> OK for trunk?
>>
>> Thanks.
>
> Auto-vectorizer maintainers, would one of you please review this?

Ok.

THanks,
Richard.

> Janis
>
>> ---
>> 2009-05-05 ?H.J. Lu ?<hongjiu.lu@intel.com>
>>
>> ? ? ? * gcc.dg/vect/no-vfa-vect-37.c: Replace __aligned__(16) with
>> ? ? ? __aligned__(__BIGGEST_ALIGNMENT__).
>> ? ? ? * gcc.dg/vect/no-vfa-vect-43.c: Likewise.
>> ? ? ? * gcc.dg/vect/no-vfa-vect-49.c: Likewise.
>> ? ? ? * gcc.dg/vect/no-vfa-vect-53.c: Likewise.
>> ? ? ? * gcc.dg/vect/no-vfa-vect-57.c: Likewise.
>> ? ? ? * gcc.dg/vect/no-vfa-vect-61.c: Likewise.
>> ? ? ? * gcc.dg/vect/no-vfa-vect-79.c: Likewise.
>> ? ? ? * gcc.dg/vect/Os-vect-95.c: Likewise.
>> ? ? ? * gcc.dg/vect/pr20122.c: Likewise.
>> ? ? ? * gcc.dg/vect/pr36493.c: Likewise.
>> ? ? ? * gcc.dg/vect/pr37385.c: Likewise.
>> ? ? ? * gcc.dg/vect/slp-7.c: Likewise.
>> ? ? ? * gcc.dg/vect/slp-9.c: Likewise.
>> ? ? ? * gcc.dg/vect/slp-widen-mult-s16.c: Likewise.
>> ? ? ? * gcc.dg/vect/slp-widen-mult-u8.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-35.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-40.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-42.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-44.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-46.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-48.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-52.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-54.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-56.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-58.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-60.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-74.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-75.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-76.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-77-alignchecks.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-77.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-77-global.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-78-alignchecks.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-78.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-78-global.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-80.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-85.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-87.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-88.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-92.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-93.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-95.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-97.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-complex-1.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-complex-4.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-complex-5.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-10.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-11.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-12.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-13.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-14.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-15.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-16.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-17.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-3.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-6.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-7.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-8.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-multitypes-9.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-1a.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-1.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-2a.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-2b.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-2.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-2c.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-2d.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-3a.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-3b.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-3.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-3c.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-5.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-outer-6.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-reduc-dot-s16a.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-reduc-dot-s16b.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-reduc-dot-s8a.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-reduc-dot-s8c.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-reduc-dot-u16a.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-reduc-dot-u16b.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-reduc-dot-u8a.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-reduc-dot-u8b.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-widen-mult-s16.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-widen-mult-s8.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-widen-mult-u16.c: Likewise.
>> ? ? ? * gcc.dg/vect/vect-widen-mult-u8.c: Likewise.
>> ? ? ? * gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Likewise.
>>
>> Index: gcc.dg/vect/vect-reduc-dot-s16b.c
>> ===================================================================
>> --- gcc.dg/vect/vect-reduc-dot-s16b.c (revision 5847)
>> +++ gcc.dg/vect/vect-reduc-dot-s16b.c (working copy)
>> @@ -7,8 +7,8 @@
>>
>> ?#define DOT 43680
>>
>> -signed short X[N] __attribute__ ((__aligned__(16)));
>> -signed short Y[N] __attribute__ ((__aligned__(16)));
>> +signed short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?/* short->short->int dot product. ?Should be vectorized on architectures
>> ? ? supporting vectorized multiplication of two short args with short result,
>> Index: gcc.dg/vect/vect-multitypes-14.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-14.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-14.c ?(working copy)
>> @@ -5,9 +5,9 @@
>>
>> ?#define N 64
>>
>> -unsigned char uX[N] __attribute__ ((__aligned__(16)));
>> +unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?unsigned char uresultX[N];
>> -unsigned int uY[N] __attribute__ ((__aligned__(16)));
>> +unsigned int uY[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?unsigned char uresultY[N];
>>
>> ?/* Unsigned type demotion (si->qi) */
>> Index: gcc.dg/vect/no-vfa-vect-53.c
>> ===================================================================
>> --- gcc.dg/vect/no-vfa-vect-53.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/no-vfa-vect-53.c ? ? ?(working copy)
>> @@ -31,7 +31,7 @@ void bar (const float *pa, const float *
>> ?__attribute__ ((noinline)) int
>> ?main1 (int n, float *pb, float *pc)
>> ?{
>> - ?float pa[N] __attribute__ ((__aligned__(16)));
>> + ?float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?int i;
>>
>> ? ?for (i = 0; i < n; i++)
>> @@ -47,9 +47,9 @@ main1 (int n, float *pb, float *pc)
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> - ?float b[N+1] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
>> - ?float c[N+1] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float b[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
>> + ?float c[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-reduc-dot-u8a.c
>> ===================================================================
>> --- gcc.dg/vect/vect-reduc-dot-u8a.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-reduc-dot-u8a.c ?(working copy)
>> @@ -7,8 +7,8 @@
>>
>> ?#define DOT 43680
>>
>> -unsigned char X[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> -unsigned char Y[N] __attribute__ ((__aligned__(16))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>> +unsigned char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> +unsigned char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>>
>> ?/* char->short->int dot product.
>> ? ? Detected as a dot-product pattern.
>> Index: gcc.dg/vect/vect-92.c
>> ===================================================================
>> --- gcc.dg/vect/vect-92.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-92.c ? ? (working copy)
>> @@ -5,9 +5,9 @@
>>
>> ?#define N 256
>>
>> -float pa[N] __attribute__ ((__aligned__(16)));
>> -float pb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> -float pc[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> +float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +float pb[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> +float pc[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ?/* Check handling of unaligned accesses when the misalignment is
>> ? ? known at compile time and different accesses have the same
>> Index: gcc.dg/vect/pr36493.c
>> ===================================================================
>> --- gcc.dg/vect/pr36493.c ? ? (revision 5847)
>> +++ gcc.dg/vect/pr36493.c ? ? (working copy)
>> @@ -6,7 +6,7 @@ int
>> ?main (void)
>> ?{
>> ? ?int i;
>> - ?long x[12] __attribute__((aligned(16)));
>> + ?long x[12] __attribute__((aligned(__BIGGEST_ALIGNMENT__)));
>>
>> ? ?x[0] = 1;
>> ? ?for (i = 0; i < 12; i++)
>> Index: gcc.dg/vect/vect-75.c
>> ===================================================================
>> --- gcc.dg/vect/vect-75.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-75.c ? ? (working copy)
>> @@ -10,7 +10,7 @@
>> ? ? the expression that represents the first location accessed - is
>> ? ? more involved than just an ssa_name. ?*/
>>
>> -int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> +int ib[N+OFF] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>>
>> ?__attribute__ ((noinline))
>> ?int main1 (int *ib)
>> Index: gcc.dg/vect/vect-58.c
>> ===================================================================
>> --- gcc.dg/vect/vect-58.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-58.c ? ? (working copy)
>> @@ -26,7 +26,7 @@ void bar (float *pa, float *pb, float *p
>> ? ? vect-54.c is similar to this one with one difference:
>> ? ? ? ? ?the loop bound is known. ?*/
>>
>> -float a[N] __attribute__ ((__aligned__(16))); ?float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57}; ?float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> +float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))); ?float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57}; ?float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ?__attribute__ ((noinline)) int
>> ?main1 (int n)
>> Index: gcc.dg/vect/vect-outer-2b.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-2b.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-outer-2b.c ? ? ? (working copy)
>> @@ -3,7 +3,7 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 40
>> -float image[2*N][N][N] __attribute__ ((__aligned__(16)));
>> +float image[2*N][N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?__attribute__ ((noinline)) void
>> ?foo (){
>> Index: gcc.dg/vect/vect-complex-5.c
>> ===================================================================
>> --- gcc.dg/vect/vect-complex-5.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-complex-5.c ? ? ?(working copy)
>> @@ -11,11 +11,11 @@ struct foostr {
>> ? ?_Complex short f2;
>> ?};
>>
>> -_Complex short a1[64] __attribute__ ((__aligned__(16)));
>> -_Complex short a2[64] __attribute__ ((__aligned__(16)));
>> -_Complex short b1[64] __attribute__ ((__aligned__(16)));
>> -_Complex short b2[64] __attribute__ ((__aligned__(16)));
>> -struct foostr c[64] __attribute__ ((__aligned__(16)));
>> +_Complex short a1[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +_Complex short a2[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +_Complex short b1[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +_Complex short b2[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +struct foostr c[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?__attribute__ ((noinline)) void
>> ?foo (void)
>> Index: gcc.dg/vect/vect-42.c
>> ===================================================================
>> --- gcc.dg/vect/vect-42.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-42.c ? ? (working copy)
>> @@ -30,8 +30,8 @@ __attribute__ ((noinline)) int
>> ?main1 (float * __restrict__ pa)
>> ?{
>> ? ?int i;
>> - ?float pb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> - ?float pc[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> + ?float pb[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> + ?float pc[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ? ?for (i = 0; i < N; i++)
>> ? ? ?{
>> @@ -44,9 +44,9 @@ main1 (float * __restrict__ pa)
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> - ?float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> - ?float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> + ?float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-outer-3a.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-3a.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-outer-3a.c ? ? ? (working copy)
>> @@ -3,7 +3,7 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 40
>> -float image[N][N+1] __attribute__ ((__aligned__(16)));
>> +float image[N][N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?float out[N];
>>
>> ?/* Outer-loop vectorization with misaliged accesses in the inner-loop. ?*/
>> Index: gcc.dg/vect/vect-multitypes-15.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-15.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-15.c ?(working copy)
>> @@ -9,9 +9,9 @@
>> ?#define DOT1 43680
>> ?#define DOT2 -20832
>>
>> -signed char X[N] __attribute__ ((__aligned__(16)));
>> -signed char Y[N] __attribute__ ((__aligned__(16)));
>> -unsigned char CX[N] __attribute__ ((__aligned__(16)));
>> +signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +unsigned char CX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?__attribute__ ((noinline)) void
>> ?foo1(int len) {
>> Index: gcc.dg/vect/no-vfa-vect-37.c
>> ===================================================================
>> --- gcc.dg/vect/no-vfa-vect-37.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/no-vfa-vect-37.c ? ? ?(working copy)
>> @@ -4,8 +4,8 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 16
>> -char x[N] __attribute__ ((__aligned__(16)));
>> -char cb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>> +char x[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +char cb[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>>
>> ?__attribute__ ((noinline))
>> ?int main1 (char *y)
>> Index: gcc.dg/vect/vect-reduc-dot-u8b.c
>> ===================================================================
>> --- gcc.dg/vect/vect-reduc-dot-u8b.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-reduc-dot-u8b.c ?(working copy)
>> @@ -7,8 +7,8 @@
>>
>> ?#define DOT 43680
>>
>> -unsigned char X[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> -unsigned char Y[N] __attribute__ ((__aligned__(16))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>> +unsigned char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> +unsigned char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>>
>> ?/* char->short->short dot product.
>> ? ? Detected as a dot-product pattern.
>> Index: gcc.dg/vect/no-vfa-vect-79.c
>> ===================================================================
>> --- gcc.dg/vect/no-vfa-vect-79.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/no-vfa-vect-79.c ? ? ?(working copy)
>> @@ -5,9 +5,9 @@
>>
>> ?#define N 16
>>
>> -float fa[N] __attribute__ ((__aligned__(16)));
>> -float fb[N+4] __attribute__ ((__aligned__(16))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
>> -float fc[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
>> +float fa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +float fb[N+4] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
>> +float fc[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
>>
>> ?/* Like vect-80.c but the pointers are not annotated as restricted,
>> ? ? and therefore can't be antialiased. ?*/
>> Index: gcc.dg/vect/vect-93.c
>> ===================================================================
>> --- gcc.dg/vect/vect-93.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-93.c ? ? (working copy)
>> @@ -41,8 +41,8 @@ main1 (float *pa)
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> - ?float b[N] __attribute__ ((__aligned__(16)));
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/pr37385.c
>> ===================================================================
>> --- gcc.dg/vect/pr37385.c ? ? (revision 5847)
>> +++ gcc.dg/vect/pr37385.c ? ? (working copy)
>> @@ -4,7 +4,7 @@
>>
>> ?typedef int int_t;
>> ?typedef void (*fun_t) (int);
>> -fun_t fun_tab[400] __attribute__ ((__aligned__(16)));
>> +fun_t fun_tab[400] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?void foo (int_t a);
>>
>> Index: gcc.dg/vect/vect-76.c
>> ===================================================================
>> --- gcc.dg/vect/vect-76.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-76.c ? ? (working copy)
>> @@ -10,7 +10,7 @@
>> ? ? the expression that represents the first location accessed - is
>> ? ? more involved than just an ssa_name. ?*/
>>
>> -int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10};
>> +int ib[N+OFF] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10};
>>
>> ?__attribute__ ((noinline))
>> ?int main1 (int *pib)
>> Index: gcc.dg/vect/vect-widen-mult-s16.c
>> ===================================================================
>> --- gcc.dg/vect/vect-widen-mult-s16.c (revision 5847)
>> +++ gcc.dg/vect/vect-widen-mult-s16.c (working copy)
>> @@ -5,8 +5,8 @@
>>
>> ?#define N 64
>>
>> -short X[N] __attribute__ ((__aligned__(16)));
>> -short Y[N] __attribute__ ((__aligned__(16)));
>> +short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?int result[N];
>>
>> ?/* short->int widening-mult */
>> Index: gcc.dg/vect/vect-outer-2c.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-2c.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-outer-2c.c ? ? ? (working copy)
>> @@ -4,7 +4,7 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 40
>> -float image[2*N][2*N][N] __attribute__ ((__aligned__(16)));
>> +float image[2*N][2*N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?__attribute__ ((noinline)) void
>> ?foo (){
>> Index: gcc.dg/vect/vect-outer-5.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-5.c ? ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-outer-5.c ? ? ? ?(working copy)
>> @@ -13,10 +13,10 @@ extern void abort(void);
>> ?__attribute__ ((noinline))
>> ?int main1 ()
>> ?{
>> - ?float A[N] __attribute__ ((__aligned__(16)));
>> - ?float B[N] __attribute__ ((__aligned__(16)));
>> - ?float C[N] __attribute__ ((__aligned__(16)));
>> - ?float D[N] __attribute__ ((__aligned__(16)));
>> + ?float A[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float B[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float C[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float D[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?float E[4] = {0,1,2,480};
>> ? ?float s;
>>
>> Index: gcc.dg/vect/slp-7.c
>> ===================================================================
>> --- gcc.dg/vect/slp-7.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/slp-7.c ? ? ? (working copy)
>> @@ -6,8 +6,8 @@
>>
>> ?#define N 8
>>
>> -unsigned int in[N*8] ?__attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> -unsigned short in2[N*16] ?__attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> +unsigned int in[N*8] ?__attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> +unsigned short in2[N*16] ?__attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>>
>> ?int
>> ?main1 ()
>> Index: gcc.dg/vect/slp-widen-mult-u8.c
>> ===================================================================
>> --- gcc.dg/vect/slp-widen-mult-u8.c ? (revision 5847)
>> +++ gcc.dg/vect/slp-widen-mult-u8.c ? (working copy)
>> @@ -5,8 +5,8 @@
>>
>> ?#define N 64
>>
>> -unsigned char X[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> -unsigned char Y[N] __attribute__ ((__aligned__(16))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>> +unsigned char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> +unsigned char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>>
>> ?unsigned short result[N];
>>
>> Index: gcc.dg/vect/vect-widen-mult-u8.c
>> ===================================================================
>> --- gcc.dg/vect/vect-widen-mult-u8.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-widen-mult-u8.c ?(working copy)
>> @@ -5,8 +5,8 @@
>>
>> ?#define N 64
>>
>> -unsigned char X[N] __attribute__ ((__aligned__(16)));
>> -unsigned char Y[N] __attribute__ ((__aligned__(16)));
>> +unsigned char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +unsigned char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?unsigned short result[N];
>>
>> ?/* char->short widening-mult */
>> Index: gcc.dg/vect/vect-multitypes-6.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-6.c ? (revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-6.c ? (working copy)
>> @@ -5,17 +5,17 @@
>>
>> ?#define N 32
>>
>> -unsigned int ic[N] __attribute__ ((__aligned__(16))) =
>> +unsigned int ic[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ? {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>> -unsigned int ib[N] __attribute__ ((__aligned__(16))) =
>> +unsigned int ib[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ? {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>> -unsigned short sc[N] __attribute__ ((__aligned__(16))) =
>> +unsigned short sc[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ? {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>> -unsigned short sb[N] __attribute__ ((__aligned__(16))) =
>> +unsigned short sb[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ? {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>> -unsigned char cc[N] __attribute__ ((__aligned__(16))) =
>> +unsigned char cc[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ? {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>> -unsigned char cb[N] __attribute__ ((__aligned__(16))) =
>> +unsigned char cb[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ? {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>>
>> ?__attribute__ ((noinline))
>> Index: gcc.dg/vect/vect-60.c
>> ===================================================================
>> --- gcc.dg/vect/vect-60.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-60.c ? ? (working copy)
>> @@ -30,14 +30,14 @@ void bar (float *pa, float *pb, float *p
>> ? ? vect-61.c is similar to this one with two differences:
>> ? ? ? ? ?aliasing is not a problem, and the write access has unknown alignment. ?*/
>>
>> -float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> -float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> +float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> +float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ?__attribute__ ((noinline)) int
>> ?main1 (int n)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?float *pa = a;
>> ? ?float *pb = b;
>> ? ?float *pc = c;
>> Index: gcc.dg/vect/vect-77-global.c
>> ===================================================================
>> --- gcc.dg/vect/vect-77-global.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-77-global.c ? ? ?(working copy)
>> @@ -10,7 +10,7 @@
>> ? ? the expression that represents the first location accessed - is
>> ? ? more involved than just an ssa_name. ?*/
>>
>> -int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> +int ib[N+OFF] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> ?int ia[N];
>>
>> ?__attribute__ ((noinline))
>> Index: gcc.dg/vect/vect-85.c
>> ===================================================================
>> --- gcc.dg/vect/vect-85.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-85.c ? ? (working copy)
>> @@ -35,7 +35,7 @@ int main1 (int *a)
>>
>> ?int main (void)
>> ?{
>> - ?int a[N] __attribute__ ((__aligned__(16)));
>> + ?int a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-outer-3b.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-3b.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-outer-3b.c ? ? ? (working copy)
>> @@ -3,7 +3,7 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 40
>> -float image[N][N] __attribute__ ((__aligned__(16)));
>> +float image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?float out[N];
>>
>> ?/* Outer-loop vectorization with non-consecutive access. Not vectorized yet. ?*/
>> Index: gcc.dg/vect/vect-multitypes-16.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-16.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-16.c ?(working copy)
>> @@ -5,7 +5,7 @@
>>
>> ?#define N 64
>>
>> -char x[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> +char x[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>>
>> ?__attribute__ ((noinline)) int
>> ?foo (int len, long long *z) {
>> Index: gcc.dg/vect/vect-52.c
>> ===================================================================
>> --- gcc.dg/vect/vect-52.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-52.c ? ? (working copy)
>> @@ -18,7 +18,7 @@
>> ?__attribute__ ((noinline)) int
>> ?main1 (int n, float *pb, float *pc)
>> ?{
>> - ?float pa[N] __attribute__ ((__aligned__(16)));
>> + ?float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?int i;
>>
>> ? ?for (i = 0; i < n; i++)
>> @@ -39,9 +39,9 @@ main1 (int n, float *pb, float *pc)
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> - ?float b[N+1] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
>> - ?float c[N+1] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float b[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
>> + ?float c[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-35.c
>> ===================================================================
>> --- gcc.dg/vect/vect-35.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-35.c ? ? (working copy)
>> @@ -9,8 +9,8 @@ __attribute__ ((noinline))
>> ?int main1 ()
>> ?{
>> ? ?union {
>> - ? ?unsigned char a[N] __attribute__ ((__aligned__(16)));
>> - ? ?unsigned char b[N] __attribute__ ((__aligned__(16)));
>> + ? ?unsigned char a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ? ?unsigned char b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?} s;
>> ? ?int i;
>>
>> Index: gcc.dg/vect/vect-77.c
>> ===================================================================
>> --- gcc.dg/vect/vect-77.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-77.c ? ? (working copy)
>> @@ -10,7 +10,7 @@
>> ? ? the expression that represents the first location accessed - is
>> ? ? more involved than just an ssa_name. ?*/
>>
>> -int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> +int ib[N+OFF] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>>
>> ?__attribute__ ((noinline))
>> ?int main1 (int *ib, int off)
>> Index: gcc.dg/vect/vect-outer-2d.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-2d.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-outer-2d.c ? ? ? (working copy)
>> @@ -3,7 +3,7 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 40
>> -float image[N][N][N+1] __attribute__ ((__aligned__(16)));
>> +float image[N][N][N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?__attribute__ ((noinline)) void
>> ?foo (){
>> Index: gcc.dg/vect/vect-outer-6.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-6.c ? ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-outer-6.c ? ? ? ?(working copy)
>> @@ -7,10 +7,10 @@
>> ?#define N 64
>> ?#define MAX 42
>>
>> -float A[N] __attribute__ ((__aligned__(16)));
>> -float B[N] __attribute__ ((__aligned__(16)));
>> -float C[N] __attribute__ ((__aligned__(16)));
>> -float D[N] __attribute__ ((__aligned__(16)));
>> +float A[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +float B[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +float C[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +float D[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?extern void abort(void);
>>
>> ?__attribute__ ((noinline))
>> Index: gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c
>> ===================================================================
>> --- gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c ? ?(revision 5847)
>> +++ gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c ? ?(working copy)
>> @@ -7,8 +7,8 @@
>>
>> ?#define DOT -21856
>>
>> -signed char X[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> -signed char Y[N] __attribute__ ((__aligned__(16))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>> +signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> +signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>>
>> ?/* char->short->short dot product.
>> ? ? The dot-product pattern should be detected.
>> Index: gcc.dg/vect/vect-multitypes-7.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-7.c ? (revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-7.c ? (working copy)
>> @@ -9,9 +9,9 @@
>> ?#define DOT1 43680
>> ?#define DOT2 -20832
>>
>> -signed short X[N] __attribute__ ((__aligned__(16)));
>> -signed short Y[N] __attribute__ ((__aligned__(16)));
>> -unsigned char CX[N] __attribute__ ((__aligned__(16)));
>> +signed short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +unsigned char CX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?__attribute__ ((noinline)) void
>> ?foo1(int len) {
>> Index: gcc.dg/vect/vect-44.c
>> ===================================================================
>> --- gcc.dg/vect/vect-44.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-44.c ? ? (working copy)
>> @@ -46,9 +46,9 @@ main1 (float * __restrict__ pa, float *
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float a[N+4] __attribute__ ((__aligned__(16)));
>> - ?float b[N+4] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69};
>> - ?float c[N+4] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
>> + ?float a[N+4] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float b[N+4] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,63,66,69};
>> + ?float c[N+4] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-outer-3c.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-3c.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-outer-3c.c ? ? ? (working copy)
>> @@ -3,7 +3,7 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 40
>> -float image[N][N+1] __attribute__ ((__aligned__(16)));
>> +float image[N][N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?float out[N];
>>
>> ?/* Outer-loop vectorization. ?*/
>> Index: gcc.dg/vect/vect-multitypes-17.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-17.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-17.c ?(working copy)
>> @@ -5,9 +5,9 @@
>>
>> ?#define N 64
>>
>> -unsigned char uX[N] __attribute__ ((__aligned__(16))) = {16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>> +unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>> ?unsigned char uresultX[N];
>> -unsigned long long uY[N] __attribute__ ((__aligned__(16))) = {16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>> +unsigned long long uY[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>> ?unsigned char uresultY[N];
>>
>> ?/* Unsigned type demotion (si->qi) */
>> Index: gcc.dg/vect/Os-vect-95.c
>> ===================================================================
>> --- gcc.dg/vect/Os-vect-95.c ?(revision 5847)
>> +++ gcc.dg/vect/Os-vect-95.c ?(working copy)
>> @@ -41,8 +41,8 @@ main1 (int n, float * __restrict__ pd, f
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> - ?float d[N+1] __attribute__ ((__aligned__(16)));
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?float b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> ? ?float c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> Index: gcc.dg/vect/vect-95.c
>> ===================================================================
>> --- gcc.dg/vect/vect-95.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-95.c ? ? (working copy)
>> @@ -42,8 +42,8 @@ main1 (int n, float * __restrict__ pd, f
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> - ?float d[N+1] __attribute__ ((__aligned__(16)));
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float d[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?float b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> ? ?float c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> Index: gcc.dg/vect/vect-78.c
>> ===================================================================
>> --- gcc.dg/vect/vect-78.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-78.c ? ? (working copy)
>> @@ -10,7 +10,7 @@
>> ? ? the expression that represents the first location accessed - is
>> ? ? more involved than just an ssa_name. ?*/
>>
>> -int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> +int ib[N+OFF] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> ?int off = 8;
>>
>> ?__attribute__ ((noinline))
>> Index: gcc.dg/vect/slp-9.c
>> ===================================================================
>> --- gcc.dg/vect/slp-9.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/slp-9.c ? ? ? (working copy)
>> @@ -5,8 +5,8 @@
>>
>> ?#define N 64
>>
>> -short X[N] __attribute__ ((__aligned__(16)));
>> -short Y[N] __attribute__ ((__aligned__(16)));
>> +short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?int result[N];
>>
>> ?/* short->int widening-mult */
>> Index: gcc.dg/vect/vect-78-alignchecks.c
>> ===================================================================
>> --- gcc.dg/vect/vect-78-alignchecks.c (revision 5847)
>> +++ gcc.dg/vect/vect-78-alignchecks.c (working copy)
>> @@ -10,7 +10,7 @@
>> ? ? the expression that represents the first location accessed - is
>> ? ? more involved than just an ssa_name. ?*/
>>
>> -int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> +int ib[N+OFF] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> ?int off = 8;
>>
>> ?__attribute__ ((noinline))
>> Index: gcc.dg/vect/vect-multitypes-8.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-8.c ? (revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-8.c ? (working copy)
>> @@ -5,9 +5,9 @@
>>
>> ?#define N 64
>>
>> -unsigned char uX[N] __attribute__ ((__aligned__(16)));
>> +unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?unsigned char uresultX[N];
>> -unsigned int uY[N] __attribute__ ((__aligned__(16)));
>> +unsigned int uY[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?unsigned short uresultY[N];
>>
>> ?/* Unsigned type demotion (si->hi) */
>> Index: gcc.dg/vect/vect-multitypes-10.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-10.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-10.c ?(working copy)
>> @@ -5,11 +5,11 @@
>>
>> ?#define N 64
>>
>> -unsigned char uX[N] __attribute__ ((__aligned__(16)));
>> -unsigned short uY[N] __attribute__ ((__aligned__(16)));
>> +unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +unsigned short uY[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?unsigned int uresult[N];
>> -signed char X[N] __attribute__ ((__aligned__(16)));
>> -signed short Y[N] __attribute__ ((__aligned__(16)));
>> +signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?int result[N];
>>
>> ?/* Unsigned type promotion (hi->si) */
>> Index: gcc.dg/vect/vect-87.c
>> ===================================================================
>> --- gcc.dg/vect/vect-87.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-87.c ? ? (working copy)
>> @@ -35,7 +35,7 @@ int main1 (int n, int *a)
>>
>> ?int main (void)
>> ?{
>> - ?int a[N] __attribute__ ((__aligned__(16)));
>> + ?int a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-reduc-dot-u16a.c
>> ===================================================================
>> --- gcc.dg/vect/vect-reduc-dot-u16a.c (revision 5847)
>> +++ gcc.dg/vect/vect-reduc-dot-u16a.c (working copy)
>> @@ -8,8 +8,8 @@
>> ?#define DOT1 43680
>> ?#define DOT2 43680
>>
>> -unsigned short X[N] __attribute__ ((__aligned__(16)));
>> -unsigned short Y[N] __attribute__ ((__aligned__(16)));
>> +unsigned short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +unsigned short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?/* short->short->int dot product.
>> ? ? Not detected as a dot-product pattern.
>> Index: gcc.dg/vect/no-vfa-vect-57.c
>> ===================================================================
>> --- gcc.dg/vect/no-vfa-vect-57.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/no-vfa-vect-57.c ? ? ?(working copy)
>> @@ -43,8 +43,8 @@ __attribute__ ((noinline)) int
>> ?main1 (float *pa)
>> ?{
>> ? ?int i;
>> - ?float b[N] __attribute__ ((__aligned__(16)));
>> - ?float c[N] __attribute__ ((__aligned__(16)));
>> + ?float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?float *pb = b;
>> ? ?float *pc = c;
>>
>> @@ -63,7 +63,7 @@ main1 (float *pa)
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ? ?check_vect ();
>> ? ?main1 (a);
>> Index: gcc.dg/vect/vect-reduc-dot-s8a.c
>> ===================================================================
>> --- gcc.dg/vect/vect-reduc-dot-s8a.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-reduc-dot-s8a.c ?(working copy)
>> @@ -7,8 +7,8 @@
>>
>> ?#define DOT1 43680
>>
>> -signed char X[N] __attribute__ ((__aligned__(16)));
>> -signed char Y[N] __attribute__ ((__aligned__(16)));
>> +signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?/* char->short->int dot product.
>> ? ? The dot-product pattern should be detected.
>> Index: gcc.dg/vect/vect-54.c
>> ===================================================================
>> --- gcc.dg/vect/vect-54.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-54.c ? ? (working copy)
>> @@ -26,14 +26,14 @@ void bar (float *pa, float *pb, float *p
>> ? ? vect-58.c is similar to this one with one difference:
>> ? ? ? ? ?the loop bound is unknown. ?*/
>>
>> -float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> -float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> +float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> +float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ?__attribute__ ((noinline)) int
>> ?main1 ()
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?float *pa = a;
>> ? ?float *pb = b;
>> ? ?float *pc = c;
>> Index: gcc.dg/vect/vect-complex-1.c
>> ===================================================================
>> --- gcc.dg/vect/vect-complex-1.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-complex-1.c ? ? ?(working copy)
>> @@ -6,19 +6,19 @@
>>
>> ?#define N 16
>>
>> -_Complex float a[N] ?__attribute__ ((__aligned__(16))) =
>> +_Complex float a[N] ?__attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ?{ 10.0F + 20.0iF, 11.0F + 21.0iF, 12.0F + 22.0iF, 13.0F + 23.0iF,
>> ? ? ? ?14.0F + 24.0iF, 15.0F + 25.0iF, 16.0F + 26.0iF, 17.0F + 27.0iF,
>> ? ? ? ?18.0F + 28.0iF, 19.0F + 29.0iF, 20.0F + 30.0iF, 21.0F + 31.0iF,
>> ? ? ? ?22.0F + 32.0iF, 23.0F + 33.0iF, 24.0F + 34.0iF, 25.0F + 35.0iF };
>> -_Complex float b[N] ?__attribute__ ((__aligned__(16))) =
>> +_Complex float b[N] ?__attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ?{ 30.0F + 40.0iF, 31.0F + 41.0iF, 32.0F + 42.0iF, 33.0F + 43.0iF,
>> ? ? ? ?34.0F + 44.0iF, 35.0F + 45.0iF, 36.0F + 46.0iF, 37.0F + 47.0iF,
>> ? ? ? ?38.0F + 48.0iF, 39.0F + 49.0iF, 40.0F + 50.0iF, 41.0F + 51.0iF,
>> ? ? ? ?42.0F + 52.0iF, 43.0F + 53.0iF, 44.0F + 54.0iF, 45.0F + 55.0iF };
>>
>> -_Complex float c[N] __attribute__ ((__aligned__(16)));
>> -_Complex float res[N] __attribute__ ((__aligned__(16))) =
>> +_Complex float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +_Complex float res[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ?{ 40.0F + 60.0iF, 42.0F + 62.0iF, 44.0F + 64.0iF, 46.0F + 66.0iF,
>> ? ? ? ?48.0F + 68.0iF, 50.0F + 70.0iF, 52.0F + 72.0iF, 54.0F + 74.0iF,
>> ? ? ? ?56.0F + 76.0iF, 58.0F + 78.0iF, 60.0F + 80.0iF, 62.0F + 82.0iF,
>> Index: gcc.dg/vect/vect-77-alignchecks.c
>> ===================================================================
>> --- gcc.dg/vect/vect-77-alignchecks.c (revision 5847)
>> +++ gcc.dg/vect/vect-77-alignchecks.c (working copy)
>> @@ -10,7 +10,7 @@
>> ? ? the expression that represents the first location accessed - is
>> ? ? more involved than just an ssa_name. ?*/
>>
>> -int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> +int ib[N+OFF] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>>
>> ?__attribute__ ((noinline))
>> ?int main1 (int *ib, int off)
>> Index: gcc.dg/vect/pr20122.c
>> ===================================================================
>> --- gcc.dg/vect/pr20122.c ? ? (revision 5847)
>> +++ gcc.dg/vect/pr20122.c ? ? (working copy)
>> @@ -3,7 +3,7 @@
>> ?#include <stdarg.h>
>> ?#include "tree-vect.h"
>>
>> -short Kernshort[24] __attribute__ ((__aligned__(16)));
>> +short Kernshort[24] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?static void VecBug(short Kernel[8][24]) __attribute__((noinline));
>> ?static void VecBug2(short Kernel[8][24]) __attribute__((noinline));
>>
>> @@ -21,7 +21,7 @@ static void VecBug(short Kernel[8][24])
>> ?static void VecBug2(short Kernel[8][24])
>> ?{
>> ? ?int k,i;
>> - ?short Kernshort2[24] __attribute__ ((__aligned__(16)));
>> + ?short Kernshort2[24] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ? ?for (k = 0; k<8; k++)
>> ? ? ? ? ?for (i = 0; i<24; i++)
>> ? ? ? ? ? ? ?Kernshort2[i] = Kernel[k][i];
>> @@ -36,7 +36,7 @@ int main (int argc, char **argv)
>> ?{
>> ? ? ?check_vect ();
>>
>> - ? ?short Kernel[8][24] __attribute__ ((__aligned__(16)));
>> + ? ?short Kernel[8][24] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ? ?int k,i;
>>
>> ? ? ?for (k = 0; k<8; k++)
>> Index: gcc.dg/vect/no-vfa-vect-49.c
>> ===================================================================
>> --- gcc.dg/vect/no-vfa-vect-49.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/no-vfa-vect-49.c ? ? ?(working copy)
>> @@ -31,7 +31,7 @@ void bar (float *pa, float *pb, float *p
>> ?__attribute__ ((noinline)) int
>> ?main1 (float *pb, float *pc)
>> ?{
>> - ?float pa[N] __attribute__ ((__aligned__(16)));
>> + ?float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?int i;
>>
>> ? ?for (i = 0; i < N; i++)
>> @@ -47,8 +47,8 @@ main1 (float *pb, float *pc)
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float b[N+1] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
>> - ?float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> + ?float b[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
>> + ?float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-multitypes-9.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-9.c ? (revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-9.c ? (working copy)
>> @@ -5,9 +5,9 @@
>>
>> ?#define N 64
>>
>> -unsigned char uX[N] __attribute__ ((__aligned__(16)));
>> +unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?unsigned short uresult[N];
>> -signed char X[N] __attribute__ ((__aligned__(16)));
>> +signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?short result[N];
>>
>> ?/* Unsigned type promotion (qi->hi) */
>> Index: gcc.dg/vect/vect-80.c
>> ===================================================================
>> --- gcc.dg/vect/vect-80.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-80.c ? ? (working copy)
>> @@ -5,9 +5,9 @@
>>
>> ?#define N 16
>>
>> -float fa[N] __attribute__ ((__aligned__(16)));
>> -float fb[N+4] __attribute__ ((__aligned__(16))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
>> -float fc[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
>> +float fa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +float fb[N+4] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
>> +float fc[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
>>
>> ?/* Check handling of accesses for which the "initial condition" -
>> ? ? the expression that represents the first location accessed - is
>> Index: gcc.dg/vect/vect-46.c
>> ===================================================================
>> --- gcc.dg/vect/vect-46.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-46.c ? ? (working copy)
>> @@ -30,7 +30,7 @@ __attribute__ ((noinline)) int
>> ?main1 (int n)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16))); ?float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57}; ?float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))); ?float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57}; ?float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> ? ?float *pa = a;
>> ? ?float *pb = b;
>> ? ?float *pc = c;
>> Index: gcc.dg/vect/vect-multitypes-11.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-11.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-11.c ?(working copy)
>> @@ -5,7 +5,7 @@
>>
>> ?#define N 64
>>
>> -short x[N] __attribute__ ((__aligned__(16)));
>> +short x[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?__attribute__ ((noinline)) int
>> ?foo (int len, int *z) {
>> Index: gcc.dg/vect/vect-88.c
>> ===================================================================
>> --- gcc.dg/vect/vect-88.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-88.c ? ? (working copy)
>> @@ -35,7 +35,7 @@ int main1 (int n, int *a)
>>
>> ?int main (void)
>> ?{
>> - ?int a[N+1] __attribute__ ((__aligned__(16)));
>> + ?int a[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-reduc-dot-u16b.c
>> ===================================================================
>> --- gcc.dg/vect/vect-reduc-dot-u16b.c (revision 5847)
>> +++ gcc.dg/vect/vect-reduc-dot-u16b.c (working copy)
>> @@ -7,8 +7,8 @@
>>
>> ?#define DOT2 43680
>>
>> -unsigned short X[N] __attribute__ ((__aligned__(16)));
>> -unsigned short Y[N] __attribute__ ((__aligned__(16)));
>> +unsigned short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +unsigned short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?/* short->int->int dot product.
>> ? ? Currently not detected as a dot-product pattern: the multiplication
>> Index: gcc.dg/vect/vect-reduc-dot-s8b.c
>> ===================================================================
>> --- gcc.dg/vect/vect-reduc-dot-s8b.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-reduc-dot-s8b.c ?(working copy)
>> @@ -7,8 +7,8 @@
>>
>> ?#define DOT2 -21856
>>
>> -signed char X[N] __attribute__ ((__aligned__(16)));
>> -signed char Y[N] __attribute__ ((__aligned__(16)));
>> +signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?/* char->short->short dot product.
>> ? ? The dot-product pattern should be detected.
>> Index: gcc.dg/vect/vect-outer-1.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-1.c ? ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-outer-1.c ? ? ? ?(working copy)
>> @@ -1,9 +1,9 @@
>> ?/* { dg-do compile } */
>>
>> ?#define N 64
>> -signed short image[N][N] __attribute__ ((__aligned__(16)));
>> -signed short block[N][N] __attribute__ ((__aligned__(16)));
>> -signed short out[N] __attribute__ ((__aligned__(16)));
>> +signed short image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed short block[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed short out[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?/* Can't do outer-loop vectorization because of non-consecutive access. */
>>
>> Index: gcc.dg/vect/vect-widen-mult-u16.c
>> ===================================================================
>> --- gcc.dg/vect/vect-widen-mult-u16.c (revision 5847)
>> +++ gcc.dg/vect/vect-widen-mult-u16.c (working copy)
>> @@ -5,8 +5,8 @@
>>
>> ?#define N 64
>>
>> -unsigned short X[N] __attribute__ ((__aligned__(16)));
>> -unsigned short Y[N] __attribute__ ((__aligned__(16)));
>> +unsigned short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +unsigned short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?unsigned int result[N];
>>
>> ?/* short->int widening-mult */
>> Index: gcc.dg/vect/vect-97.c
>> ===================================================================
>> --- gcc.dg/vect/vect-97.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-97.c ? ? (working copy)
>> @@ -5,8 +5,8 @@
>>
>> ?#define N 16
>>
>> -char x[N] __attribute__ ((__aligned__(16)));
>> -char cb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>> +char x[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +char cb[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>>
>> ?__attribute__ ((noinline))
>> ?int main1 ()
>> Index: gcc.dg/vect/vect-outer-1a.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-1a.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-outer-1a.c ? ? ? (working copy)
>> @@ -1,8 +1,8 @@
>> ?/* { dg-do compile } */
>>
>> ?#define N 64
>> -signed short image[N][N] __attribute__ ((__aligned__(16)));
>> -signed short block[N][N] __attribute__ ((__aligned__(16)));
>> +signed short image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed short block[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?/* Can't do outer-loop vectorization because of non-consecutive access.
>> ? ? Currently fails to vectorize because the reduction pattern is not
>> Index: gcc.dg/vect/vect-multitypes-12.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-12.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-12.c ?(working copy)
>> @@ -5,7 +5,7 @@
>>
>> ?#define N 64
>>
>> -char x[N] __attribute__ ((__aligned__(16)));
>> +char x[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?__attribute__ ((noinline)) int
>> ?foo (int len, int *z) {
>> Index: gcc.dg/vect/vect-reduc-dot-s8c.c
>> ===================================================================
>> --- gcc.dg/vect/vect-reduc-dot-s8c.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-reduc-dot-s8c.c ?(working copy)
>> @@ -7,8 +7,8 @@
>>
>> ?#define DOT3 43680
>>
>> -signed char X[N] __attribute__ ((__aligned__(16)));
>> -signed char Y[N] __attribute__ ((__aligned__(16)));
>> +signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?/* char->int->int dot product.
>> ? ? Not detected as a dot-product pattern. ?*/
>> Index: gcc.dg/vect/vect-56.c
>> ===================================================================
>> --- gcc.dg/vect/vect-56.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-56.c ? ? (working copy)
>> @@ -30,14 +30,14 @@ void bar (float *pa, float *pb, float *p
>> ? ? vect-57.c is similar to this one with two differences:
>> ? ? ? ? ?aliasing is a problem, and the write access has unknown alignment. ?*/
>>
>> -float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> -float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> +float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> +float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ?__attribute__ ((noinline)) int
>> ?main1 ()
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?float *pa = a;
>> ? ?float *pb = b;
>> ? ?float *pc = c;
>> Index: gcc.dg/vect/vect-78-global.c
>> ===================================================================
>> --- gcc.dg/vect/vect-78-global.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-78-global.c ? ? ?(working copy)
>> @@ -11,7 +11,7 @@
>> ? ? more involved than just an ssa_name. ?*/
>>
>> ?int ia[N];
>> -int ib[N+OFF] __attribute__ ((__aligned__(16))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> +int ib[N+OFF] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0, 1, 3, 5, 7, 11, 13, 17, 0, 2, 6, 10, 14, 22, 26, 34};
>> ?int off = 8;
>>
>> ?__attribute__ ((noinline))
>> Index: gcc.dg/vect/vect-outer-2.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-2.c ? ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-outer-2.c ? ? ? ?(working copy)
>> @@ -4,7 +4,7 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 40
>> -float image[N][N] __attribute__ ((__aligned__(16)));
>> +float image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?float out[N];
>>
>> ?/* Outer-loop vectorization. ?*/
>> Index: gcc.dg/vect/no-vfa-vect-43.c
>> ===================================================================
>> --- gcc.dg/vect/no-vfa-vect-43.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/no-vfa-vect-43.c ? ? ?(working copy)
>> @@ -25,8 +25,8 @@ __attribute__ ((noinline)) int
>> ?main1 (float *pa)
>> ?{
>> ? ?int i;
>> - ?float pb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> - ?float pc[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> + ?float pb[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> + ?float pc[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ? ?/* Vectorizable: pa may not alias pb and/or pc, even though their
>> ? ? ? addresses escape. ?&pa would need to escape to point to escaped memory. ?*/
>> @@ -66,7 +66,7 @@ main2 (float * pa)
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-widen-mult-s8.c
>> ===================================================================
>> --- gcc.dg/vect/vect-widen-mult-s8.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-widen-mult-s8.c ?(working copy)
>> @@ -5,8 +5,8 @@
>>
>> ?#define N 64
>>
>> -signed char X[N] __attribute__ ((__aligned__(16)));
>> -signed char Y[N] __attribute__ ((__aligned__(16)));
>> +signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?short result[N];
>>
>> ?/* char->short widening-mult */
>> Index: gcc.dg/vect/vect-multitypes-3.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-3.c ? (revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-3.c ? (working copy)
>> @@ -5,11 +5,11 @@
>>
>> ?#define N 32
>>
>> -int ib[N] __attribute__ ((__aligned__(16))) =
>> +int ib[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ? {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>> -short sb[N] __attribute__ ((__aligned__(16))) =
>> +short sb[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ? {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>> -char cb[N] __attribute__ ((__aligned__(16))) =
>> +char cb[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ? ? {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45};
>>
>> ?__attribute__ ((noinline))
>> Index: gcc.dg/vect/vect-40.c
>> ===================================================================
>> --- gcc.dg/vect/vect-40.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-40.c ? ? (working copy)
>> @@ -30,9 +30,9 @@ __attribute__ ((noinline)) int
>> ?main1 ()
>> ?{
>> ? ?int i;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> - ?float b[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> - ?float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
>> + ?float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> ? ?float *pa = a;
>> ? ?float *pb = b;
>> ? ?float *pc = c;
>> Index: gcc.dg/vect/vect-48.c
>> ===================================================================
>> --- gcc.dg/vect/vect-48.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-48.c ? ? (working copy)
>> @@ -18,7 +18,7 @@
>> ?__attribute__ ((noinline)) int
>> ?main1 (float *pb, float *pc)
>> ?{
>> - ?float pa[N] __attribute__ ((__aligned__(16)));
>> + ?float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?int i;
>>
>> ? ?for (i = 0; i < N; i++)
>> @@ -39,8 +39,8 @@ main1 (float *pb, float *pc)
>> ?int main (void)
>> ?{
>> ? ?int i;
>> - ?float b[N+1] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
>> - ?float c[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>> + ?float b[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60};
>> + ?float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
>>
>> ? ?check_vect ();
>>
>> Index: gcc.dg/vect/vect-reduc-dot-s16a.c
>> ===================================================================
>> --- gcc.dg/vect/vect-reduc-dot-s16a.c (revision 5847)
>> +++ gcc.dg/vect/vect-reduc-dot-s16a.c (working copy)
>> @@ -6,8 +6,8 @@
>> ?#define N 64
>> ?#define DOT 43680
>>
>> -signed short X[N] __attribute__ ((__aligned__(16)));
>> -signed short Y[N] __attribute__ ((__aligned__(16)));
>> +signed short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +signed short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?/* short->int->int dot product.
>> ? ? Detected as a dot-product pattern.
>> Index: gcc.dg/vect/vect-multitypes-13.c
>> ===================================================================
>> --- gcc.dg/vect/vect-multitypes-13.c ?(revision 5847)
>> +++ gcc.dg/vect/vect-multitypes-13.c ?(working copy)
>> @@ -5,9 +5,9 @@
>>
>> ?#define N 64
>>
>> -unsigned char uX[N] __attribute__ ((__aligned__(16)));
>> +unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?unsigned int uresult[N];
>> -signed char X[N] __attribute__ ((__aligned__(16)));
>> +signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?int result[N];
>>
>> ?/* Unsigned type promotion (qi->si) */
>> Index: gcc.dg/vect/vect-74.c
>> ===================================================================
>> --- gcc.dg/vect/vect-74.c ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-74.c ? ? (working copy)
>> @@ -9,9 +9,9 @@
>> ? ? the expression that represents the first location accessed - is
>> ? ? more involved than just an ssa_name. ?*/
>>
>> -float a[N] __attribute__ ((__aligned__(16)));
>> -float b[N+4] __attribute__ ((__aligned__(16))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
>> -float c[N] __attribute__ ((__aligned__(16))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
>> +float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> +float b[N+4] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 7.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0};
>> +float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 7.5, 9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5};
>>
>> ?__attribute__ ((noinline)) int
>> ?main1 (float *__restrict__ ?pa, float * __restrict__ pb, float * __restrict__ pc)
>> Index: gcc.dg/vect/vect-outer-2a.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-2a.c ? ? ? (revision 5847)
>> +++ gcc.dg/vect/vect-outer-2a.c ? ? ? (working copy)
>> @@ -4,7 +4,7 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 40
>> -float image[N][N][N] __attribute__ ((__aligned__(16)));
>> +float image[N][N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ?__attribute__ ((noinline)) void
>> ?foo (){
>> Index: gcc.dg/vect/vect-outer-3.c
>> ===================================================================
>> --- gcc.dg/vect/vect-outer-3.c ? ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-outer-3.c ? ? ? ?(working copy)
>> @@ -3,7 +3,7 @@
>> ?#include "tree-vect.h"
>>
>> ?#define N 40
>> -float image[N][N] __attribute__ ((__aligned__(16)));
>> +float image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?float out[N];
>>
>> ?/* Outer-loop vectoriation. ?*/
>> Index: gcc.dg/vect/vect-complex-4.c
>> ===================================================================
>> --- gcc.dg/vect/vect-complex-4.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/vect-complex-4.c ? ? ?(working copy)
>> @@ -11,7 +11,7 @@ struct foostr {
>> ? ?_Complex short f2;
>> ?};
>>
>> -struct foostr a[16] __attribute__ ((__aligned__(16))) =
>> +struct foostr a[16] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ?{
>> ? ? ?11 + 23i, 24 + 22i,
>> ? ? ?11 + 26i, 24 + 35i,
>> @@ -31,7 +31,7 @@ struct foostr a[16] __attribute__ ((__al
>> ? ? ?35 + 36i, 34 + 28i,
>> ? ?};
>>
>> -struct foostr b[16] __attribute__ ((__aligned__(16))) =
>> +struct foostr b[16] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
>> ? ?{
>> ? ? ?37 + 12i, 23 + 15i,
>> ? ? ?14 + 11i, 13 + 25i,
>> @@ -50,7 +50,7 @@ struct foostr b[16] __attribute__ ((__al
>> ? ? ?25 + 27i, 15 + 30i,
>> ? ? ?10 + 31i, 37 + 37i,
>> ? ?};
>> -struct foostr c[16] __attribute__ ((__aligned__(16)));
>> +struct foostr c[16] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ?struct foostr res[N] =
>> ? ?{
>> ? ? ?48 + 35i, 47 + 37i,
>> Index: gcc.dg/vect/no-vfa-vect-61.c
>> ===================================================================
>> --- gcc.dg/vect/no-vfa-vect-61.c ? ? ?(revision 5847)
>> +++ gcc.dg/vect/no-vfa-vect-61.c ? ? ?(working copy)
>> @@ -44,8 +44,8 @@ __attribute__ ((noinline)) int
>> ?main1 (int n , float *pa)
>> ?{
>> ? ?int i;
>> - ?float b[N] __attribute__ ((__aligned__(16)));
>> - ?float c[N] __attribute__ ((__aligned__(16)));
>> + ?float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> + ?float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>> ? ?float *pb = b;
>> ? ?float *pc = c;
>>
>> @@ -65,7 +65,7 @@ int main (void)
>> ?{
>> ? ?int i;
>> ? ?int n=N;
>> - ?float a[N] __attribute__ ((__aligned__(16)));
>> + ?float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
>>
>> ? ?check_vect ();
>> ? ?main1 (n,a);
>> Index: gcc.dg/vect/slp-widen-mult-s16.c
>> ===================================================================
>> --- gcc.dg/vect/slp-widen-mult-s16.c ?(revision 5847)
>> +++ gcc.dg/vect/slp-widen-mult-s16.c ?(working copy)
>> @@ -5,8 +5,8 @@
>>
>> ?#define N 64
>>
>> -short X[N] __attribute__ ((__aligned__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> -short Y[N] __attribute__ ((__aligned__(16))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>> +short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63};
>> +short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) = {64,63,62,61,60,59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41,40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22,21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
>>
>> ?int result[N];
>>
>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]