This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/36222] New: x86 fails to optimize out __v4si -> __m128i move
- From: "hjl dot tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 May 2008 15:37:35 -0000
- Subject: [Bug target/36222] New: x86 fails to optimize out __v4si -> __m128i move
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
[hjl@gnu-6 sse-1]$ cat d.c
#include <emmintrin.h>
__m128i
foo2 (int x1, int x2, int x3, int x4)
{
return _mm_set_epi32 (x1, x2, x3, x4);
}
[hjl@gnu-6 sse-1]$ make d.s
/export/build/gnu/gcc-stack-internal/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-stack-internal/build-x86_64-linux/gcc/ -msse4
-march=core2 -m3dnow -msse5 -maes -mpclmul -Wall -O2 -S d.c
[hjl@gnu-6 sse-1]$ cat d.s
.file "d.c"
.text
.p2align 4,,15
.globl foo2
.type foo2, @function
foo2:
.LFB518:
movd %edx, %xmm0
movd %edi, %xmm2
movd %ecx, %xmm1
punpckldq %xmm0, %xmm1
movd %esi, %xmm0
punpckldq %xmm2, %xmm0
movq %xmm1, %xmm2
punpcklqdq %xmm0, %xmm2
movdqa %xmm2, %xmm0 <<< --- Can we optimize it out?
ret
--
Summary: x86 fails to optimize out __v4si -> __m128i move
Product: gcc
Version: 4.4.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: hjl dot tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36222