public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libc/12872] New: Wrong alignment of La_x86_64_vector
@ 2011-06-10  5:29 hjl.tools at gmail dot com
  2011-07-07  3:57 ` [Bug libc/12872] " drepper.fsp at gmail dot com
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: hjl.tools at gmail dot com @ 2011-06-10  5:29 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=12872

           Summary: Wrong alignment of La_x86_64_vector
           Product: glibc
           Version: 2.14
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
        AssignedTo: drepper.fsp@gmail.com
        ReportedBy: hjl.tools@gmail.com


sysdeps/x86_64/bits/link.h has

/* Registers for entry into PLT on x86-64.  */
# if __GNUC_PREREQ (4,0)
typedef float La_x86_64_xmm __attribute__ ((__vector_size__ (16)));
typedef float La_x86_64_ymm __attribute__ ((__vector_size__ (32)));
# else
typedef float La_x86_64_xmm __attribute__ ((__mode__ (__V4SF__)));
# endif

typedef union
{
# if __GNUC_PREREQ (4,0)
  La_x86_64_ymm ymm[2];
# endif
  La_x86_64_xmm xmm[4];
} La_x86_64_vector __attribute__ ((aligned(16)));


It makes La_x86_64_vector aligned at 16byte. Any access
to ymm field may cause unaligned access.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug libc/12872] Wrong alignment of La_x86_64_vector
  2011-06-10  5:29 [Bug libc/12872] New: Wrong alignment of La_x86_64_vector hjl.tools at gmail dot com
@ 2011-07-07  3:57 ` drepper.fsp at gmail dot com
  2011-07-07  4:12 ` hjl.tools at gmail dot com
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: drepper.fsp at gmail dot com @ 2011-07-07  3:57 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=12872

Ulrich Drepper <drepper.fsp at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WONTFIX

--- Comment #1 from Ulrich Drepper <drepper.fsp at gmail dot com> 2011-07-07 03:57:19 UTC ---
The alignment is what it is.  This is an data structure which is part of the
interface of .  It cannot be changed.  Use unaligned accesses.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug libc/12872] Wrong alignment of La_x86_64_vector
  2011-06-10  5:29 [Bug libc/12872] New: Wrong alignment of La_x86_64_vector hjl.tools at gmail dot com
  2011-07-07  3:57 ` [Bug libc/12872] " drepper.fsp at gmail dot com
@ 2011-07-07  4:12 ` hjl.tools at gmail dot com
  2011-07-08 17:10 ` drepper.fsp at gmail dot com
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: hjl.tools at gmail dot com @ 2011-07-07  4:12 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=12872

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> 2011-07-07 04:12:20 UTC ---
(In reply to comment #1)
> The alignment is what it is.  This is an data structure which is part of the
> interface of .  It cannot be changed.  Use unaligned accesses.

Then La_x86_64_ymm should be marked as 16byte aligned.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug libc/12872] Wrong alignment of La_x86_64_vector
  2011-06-10  5:29 [Bug libc/12872] New: Wrong alignment of La_x86_64_vector hjl.tools at gmail dot com
  2011-07-07  3:57 ` [Bug libc/12872] " drepper.fsp at gmail dot com
  2011-07-07  4:12 ` hjl.tools at gmail dot com
@ 2011-07-08 17:10 ` drepper.fsp at gmail dot com
  2011-07-08 17:16 ` hjl.tools at gmail dot com
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: drepper.fsp at gmail dot com @ 2011-07-08 17:10 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=12872

--- Comment #3 from Ulrich Drepper <drepper.fsp at gmail dot com> 2011-07-08 17:09:57 UTC ---
(In reply to comment #2)
> (In reply to comment #1)
> > The alignment is what it is.  This is an data structure which is part of the
> > interface of .  It cannot be changed.  Use unaligned accesses.
> 
> Then La_x86_64_ymm should be marked as 16byte aligned.

Why is this necessary?  The La_x86_64_ymm values are never accessed directly. 
They are part of La_x86_64_vector and that union (thanks to one of your
patches) is aligned to 16 bytes.  This should be enough.  Where exactly are the
problematic uses?

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug libc/12872] Wrong alignment of La_x86_64_vector
  2011-06-10  5:29 [Bug libc/12872] New: Wrong alignment of La_x86_64_vector hjl.tools at gmail dot com
                   ` (2 preceding siblings ...)
  2011-07-08 17:10 ` drepper.fsp at gmail dot com
@ 2011-07-08 17:16 ` hjl.tools at gmail dot com
  2011-07-09 23:58 ` drepper.fsp at gmail dot com
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: hjl.tools at gmail dot com @ 2011-07-08 17:16 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=12872

--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> 2011-07-08 17:15:55 UTC ---
(In reply to comment #3)
> (In reply to comment #2)
> > (In reply to comment #1)
> > > The alignment is what it is.  This is an data structure which is part of the
> > > interface of .  It cannot be changed.  Use unaligned accesses.
> > 
> > Then La_x86_64_ymm should be marked as 16byte aligned.
> 
> Why is this necessary?  The La_x86_64_ymm values are never accessed directly. 
> They are part of La_x86_64_vector and that union (thanks to one of your
> patches) is aligned to 16 bytes.  This should be enough.  Where exactly are the
> problematic uses?

The ymm field may be used:

[hjl@gnu-6 elf]$ grep La_x86_64_ymm *.c   
tst-auditmod4b.c:      = (La_x86_64_ymm) _mm256_set1_epi32 (i + 1);
tst-auditmod4b.c:    = (La_x86_64_ymm) _mm256_set1_epi32 (0x12349876);
tst-auditmod6b.c:        = (La_x86_64_ymm) _mm256_set1_epi32 (i + 2);
tst-auditmod6b.c:    = (La_x86_64_ymm) _mm256_set1_epi32 (0x12349876);
tst-auditmod6c.c:        = (La_x86_64_ymm) _mm256_set1_epi32 (i + 0x101);
tst-auditmod6c.c:    = (La_x86_64_ymm) _mm256_set1_epi32 (0x98abcdef);
tst-auditmod7b.c:        = (La_x86_64_ymm) _mm256_set1_epi32 (i + 0x101);
tst-auditmod7b.c:    = (La_x86_64_ymm) _mm256_set1_epi32 (0x98abcdef);
[hjl@gnu-6 elf]$ 

Compiler thinks it is aligned at 32byte and generates aligned 32bye vector
move.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug libc/12872] Wrong alignment of La_x86_64_vector
  2011-06-10  5:29 [Bug libc/12872] New: Wrong alignment of La_x86_64_vector hjl.tools at gmail dot com
                   ` (3 preceding siblings ...)
  2011-07-08 17:16 ` hjl.tools at gmail dot com
@ 2011-07-09 23:58 ` drepper.fsp at gmail dot com
  2011-07-11  1:27 ` hjl.tools at gmail dot com
  2014-06-24  8:37 ` fweimer at redhat dot com
  6 siblings, 0 replies; 8+ messages in thread
From: drepper.fsp at gmail dot com @ 2011-07-09 23:58 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=12872

--- Comment #5 from Ulrich Drepper <drepper.fsp at gmail dot com> 2011-07-09 23:58:08 UTC ---
(In reply to comment #4)
> The ymm field may be used:
> 
> [hjl@gnu-6 elf]$ grep La_x86_64_ymm *.c   
> tst-auditmod4b.c:      = (La_x86_64_ymm) _mm256_set1_epi32 (i + 1);

But in all these cases the ymm field is in an La_x86_64_vector which is aligned
ti 16 bytes.  The compiler should recognize this.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug libc/12872] Wrong alignment of La_x86_64_vector
  2011-06-10  5:29 [Bug libc/12872] New: Wrong alignment of La_x86_64_vector hjl.tools at gmail dot com
                   ` (4 preceding siblings ...)
  2011-07-09 23:58 ` drepper.fsp at gmail dot com
@ 2011-07-11  1:27 ` hjl.tools at gmail dot com
  2014-06-24  8:37 ` fweimer at redhat dot com
  6 siblings, 0 replies; 8+ messages in thread
From: hjl.tools at gmail dot com @ 2011-07-11  1:27 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=12872

--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> 2011-07-11 01:27:01 UTC ---
I opened:

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

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


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

* [Bug libc/12872] Wrong alignment of La_x86_64_vector
  2011-06-10  5:29 [Bug libc/12872] New: Wrong alignment of La_x86_64_vector hjl.tools at gmail dot com
                   ` (5 preceding siblings ...)
  2011-07-11  1:27 ` hjl.tools at gmail dot com
@ 2014-06-24  8:37 ` fweimer at redhat dot com
  6 siblings, 0 replies; 8+ messages in thread
From: fweimer at redhat dot com @ 2014-06-24  8:37 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=12872

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|                            |security-

-- 
You are receiving this mail because:
You are on the CC list for the bug.


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

end of thread, other threads:[~2014-06-24  8:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-10  5:29 [Bug libc/12872] New: Wrong alignment of La_x86_64_vector hjl.tools at gmail dot com
2011-07-07  3:57 ` [Bug libc/12872] " drepper.fsp at gmail dot com
2011-07-07  4:12 ` hjl.tools at gmail dot com
2011-07-08 17:10 ` drepper.fsp at gmail dot com
2011-07-08 17:16 ` hjl.tools at gmail dot com
2011-07-09 23:58 ` drepper.fsp at gmail dot com
2011-07-11  1:27 ` hjl.tools at gmail dot com
2014-06-24  8:37 ` fweimer at redhat dot com

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).