What do people think about this idea for changing the vect tests using
gcc.dg/vect/vect-56.c as an example.  The arguments (pa, pb, pc) would
remain afloat type (vs. float) but the arrays would be changed from
'array of aligned floats' to an array of floats where the actual array
itself is aligned.

It seems like we are lying about the alignment of the pa, pb, pc
arguments but I don't see a way around this.  If we changed GCC to pad
the array elements (in order to obey the alignment request) wouldn't we
actually break our ability to vectorize things?

Steve Ellcey
[EMAIL PROTECTED]

*** vect-56.c.orig      Wed Mar 16 11:38:49 2005
--- vect-56.c   Wed Mar 16 11:39:46 2005
*************** main1 (afloat * __restrict__ pa, afloat 
*** 40,48 ****
  int main (void)
  {
    int i;
!   afloat a[N];
!   afloat b[N] = {0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57};
!   afloat c[N] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19};
  
    check_vect ();
  
--- 40,50 ----
  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};
  
    check_vect ();
  

Reply via email to