Commit 03f1063f by H.J. Lu Committed by H.J. Lu

no-vfa-vect-37.c: Replace __aligned__(16) with __aligned__(__BIGGEST_ALIGNMENT__).

2009-05-08  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.

From-SVN: r147286
parent 788d3075
2009-05-08 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.
2009-05-08 Joseph Myers <joseph@codesourcery.com> 2009-05-08 Joseph Myers <joseph@codesourcery.com>
PR c/24581 PR c/24581
......
...@@ -41,8 +41,8 @@ main1 (int n, float * __restrict__ pd, float * __restrict__ pa, float * __restri ...@@ -41,8 +41,8 @@ main1 (int n, float * __restrict__ pd, float * __restrict__ pa, float * __restri
int main (void) int main (void)
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float d[N+1] __attribute__ ((__aligned__(16))); 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 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}; float c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 16 #define N 16
char x[N] __attribute__ ((__aligned__(16))); char x[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
char cb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; 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)) __attribute__ ((noinline))
int main1 (char *y) int main1 (char *y)
......
...@@ -25,8 +25,8 @@ __attribute__ ((noinline)) int ...@@ -25,8 +25,8 @@ __attribute__ ((noinline)) int
main1 (float *pa) main1 (float *pa)
{ {
int i; 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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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 /* Vectorizable: pa may not alias pb and/or pc, even though their
addresses escape. &pa would need to escape to point to escaped memory. */ addresses escape. &pa would need to escape to point to escaped memory. */
...@@ -66,7 +66,7 @@ main2 (float * pa) ...@@ -66,7 +66,7 @@ main2 (float * pa)
int main (void) int main (void)
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
check_vect (); check_vect ();
......
...@@ -31,7 +31,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -31,7 +31,7 @@ void bar (float *pa, float *pb, float *pc)
__attribute__ ((noinline)) int __attribute__ ((noinline)) int
main1 (float *pb, float *pc) main1 (float *pb, float *pc)
{ {
float pa[N] __attribute__ ((__aligned__(16))); float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
int i; int i;
for (i = 0; i < N; i++) for (i = 0; i < N; i++)
...@@ -47,8 +47,8 @@ main1 (float *pb, float *pc) ...@@ -47,8 +47,8 @@ main1 (float *pb, float *pc)
int main (void) int main (void)
{ {
int i; 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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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 (); check_vect ();
......
...@@ -31,7 +31,7 @@ void bar (const float *pa, const float *pb, const float *pc) ...@@ -31,7 +31,7 @@ void bar (const float *pa, const float *pb, const float *pc)
__attribute__ ((noinline)) int __attribute__ ((noinline)) int
main1 (int n, float *pb, float *pc) main1 (int n, float *pb, float *pc)
{ {
float pa[N] __attribute__ ((__aligned__(16))); float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
int i; int i;
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
...@@ -47,9 +47,9 @@ main1 (int n, float *pb, float *pc) ...@@ -47,9 +47,9 @@ main1 (int n, float *pb, float *pc)
int main (void) int main (void)
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; 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 (); check_vect ();
......
...@@ -43,8 +43,8 @@ __attribute__ ((noinline)) int ...@@ -43,8 +43,8 @@ __attribute__ ((noinline)) int
main1 (float *pa) main1 (float *pa)
{ {
int i; int i;
float b[N] __attribute__ ((__aligned__(16))); float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float c[N] __attribute__ ((__aligned__(16))); float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float *pb = b; float *pb = b;
float *pc = c; float *pc = c;
...@@ -63,7 +63,7 @@ main1 (float *pa) ...@@ -63,7 +63,7 @@ main1 (float *pa)
int main (void) int main (void)
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
check_vect (); check_vect ();
main1 (a); main1 (a);
......
...@@ -44,8 +44,8 @@ __attribute__ ((noinline)) int ...@@ -44,8 +44,8 @@ __attribute__ ((noinline)) int
main1 (int n , float *pa) main1 (int n , float *pa)
{ {
int i; int i;
float b[N] __attribute__ ((__aligned__(16))); float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float c[N] __attribute__ ((__aligned__(16))); float c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float *pb = b; float *pb = b;
float *pc = c; float *pc = c;
...@@ -65,7 +65,7 @@ int main (void) ...@@ -65,7 +65,7 @@ int main (void)
{ {
int i; int i;
int n=N; int n=N;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
check_vect (); check_vect ();
main1 (n,a); main1 (n,a);
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#define N 16 #define N 16
float fa[N] __attribute__ ((__aligned__(16))); float fa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
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 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__(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 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, /* Like vect-80.c but the pointers are not annotated as restricted,
and therefore can't be antialiased. */ and therefore can't be antialiased. */
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include <stdarg.h> #include <stdarg.h>
#include "tree-vect.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 VecBug(short Kernel[8][24]) __attribute__((noinline));
static void VecBug2(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]) ...@@ -21,7 +21,7 @@ static void VecBug(short Kernel[8][24])
static void VecBug2(short Kernel[8][24]) static void VecBug2(short Kernel[8][24])
{ {
int k,i; int k,i;
short Kernshort2[24] __attribute__ ((__aligned__(16))); short Kernshort2[24] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
for (k = 0; k<8; k++) for (k = 0; k<8; k++)
for (i = 0; i<24; i++) for (i = 0; i<24; i++)
Kernshort2[i] = Kernel[k][i]; Kernshort2[i] = Kernel[k][i];
...@@ -36,7 +36,7 @@ int main (int argc, char **argv) ...@@ -36,7 +36,7 @@ int main (int argc, char **argv)
{ {
check_vect (); check_vect ();
short Kernel[8][24] __attribute__ ((__aligned__(16))); short Kernel[8][24] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
int k,i; int k,i;
for (k = 0; k<8; k++) for (k = 0; k<8; k++)
......
...@@ -6,7 +6,7 @@ int ...@@ -6,7 +6,7 @@ int
main (void) main (void)
{ {
int i; int i;
long x[12] __attribute__((aligned(16))); long x[12] __attribute__((aligned(__BIGGEST_ALIGNMENT__)));
x[0] = 1; x[0] = 1;
for (i = 0; i < 12; i++) for (i = 0; i < 12; i++)
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
typedef int int_t; typedef int int_t;
typedef void (*fun_t) (int); 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); void foo (int_t a);
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
#define N 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 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__(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 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 int
main1 () main1 ()
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define N 64 #define N 64
short X[N] __attribute__ ((__aligned__(16))); short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
short Y[N] __attribute__ ((__aligned__(16))); short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
int result[N]; int result[N];
/* short->int widening-mult */ /* short->int widening-mult */
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define N 64 #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 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__(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 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]; int result[N];
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define N 64 #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 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__(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 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]; unsigned short result[N];
......
...@@ -9,8 +9,8 @@ __attribute__ ((noinline)) ...@@ -9,8 +9,8 @@ __attribute__ ((noinline))
int main1 () int main1 ()
{ {
union { union {
unsigned char a[N] __attribute__ ((__aligned__(16))); unsigned char a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned char b[N] __attribute__ ((__aligned__(16))); unsigned char b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
} s; } s;
int i; int i;
......
...@@ -30,9 +30,9 @@ __attribute__ ((noinline)) int ...@@ -30,9 +30,9 @@ __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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 *pa = a;
float *pb = b; float *pb = b;
float *pc = c; float *pc = c;
......
...@@ -30,8 +30,8 @@ __attribute__ ((noinline)) int ...@@ -30,8 +30,8 @@ __attribute__ ((noinline)) int
main1 (float * __restrict__ pa) main1 (float * __restrict__ pa)
{ {
int i; 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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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++) for (i = 0; i < N; i++)
{ {
...@@ -44,9 +44,9 @@ main1 (float * __restrict__ pa) ...@@ -44,9 +44,9 @@ main1 (float * __restrict__ pa)
int main (void) int main (void)
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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 (); check_vect ();
......
...@@ -46,9 +46,9 @@ main1 (float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc ...@@ -46,9 +46,9 @@ main1 (float * __restrict__ pa, float * __restrict__ pb, float * __restrict__ pc
int main (void) int main (void)
{ {
int i; int i;
float a[N+4] __attribute__ ((__aligned__(16))); float a[N+4] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
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 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__(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 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 (); check_vect ();
......
...@@ -30,7 +30,7 @@ __attribute__ ((noinline)) int ...@@ -30,7 +30,7 @@ __attribute__ ((noinline)) int
main1 (int n) main1 (int n)
{ {
int i; 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 *pa = a;
float *pb = b; float *pb = b;
float *pc = c; float *pc = c;
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
__attribute__ ((noinline)) int __attribute__ ((noinline)) int
main1 (float *pb, float *pc) main1 (float *pb, float *pc)
{ {
float pa[N] __attribute__ ((__aligned__(16))); float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
int i; int i;
for (i = 0; i < N; i++) for (i = 0; i < N; i++)
...@@ -39,8 +39,8 @@ main1 (float *pb, float *pc) ...@@ -39,8 +39,8 @@ main1 (float *pb, float *pc)
int main (void) int main (void)
{ {
int i; 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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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 (); check_vect ();
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
__attribute__ ((noinline)) int __attribute__ ((noinline)) int
main1 (int n, float *pb, float *pc) main1 (int n, float *pb, float *pc)
{ {
float pa[N] __attribute__ ((__aligned__(16))); float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
int i; int i;
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
...@@ -39,9 +39,9 @@ main1 (int n, float *pb, float *pc) ...@@ -39,9 +39,9 @@ main1 (int n, float *pb, float *pc)
int main (void) int main (void)
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20}; 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 (); check_vect ();
......
...@@ -26,14 +26,14 @@ void bar (float *pa, float *pb, float *pc) ...@@ -26,14 +26,14 @@ void bar (float *pa, float *pb, float *pc)
vect-58.c is similar to this one with one difference: vect-58.c is similar to this one with one difference:
the loop bound is unknown. */ 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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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 __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float *pa = a; float *pa = a;
float *pb = b; float *pb = b;
float *pc = c; float *pc = c;
......
...@@ -30,14 +30,14 @@ void bar (float *pa, float *pb, float *pc) ...@@ -30,14 +30,14 @@ void bar (float *pa, float *pb, float *pc)
vect-57.c is similar to this one with two differences: vect-57.c is similar to this one with two differences:
aliasing is a problem, and the write access has unknown alignment. */ 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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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 __attribute__ ((noinline)) int
main1 () main1 ()
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float *pa = a; float *pa = a;
float *pb = b; float *pb = b;
float *pc = c; float *pc = c;
......
...@@ -26,7 +26,7 @@ void bar (float *pa, float *pb, float *pc) ...@@ -26,7 +26,7 @@ void bar (float *pa, float *pb, float *pc)
vect-54.c is similar to this one with one difference: vect-54.c is similar to this one with one difference:
the loop bound is known. */ 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 __attribute__ ((noinline)) int
main1 (int n) main1 (int n)
......
...@@ -30,14 +30,14 @@ void bar (float *pa, float *pb, float *pc) ...@@ -30,14 +30,14 @@ void bar (float *pa, float *pb, float *pc)
vect-61.c is similar to this one with two differences: vect-61.c is similar to this one with two differences:
aliasing is not a problem, and the write access has unknown alignment. */ 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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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 __attribute__ ((noinline)) int
main1 (int n) main1 (int n)
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float *pa = a; float *pa = a;
float *pb = b; float *pb = b;
float *pc = c; float *pc = c;
......
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
more involved than just an ssa_name. */ more involved than just an ssa_name. */
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
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 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__(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 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 __attribute__ ((noinline)) int
main1 (float *__restrict__ pa, float * __restrict__ pb, float * __restrict__ pc) main1 (float *__restrict__ pa, float * __restrict__ pb, float * __restrict__ pc)
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
more involved than just an ssa_name. */ 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)) __attribute__ ((noinline))
int main1 (int *ib) int main1 (int *ib)
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
more involved than just an ssa_name. */ 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)) __attribute__ ((noinline))
int main1 (int *pib) int main1 (int *pib)
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
more involved than just an ssa_name. */ 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)) __attribute__ ((noinline))
int main1 (int *ib, int off) int main1 (int *ib, int off)
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
more involved than just an ssa_name. */ 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]; int ia[N];
__attribute__ ((noinline)) __attribute__ ((noinline))
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
more involved than just an ssa_name. */ 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)) __attribute__ ((noinline))
int main1 (int *ib, int off) int main1 (int *ib, int off)
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
more involved than just an ssa_name. */ 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; int off = 8;
__attribute__ ((noinline)) __attribute__ ((noinline))
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
more involved than just an ssa_name. */ more involved than just an ssa_name. */
int ia[N]; 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; int off = 8;
__attribute__ ((noinline)) __attribute__ ((noinline))
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
more involved than just an ssa_name. */ 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; int off = 8;
__attribute__ ((noinline)) __attribute__ ((noinline))
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#define N 16 #define N 16
float fa[N] __attribute__ ((__aligned__(16))); float fa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
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 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__(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 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" - /* Check handling of accesses for which the "initial condition" -
the expression that represents the first location accessed - is the expression that represents the first location accessed - is
......
...@@ -35,7 +35,7 @@ int main1 (int *a) ...@@ -35,7 +35,7 @@ int main1 (int *a)
int main (void) int main (void)
{ {
int a[N] __attribute__ ((__aligned__(16))); int a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
check_vect (); check_vect ();
......
...@@ -35,7 +35,7 @@ int main1 (int n, int *a) ...@@ -35,7 +35,7 @@ int main1 (int n, int *a)
int main (void) int main (void)
{ {
int a[N] __attribute__ ((__aligned__(16))); int a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
check_vect (); check_vect ();
......
...@@ -35,7 +35,7 @@ int main1 (int n, int *a) ...@@ -35,7 +35,7 @@ int main1 (int n, int *a)
int main (void) int main (void)
{ {
int a[N+1] __attribute__ ((__aligned__(16))); int a[N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
check_vect (); check_vect ();
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#define N 256 #define N 256
float pa[N] __attribute__ ((__aligned__(16))); float pa[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
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 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__(16))) = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; 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 /* Check handling of unaligned accesses when the misalignment is
known at compile time and different accesses have the same known at compile time and different accesses have the same
......
...@@ -41,8 +41,8 @@ main1 (float *pa) ...@@ -41,8 +41,8 @@ main1 (float *pa)
int main (void) int main (void)
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float b[N] __attribute__ ((__aligned__(16))); float b[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
check_vect (); check_vect ();
......
...@@ -42,8 +42,8 @@ main1 (int n, float * __restrict__ pd, float * __restrict__ pa, float * __restri ...@@ -42,8 +42,8 @@ main1 (int n, float * __restrict__ pd, float * __restrict__ pa, float * __restri
int main (void) int main (void)
{ {
int i; int i;
float a[N] __attribute__ ((__aligned__(16))); float a[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float d[N+1] __attribute__ ((__aligned__(16))); 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 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}; float c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define N 16 #define N 16
char x[N] __attribute__ ((__aligned__(16))); char x[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
char cb[N] __attribute__ ((__aligned__(16))) = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45}; 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)) __attribute__ ((noinline))
int main1 () int main1 ()
......
...@@ -6,19 +6,19 @@ ...@@ -6,19 +6,19 @@
#define N 16 #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, { 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, 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, 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 }; 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, { 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, 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, 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 }; 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 c[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
_Complex float res[N] __attribute__ ((__aligned__(16))) = _Complex float res[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
{ 40.0F + 60.0iF, 42.0F + 62.0iF, 44.0F + 64.0iF, 46.0F + 66.0iF, { 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, 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, 56.0F + 76.0iF, 58.0F + 78.0iF, 60.0F + 80.0iF, 62.0F + 82.0iF,
......
...@@ -11,7 +11,7 @@ struct foostr { ...@@ -11,7 +11,7 @@ struct foostr {
_Complex short f2; _Complex short f2;
}; };
struct foostr a[16] __attribute__ ((__aligned__(16))) = struct foostr a[16] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
{ {
11 + 23i, 24 + 22i, 11 + 23i, 24 + 22i,
11 + 26i, 24 + 35i, 11 + 26i, 24 + 35i,
...@@ -31,7 +31,7 @@ struct foostr a[16] __attribute__ ((__aligned__(16))) = ...@@ -31,7 +31,7 @@ struct foostr a[16] __attribute__ ((__aligned__(16))) =
35 + 36i, 34 + 28i, 35 + 36i, 34 + 28i,
}; };
struct foostr b[16] __attribute__ ((__aligned__(16))) = struct foostr b[16] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) =
{ {
37 + 12i, 23 + 15i, 37 + 12i, 23 + 15i,
14 + 11i, 13 + 25i, 14 + 11i, 13 + 25i,
...@@ -50,7 +50,7 @@ struct foostr b[16] __attribute__ ((__aligned__(16))) = ...@@ -50,7 +50,7 @@ struct foostr b[16] __attribute__ ((__aligned__(16))) =
25 + 27i, 15 + 30i, 25 + 27i, 15 + 30i,
10 + 31i, 37 + 37i, 10 + 31i, 37 + 37i,
}; };
struct foostr c[16] __attribute__ ((__aligned__(16))); struct foostr c[16] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
struct foostr res[N] = struct foostr res[N] =
{ {
48 + 35i, 47 + 37i, 48 + 35i, 47 + 37i,
......
...@@ -11,11 +11,11 @@ struct foostr { ...@@ -11,11 +11,11 @@ struct foostr {
_Complex short f2; _Complex short f2;
}; };
_Complex short a1[64] __attribute__ ((__aligned__(16))); _Complex short a1[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
_Complex short a2[64] __attribute__ ((__aligned__(16))); _Complex short a2[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
_Complex short b1[64] __attribute__ ((__aligned__(16))); _Complex short b1[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
_Complex short b2[64] __attribute__ ((__aligned__(16))); _Complex short b2[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
struct foostr c[64] __attribute__ ((__aligned__(16))); struct foostr c[64] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
__attribute__ ((noinline)) void __attribute__ ((noinline)) void
foo (void) foo (void)
......
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
#define N 64 #define N 64
unsigned char uX[N] __attribute__ ((__aligned__(16))); unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned short uY[N] __attribute__ ((__aligned__(16))); unsigned short uY[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned int uresult[N]; unsigned int uresult[N];
signed char X[N] __attribute__ ((__aligned__(16))); signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed short Y[N] __attribute__ ((__aligned__(16))); signed short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
int result[N]; int result[N];
/* Unsigned type promotion (hi->si) */ /* Unsigned type promotion (hi->si) */
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
short x[N] __attribute__ ((__aligned__(16))); short x[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
__attribute__ ((noinline)) int __attribute__ ((noinline)) int
foo (int len, int *z) { foo (int len, int *z) {
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #define N 64
char x[N] __attribute__ ((__aligned__(16))); char x[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
__attribute__ ((noinline)) int __attribute__ ((noinline)) int
foo (int len, int *z) { foo (int len, int *z) {
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#define N 64 #define N 64
unsigned char uX[N] __attribute__ ((__aligned__(16))); unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned int uresult[N]; unsigned int uresult[N];
signed char X[N] __attribute__ ((__aligned__(16))); signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
int result[N]; int result[N];
/* Unsigned type promotion (qi->si) */ /* Unsigned type promotion (qi->si) */
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#define N 64 #define N 64
unsigned char uX[N] __attribute__ ((__aligned__(16))); unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned char uresultX[N]; unsigned char uresultX[N];
unsigned int uY[N] __attribute__ ((__aligned__(16))); unsigned int uY[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned char uresultY[N]; unsigned char uresultY[N];
/* Unsigned type demotion (si->qi) */ /* Unsigned type demotion (si->qi) */
......
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
#define DOT1 43680 #define DOT1 43680
#define DOT2 -20832 #define DOT2 -20832
signed char X[N] __attribute__ ((__aligned__(16))); signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed char Y[N] __attribute__ ((__aligned__(16))); signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned char CX[N] __attribute__ ((__aligned__(16))); unsigned char CX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
__attribute__ ((noinline)) void __attribute__ ((noinline)) void
foo1(int len) { foo1(int len) {
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#define N 64 #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 __attribute__ ((noinline)) int
foo (int len, long long *z) { foo (int len, long long *z) {
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#define N 64 #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 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 char uresultY[N];
/* Unsigned type demotion (si->qi) */ /* Unsigned type demotion (si->qi) */
......
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
#define N 32 #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}; {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}; {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}; {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)) __attribute__ ((noinline))
......
...@@ -5,17 +5,17 @@ ...@@ -5,17 +5,17 @@
#define N 32 #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}; {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}; {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}; {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}; {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}; {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}; {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)) __attribute__ ((noinline))
......
...@@ -9,9 +9,9 @@ ...@@ -9,9 +9,9 @@
#define DOT1 43680 #define DOT1 43680
#define DOT2 -20832 #define DOT2 -20832
signed short X[N] __attribute__ ((__aligned__(16))); signed short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed short Y[N] __attribute__ ((__aligned__(16))); signed short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned char CX[N] __attribute__ ((__aligned__(16))); unsigned char CX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
__attribute__ ((noinline)) void __attribute__ ((noinline)) void
foo1(int len) { foo1(int len) {
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#define N 64 #define N 64
unsigned char uX[N] __attribute__ ((__aligned__(16))); unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned char uresultX[N]; unsigned char uresultX[N];
unsigned int uY[N] __attribute__ ((__aligned__(16))); unsigned int uY[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned short uresultY[N]; unsigned short uresultY[N];
/* Unsigned type demotion (si->hi) */ /* Unsigned type demotion (si->hi) */
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
#define N 64 #define N 64
unsigned char uX[N] __attribute__ ((__aligned__(16))); unsigned char uX[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned short uresult[N]; unsigned short uresult[N];
signed char X[N] __attribute__ ((__aligned__(16))); signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
short result[N]; short result[N];
/* Unsigned type promotion (qi->hi) */ /* Unsigned type promotion (qi->hi) */
......
/* { dg-do compile } */ /* { dg-do compile } */
#define N 64 #define N 64
signed short image[N][N] __attribute__ ((__aligned__(16))); signed short image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed short block[N][N] __attribute__ ((__aligned__(16))); signed short block[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed short out[N] __attribute__ ((__aligned__(16))); signed short out[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* Can't do outer-loop vectorization because of non-consecutive access. */ /* Can't do outer-loop vectorization because of non-consecutive access. */
......
/* { dg-do compile } */ /* { dg-do compile } */
#define N 64 #define N 64
signed short image[N][N] __attribute__ ((__aligned__(16))); signed short image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed short block[N][N] __attribute__ ((__aligned__(16))); signed short block[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* Can't do outer-loop vectorization because of non-consecutive access. /* Can't do outer-loop vectorization because of non-consecutive access.
Currently fails to vectorize because the reduction pattern is not Currently fails to vectorize because the reduction pattern is not
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 40 #define N 40
float image[N][N] __attribute__ ((__aligned__(16))); float image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float out[N]; float out[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 40 #define N 40
float image[N][N][N] __attribute__ ((__aligned__(16))); float image[N][N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
__attribute__ ((noinline)) void __attribute__ ((noinline)) void
foo (){ foo (){
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 40 #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 __attribute__ ((noinline)) void
foo (){ foo (){
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 40 #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 __attribute__ ((noinline)) void
foo (){ foo (){
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 40 #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 __attribute__ ((noinline)) void
foo (){ foo (){
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 40 #define N 40
float image[N][N] __attribute__ ((__aligned__(16))); float image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float out[N]; float out[N];
/* Outer-loop vectoriation. */ /* Outer-loop vectoriation. */
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 40 #define N 40
float image[N][N+1] __attribute__ ((__aligned__(16))); float image[N][N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float out[N]; float out[N];
/* Outer-loop vectorization with misaliged accesses in the inner-loop. */ /* Outer-loop vectorization with misaliged accesses in the inner-loop. */
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 40 #define N 40
float image[N][N] __attribute__ ((__aligned__(16))); float image[N][N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float out[N]; float out[N];
/* Outer-loop vectorization with non-consecutive access. Not vectorized yet. */ /* Outer-loop vectorization with non-consecutive access. Not vectorized yet. */
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include "tree-vect.h" #include "tree-vect.h"
#define N 40 #define N 40
float image[N][N+1] __attribute__ ((__aligned__(16))); float image[N][N+1] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float out[N]; float out[N];
/* Outer-loop vectorization. */ /* Outer-loop vectorization. */
......
...@@ -13,10 +13,10 @@ extern void abort(void); ...@@ -13,10 +13,10 @@ extern void abort(void);
__attribute__ ((noinline)) __attribute__ ((noinline))
int main1 () int main1 ()
{ {
float A[N] __attribute__ ((__aligned__(16))); float A[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float B[N] __attribute__ ((__aligned__(16))); float B[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float C[N] __attribute__ ((__aligned__(16))); float C[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float D[N] __attribute__ ((__aligned__(16))); float D[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float E[4] = {0,1,2,480}; float E[4] = {0,1,2,480};
float s; float s;
......
...@@ -7,10 +7,10 @@ ...@@ -7,10 +7,10 @@
#define N 64 #define N 64
#define MAX 42 #define MAX 42
float A[N] __attribute__ ((__aligned__(16))); float A[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float B[N] __attribute__ ((__aligned__(16))); float B[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float C[N] __attribute__ ((__aligned__(16))); float C[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
float D[N] __attribute__ ((__aligned__(16))); float D[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
extern void abort(void); extern void abort(void);
__attribute__ ((noinline)) __attribute__ ((noinline))
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
#define N 64 #define N 64
#define DOT 43680 #define DOT 43680
signed short X[N] __attribute__ ((__aligned__(16))); signed short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed short Y[N] __attribute__ ((__aligned__(16))); signed short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* short->int->int dot product. /* short->int->int dot product.
Detected as a dot-product pattern. Detected as a dot-product pattern.
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define DOT 43680 #define DOT 43680
signed short X[N] __attribute__ ((__aligned__(16))); signed short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed short Y[N] __attribute__ ((__aligned__(16))); signed short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* short->short->int dot product. Should be vectorized on architectures /* short->short->int dot product. Should be vectorized on architectures
supporting vectorized multiplication of two short args with short result, supporting vectorized multiplication of two short args with short result,
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define DOT1 43680 #define DOT1 43680
signed char X[N] __attribute__ ((__aligned__(16))); signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed char Y[N] __attribute__ ((__aligned__(16))); signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* char->short->int dot product. /* char->short->int dot product.
The dot-product pattern should be detected. The dot-product pattern should be detected.
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define DOT2 -21856 #define DOT2 -21856
signed char X[N] __attribute__ ((__aligned__(16))); signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed char Y[N] __attribute__ ((__aligned__(16))); signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* char->short->short dot product. /* char->short->short dot product.
The dot-product pattern should be detected. The dot-product pattern should be detected.
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define DOT3 43680 #define DOT3 43680
signed char X[N] __attribute__ ((__aligned__(16))); signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed char Y[N] __attribute__ ((__aligned__(16))); signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* char->int->int dot product. /* char->int->int dot product.
Not detected as a dot-product pattern. */ Not detected as a dot-product pattern. */
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
#define DOT1 43680 #define DOT1 43680
#define DOT2 43680 #define DOT2 43680
unsigned short X[N] __attribute__ ((__aligned__(16))); unsigned short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned short Y[N] __attribute__ ((__aligned__(16))); unsigned short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* short->short->int dot product. /* short->short->int dot product.
Not detected as a dot-product pattern. Not detected as a dot-product pattern.
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define DOT2 43680 #define DOT2 43680
unsigned short X[N] __attribute__ ((__aligned__(16))); unsigned short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned short Y[N] __attribute__ ((__aligned__(16))); unsigned short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
/* short->int->int dot product. /* short->int->int dot product.
Currently not detected as a dot-product pattern: the multiplication Currently not detected as a dot-product pattern: the multiplication
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define DOT 43680 #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 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__(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 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. /* char->short->int dot product.
Detected as a dot-product pattern. Detected as a dot-product pattern.
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define DOT 43680 #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 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__(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 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. /* char->short->short dot product.
Detected as a dot-product pattern. Detected as a dot-product pattern.
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define N 64 #define N 64
short X[N] __attribute__ ((__aligned__(16))); short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
short Y[N] __attribute__ ((__aligned__(16))); short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
int result[N]; int result[N];
/* short->int widening-mult */ /* short->int widening-mult */
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define N 64 #define N 64
signed char X[N] __attribute__ ((__aligned__(16))); signed char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
signed char Y[N] __attribute__ ((__aligned__(16))); signed char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
short result[N]; short result[N];
/* char->short widening-mult */ /* char->short widening-mult */
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define N 64 #define N 64
unsigned short X[N] __attribute__ ((__aligned__(16))); unsigned short X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned short Y[N] __attribute__ ((__aligned__(16))); unsigned short Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned int result[N]; unsigned int result[N];
/* short->int widening-mult */ /* short->int widening-mult */
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
#define N 64 #define N 64
unsigned char X[N] __attribute__ ((__aligned__(16))); unsigned char X[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned char Y[N] __attribute__ ((__aligned__(16))); unsigned char Y[N] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)));
unsigned short result[N]; unsigned short result[N];
/* char->short widening-mult */ /* char->short widening-mult */
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
#define DOT -21856 #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 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__(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 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. /* char->short->short dot product.
The dot-product pattern should be detected. The dot-product pattern should be detected.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment