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

           Summary: Aligned load on unaligned address
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: hjl.to...@gmail.com
                CC: ubiz...@gmail.com


[hjl@gnu-6 tmp]$ cat a.c
#include <emmintrin.h>

struct foo
{
  __m128 x;
} __attribute__ ((aligned(8)));

extern struct foo x;

__m128
foo ()
{
 return x.x;
}
[hjl@gnu-6 tmp]$ gcc -msse2 -O a.c -S    
[hjl@gnu-6 tmp]$ cat a.s
    .file    "a.c"
    .text
    .globl    foo
    .type    foo, @function
foo:
.LFB516:
    .cfi_startproc
    movaps    x(%rip), %xmm0
    ret
    .cfi_endproc
.LFE516:
    .size    foo, .-foo
    .ident    "GCC: (GNU) 4.6.0 20110530 (Red Hat 4.6.0-9)"
    .section    .note.GNU-stack,"",@progbits
[hjl@gnu-6 tmp]$

Reply via email to