This is the mail archive of the mailing list for the glibc project.

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

[Bug libc/12872] Wrong alignment of La_x86_64_vector

--- Comment #4 from H.J. Lu < 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

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

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