public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/28862]  New: attribute ((aligned)) ignored on vector variables
@ 2006-08-26 22:22 uweigand at gcc dot gnu dot org
  2006-08-26 22:29 ` [Bug middle-end/28862] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: uweigand at gcc dot gnu dot org @ 2006-08-26 22:22 UTC (permalink / raw)
  To: gcc-bugs

The following test case

__attribute__ ((vector_size (16))) unsigned int foo[128/16]
__attribute__((aligned (128)));

[ and analagously

vector unsigned int foo[128/16] __attribute__((aligned (128)));

on ppc (where "vector" is defined to __attribute__((altivec(vector__)))
or spu (where "vector" is defined to __attribute__((spu_vector))) ]

compiles to

        .comm   foo,128,16

Note that the user-specified alignment is ignored, and the default
alignment of 16 for this vector type is used instead.

The reason appears to be a problem in decl_attributes (attribs.c).
For this declaration, first the "aligned" attribute is processed,
and sets DECL_ALIGN to 128 bytes, as well as the DECL_USER_ALIGN
flag.  However, subsequently the "vector_size" attribute is
processed, and this this is marked as "type_required", the following
piece of code in decl_attributes:

      /* Layout the decl in case anything changed.  */
      if (spec->type_required && DECL_P (*node)
          && (TREE_CODE (*node) == VAR_DECL
              || TREE_CODE (*node) == PARM_DECL
              || TREE_CODE (*node) == RESULT_DECL))
        relayout_decl (*node);

thinks it needs to recompute the decl properties.  In particular,

void
relayout_decl (tree decl)
{
  DECL_SIZE (decl) = DECL_SIZE_UNIT (decl) = 0;
  DECL_MODE (decl) = VOIDmode;
  DECL_ALIGN (decl) = 0;
  SET_DECL_RTL (decl, 0);

  layout_decl (decl, 0);
}

relayout_decl resets DECL_ALIGN without consideration of the
DECL_USER_ALIGN flag, and layout_decl then fills back in the
default alignment for the vector type.

The problem does not occur in 3.4, since decl_attributes there
works like this:

      /* Layout the decl in case anything changed.  */
      if (spec->type_required && DECL_P (*node)
          && (TREE_CODE (*node) == VAR_DECL
              || TREE_CODE (*node) == PARM_DECL
              || TREE_CODE (*node) == RESULT_DECL))
        {
          /* Force a recalculation of mode and size.  */
          DECL_MODE (*node) = VOIDmode;
          DECL_SIZE (*node) = 0;
          if (!DECL_USER_ALIGN (*node))
            DECL_ALIGN (*node) = 0;

          layout_decl (*node, 0);
        }

and specifically keeps user-requested alignments.


Now, I'm not quite sure what the correct fix for 4.0 and mainline is.
Should be not call relayout_decl (as in 3.4)?  Or should we add the
DECL_USER_ALIGN check to relayout_decl (what about other callers of
this function)?

Richard, it appears you added both the DECL_USER_ALIGN check in
3.4, and the relayout_decl call in 4.0, see PR 18282.  Any opinion?


-- 
           Summary: attribute ((aligned)) ignored on vector variables
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: uweigand at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
@ 2006-08-26 22:29 ` pinskia at gcc dot gnu dot org
  2006-09-01  7:10 ` thomas at reactsoft dot com
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-26 22:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from pinskia at gcc dot gnu dot org  2006-08-26 22:29 -------
Confirmed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
          Component|c                           |middle-end
     Ever Confirmed|0                           |1
           Keywords|                            |wrong-code
      Known to fail|                            |4.0.0 4.1.0 4.2.0
      Known to work|                            |3.4.0
   Last reconfirmed|0000-00-00 00:00:00         |2006-08-26 22:29:23
               date|                            |
            Summary|attribute ((aligned))       |[4.0/4.1/4.2 Regression]
                   |ignored on vector variables |attribute ((aligned))
                   |                            |ignored on vector variables
   Target Milestone|---                         |4.0.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
  2006-08-26 22:29 ` [Bug middle-end/28862] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
@ 2006-09-01  7:10 ` thomas at reactsoft dot com
  2006-09-01  8:05 ` thomas at reactsoft dot com
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: thomas at reactsoft dot com @ 2006-09-01  7:10 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from thomas at reactsoft dot com  2006-09-01 07:10 -------
We also have severe problems with GCC4.1.1 which generates wrong machine code
on i386 when there's a (volatile) structure with __attribute__((aligned (16)))
on the stack. If the code is not very complex, the alignment works flawlessly.
But as soon as the code becomes complex, GCC screwes the alignment (and even
accesses variables that don't exist (I'll go into detail later).

Basically code like this is affected (this is *NOT* a test case, I'm going to
post a test case as soon as I get it to work):

typedef struct _somestruct {
    int a;
};

static void checkstruct (volatile struct _somestruct *palignedvar)
{
    if ((size_t)palignedvar & 0xF)
        printf("structure misaligned!\n");
}

void somefunc(int a, int b, int c) {
    __attribute__((aligned (16))) volatile struct _somestruct alignedvar;

    while (1)
    /* [other code] */
    if (a) {
        if (c) {
            /* [other code] */
            alignedvar.a = c;
            checkstruct(&alignedvar);
        } else {
            /* [other code] */
            break;
        }
    } else {
        if (b) {
            /* [other code] */
            alignedvar.a = a;
            checkstruct(&alignedvar);
        } else {
            if (c) {
                break;
            } else {
                /* [other code] */
                alignedvar.a = a;
                checkstruct(&alignedvar);
            }
        }
        /* [other code] */
    }
}

I analyzed the generated assembly code. GCC reserves an area big enough to hold
the structure plus padding, so it can align the structure dynamically at
runtime. It stores a pointer to the reserved area and a pointer to the
structure within the area. As long as the code is simple, GCC uses the pointer
to the structure to access the data. However, if the code is complex enough,
GCC mistakenly uses the pointer to the reserved area - which of course is
sometimes not properly aligned. As a result, also the data of the structure
members are read/write incorrectly.

the stack is organized like this (the order may not match as showed in this
abstracted example):

struct {
    void *reserved_area;     /* this is the pointer GCC sometimes accidently
grabs */
    void *aligned_structure; /* this is the pointer GCC should always grab */

    char reserved[sizeof(structure) + sizeof(padding)];
};

I encountered this bug with -O3, I don't know if GCC also generates broken code
without optimizations. I tried to create a simple test case that triggers the
problem, but I failed last night. I'm going to do that this weekend. In the
meanwhile, you can find some real-world code that fails due to this bug:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/srw.c?revision=23806&view=markup
(see the ASSERT_SRW_WAITBLOCK macro).


-- 

thomas at reactsoft dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |thomas at reactsoft dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
  2006-08-26 22:29 ` [Bug middle-end/28862] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
  2006-09-01  7:10 ` thomas at reactsoft dot com
@ 2006-09-01  8:05 ` thomas at reactsoft dot com
  2006-09-01 22:06 ` mmitchel at gcc dot gnu dot org
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: thomas at reactsoft dot com @ 2006-09-01  8:05 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from thomas at reactsoft dot com  2006-09-01 08:05 -------
(In reply to comment #2)
>     while (1)

Please ignore that line... I forgot to delete it


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-09-01  8:05 ` thomas at reactsoft dot com
@ 2006-09-01 22:06 ` mmitchel at gcc dot gnu dot org
  2006-09-05  4:52 ` pinskia at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-09-01 22:06 UTC (permalink / raw)
  To: gcc-bugs



-- 

mmitchel at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2006-09-01 22:06 ` mmitchel at gcc dot gnu dot org
@ 2006-09-05  4:52 ` pinskia at gcc dot gnu dot org
  2006-09-05  7:11 ` thomas at reactsoft dot com
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-09-05  4:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pinskia at gcc dot gnu dot org  2006-09-05 04:52 -------
Actually it looks like an oversight of what relayout_decl does.  The reason is
that relayout_decl was added by the patch to fix "PR c++/16115" and I think
Jason forgot about user specified alignment because he was only dealing with
PARM_DECLs at the time.

Anyways I am going to test the obvious fix unless you (Ulrich) want to do it.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2006-09-05  4:52 ` pinskia at gcc dot gnu dot org
@ 2006-09-05  7:11 ` thomas at reactsoft dot com
  2006-09-05 12:41 ` uweigand at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: thomas at reactsoft dot com @ 2006-09-05  7:11 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from thomas at reactsoft dot com  2006-09-05 07:10 -------
(In reply to comment #4)
> Actually it looks like an oversight of what relayout_decl does.  The reason is
> that relayout_decl was added by the patch to fix "PR c++/16115" and I think
> Jason forgot about user specified alignment because he was only dealing with
> PARM_DECLs at the time.

Is this also supposed to fix the problem I posted in comment #2? I applied that
patch to my gcc but it didn't fix the generated code for me. It's just weird
because the bug only appears if the code is complex enough. If it's just a
rather simple function, the generated code is correct.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2006-09-05  7:11 ` thomas at reactsoft dot com
@ 2006-09-05 12:41 ` uweigand at gcc dot gnu dot org
  2006-09-05 12:47 ` uweigand at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: uweigand at gcc dot gnu dot org @ 2006-09-05 12:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from uweigand at gcc dot gnu dot org  2006-09-05 12:41 -------
(In reply to comment #4)
> Anyways I am going to test the obvious fix unless you (Ulrich) want to do it.

Please go ahead, thanks!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2006-09-05 12:41 ` uweigand at gcc dot gnu dot org
@ 2006-09-05 12:47 ` uweigand at gcc dot gnu dot org
  2006-09-06  6:36 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: uweigand at gcc dot gnu dot org @ 2006-09-05 12:47 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from uweigand at gcc dot gnu dot org  2006-09-05 12:47 -------
(In reply to comment #5)
> Is this also supposed to fix the problem I posted in comment #2? I applied that
> patch to my gcc but it didn't fix the generated code for me. It's just weird
> because the bug only appears if the code is complex enough. If it's just a
> rather simple function, the generated code is correct.

No, your problem is certainly something completely different.  In fact I've
never seen GCC (common code) do anything even remotely like:
>GCC reserves an area big enough to hold the structure plus padding,
>so it can align the structure dynamically at runtime. It stores a
>pointer to the reserved area and a pointer to the structure within
>the area. 

Normally, attribute ((aligned)) does not cause any code to be
generated that attempts to dynamically adjust alignment at runtime,
it simply allows a variable to be aligned up to whatever default
stack frame alignment the platform ABI provides for.

It appears that the i386 back-end has some special code related to
the -mstackrealign option that may be involved here.  In any case,
this would be something for an i386 back-end person to look into.

Since this is a completely unrelated problem, I recommend you open
a separate bugzilla for it.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2006-09-05 12:47 ` uweigand at gcc dot gnu dot org
@ 2006-09-06  6:36 ` pinskia at gcc dot gnu dot org
  2006-09-06  6:46 ` thomas at reactsoft dot com
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-09-06  6:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from pinskia at gcc dot gnu dot org  2006-09-06 06:36 -------
(In reply to comment #2)
This problem is recorded in a different place, we ignore bigger alignment for
stack variables currently.  I don't have the number off hand either but I know
it has been filed.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2006-09-06  6:36 ` pinskia at gcc dot gnu dot org
@ 2006-09-06  6:46 ` thomas at reactsoft dot com
  2006-09-07  3:30 ` patchapp at dberlin dot org
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: thomas at reactsoft dot com @ 2006-09-06  6:46 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from thomas at reactsoft dot com  2006-09-06 06:46 -------
(In reply to comment #8)
> (In reply to comment #2)
> This problem is recorded in a different place, we ignore bigger alignment for
> stack variables currently.  I don't have the number off hand either but I know
> it has been filed.

Thanks. Before I posted the problem I already looked for the bug, this report
came very close (I believed) to what the problem could be. I'll see if I can
find the correct bug report.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2006-09-06  6:46 ` thomas at reactsoft dot com
@ 2006-09-07  3:30 ` patchapp at dberlin dot org
  2006-09-07 15:37 ` [Bug middle-end/28862] [4.0/4.1 " pinskia at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: patchapp at dberlin dot org @ 2006-09-07  3:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #10 from patchapp at dberlin dot org  2006-09-07 03:30 -------
Subject: Bug number PR middle-end/28862

A patch for this bug has been added to the patch tracker.
The mailing list url for the patch is
http://gcc.gnu.org/ml/gcc-patches/2006-09/msg00204.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (10 preceding siblings ...)
  2006-09-07  3:30 ` patchapp at dberlin dot org
@ 2006-09-07 15:37 ` pinskia at gcc dot gnu dot org
  2006-09-07 15:37 ` [Bug middle-end/28862] [4.0/4.1/4.2 " pinskia at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-09-07 15:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #12 from pinskia at gcc dot gnu dot org  2006-09-07 15:37 -------
Waiting for the testcase to settle before applying to the 4.1/4.0 branches.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|4.0.0 4.1.0 4.2.0           |4.0.0 4.1.0
      Known to work|3.4.0                       |3.4.0 4.2.0
            Summary|[4.0/4.1/4.2 Regression]    |[4.0/4.1 Regression]
                   |attribute ((aligned))       |attribute ((aligned))
                   |ignored on vector variables |ignored on vector variables


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1/4.2 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (11 preceding siblings ...)
  2006-09-07 15:37 ` [Bug middle-end/28862] [4.0/4.1 " pinskia at gcc dot gnu dot org
@ 2006-09-07 15:37 ` pinskia at gcc dot gnu dot org
  2006-10-04  7:01 ` [Bug middle-end/28862] [4.0/4.1 " pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-09-07 15:37 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #11 from pinskia at gcc dot gnu dot org  2006-09-07 15:37 -------
Subject: Bug 28862

Author: pinskia
Date: Thu Sep  7 15:36:50 2006
New Revision: 116751

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=116751
Log:
2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/28862
        * stor-layout.c (relayout_decl): Don't zero the alignment if it
        was set by the user.

2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/28862
        * gcc.c-torture/compile/vector-align-1.c: New test.


Added:
    trunk/gcc/testsuite/gcc.c-torture/compile/vector-align-1.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/stor-layout.c
    trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0/4.1 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (12 preceding siblings ...)
  2006-09-07 15:37 ` [Bug middle-end/28862] [4.0/4.1/4.2 " pinskia at gcc dot gnu dot org
@ 2006-10-04  7:01 ` pinskia at gcc dot gnu dot org
  2006-10-04  7:02 ` [Bug middle-end/28862] [4.0 " pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-04  7:01 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #13 from pinskia at gcc dot gnu dot org  2006-10-04 07:01 -------
Subject: Bug 28862

Author: pinskia
Date: Wed Oct  4 07:01:27 2006
New Revision: 117426

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=117426
Log:
2006-10-03  Andrew Pinski  <pinskia@physics.uc.edu>

       PR middle-end/28862
       * stor-layout.c (relayout_decl): Don't zero the alignment if it
       was set by the user.


2006-10-03  Andrew Pinski  <pinskia@physics.uc.edu>

       PR middle-end/28862
       * gcc.c-torture/compile/vector-align-1.c: New test.



Added:
   
branches/gcc-4_1-branch/gcc/testsuite/gcc.c-torture/compile/vector-align-1.c
      - copied unchanged from r116751,
trunk/gcc/testsuite/gcc.c-torture/compile/vector-align-1.c
Modified:
    branches/gcc-4_1-branch/configure
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/stor-layout.c
    branches/gcc-4_1-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (13 preceding siblings ...)
  2006-10-04  7:01 ` [Bug middle-end/28862] [4.0/4.1 " pinskia at gcc dot gnu dot org
@ 2006-10-04  7:02 ` pinskia at gcc dot gnu dot org
  2006-10-09  0:30 ` pinskia at gcc dot gnu dot org
  2006-10-09  0:31 ` pinskia at gcc dot gnu dot org
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-04  7:02 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #14 from pinskia at gcc dot gnu dot org  2006-10-04 07:01 -------
Now also fixed in 4.1.2.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|3.4.0 4.2.0                 |3.4.0 4.2.0 4.1.2
            Summary|[4.0/4.1 Regression]        |[4.0 Regression] attribute
                   |attribute ((aligned))       |((aligned)) ignored on
                   |ignored on vector variables |vector variables


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (14 preceding siblings ...)
  2006-10-04  7:02 ` [Bug middle-end/28862] [4.0 " pinskia at gcc dot gnu dot org
@ 2006-10-09  0:30 ` pinskia at gcc dot gnu dot org
  2006-10-09  0:31 ` pinskia at gcc dot gnu dot org
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-09  0:30 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #15 from pinskia at gcc dot gnu dot org  2006-10-09 00:30 -------
Subject: Bug 28862

Author: pinskia
Date: Mon Oct  9 00:30:11 2006
New Revision: 117567

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=117567
Log:
2006-10-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/28862
        * stor-layout.c (relayout_decl): Don't zero the alignment if it
        was set by the user.

2006-10-08  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/28862
        * gcc.c-torture/compile/vector-align-1.c: New test


Added:
   
branches/gcc-4_0-branch/gcc/testsuite/gcc.c-torture/compile/vector-align-1.c
      - copied unchanged from r116751,
trunk/gcc/testsuite/gcc.c-torture/compile/vector-align-1.c
Modified:
    branches/gcc-4_0-branch/gcc/ChangeLog
    branches/gcc-4_0-branch/gcc/stor-layout.c
    branches/gcc-4_0-branch/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [Bug middle-end/28862] [4.0 Regression] attribute ((aligned)) ignored on vector variables
  2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
                   ` (15 preceding siblings ...)
  2006-10-09  0:30 ` pinskia at gcc dot gnu dot org
@ 2006-10-09  0:31 ` pinskia at gcc dot gnu dot org
  16 siblings, 0 replies; 18+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-10-09  0:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #16 from pinskia at gcc dot gnu dot org  2006-10-09 00:31 -------
Fixed.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28862


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2006-10-09  0:31 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-26 22:22 [Bug c/28862] New: attribute ((aligned)) ignored on vector variables uweigand at gcc dot gnu dot org
2006-08-26 22:29 ` [Bug middle-end/28862] [4.0/4.1/4.2 Regression] " pinskia at gcc dot gnu dot org
2006-09-01  7:10 ` thomas at reactsoft dot com
2006-09-01  8:05 ` thomas at reactsoft dot com
2006-09-01 22:06 ` mmitchel at gcc dot gnu dot org
2006-09-05  4:52 ` pinskia at gcc dot gnu dot org
2006-09-05  7:11 ` thomas at reactsoft dot com
2006-09-05 12:41 ` uweigand at gcc dot gnu dot org
2006-09-05 12:47 ` uweigand at gcc dot gnu dot org
2006-09-06  6:36 ` pinskia at gcc dot gnu dot org
2006-09-06  6:46 ` thomas at reactsoft dot com
2006-09-07  3:30 ` patchapp at dberlin dot org
2006-09-07 15:37 ` [Bug middle-end/28862] [4.0/4.1 " pinskia at gcc dot gnu dot org
2006-09-07 15:37 ` [Bug middle-end/28862] [4.0/4.1/4.2 " pinskia at gcc dot gnu dot org
2006-10-04  7:01 ` [Bug middle-end/28862] [4.0/4.1 " pinskia at gcc dot gnu dot org
2006-10-04  7:02 ` [Bug middle-end/28862] [4.0 " pinskia at gcc dot gnu dot org
2006-10-09  0:30 ` pinskia at gcc dot gnu dot org
2006-10-09  0:31 ` pinskia at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).