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: [email protected]
ReportedBy: [email protected]
CC: [email protected]
[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]$