This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/46011] New: 256bit vectorizer failed on double->int
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 14 Oct 2010 08:31:29 +0000
- Subject: [Bug middle-end/46011] New: 256bit vectorizer failed on double->int
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46011
Summary: 256bit vectorizer failed on double->int
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: hjl.tools@gmail.com
For gcc.target/i386/vectorize4-avx.c, vect256 branch
generates:
.L2:
vmovaps -120(%rsp,%rax), %ymm0
vcvtps2pd %xmm0, %ymm1
vextractf128 $0x1, %ymm0, %xmm0
vsqrtpd %ymm1, %ymm1
vcvttpd2dqy %ymm1, %xmm1
vmovdqu %xmm1, (%rdi,%rax)
vcvtps2pd %xmm0, %ymm0
vsqrtpd %ymm0, %ymm0
vcvttpd2dqy %ymm0, %xmm0
vmovdqu %xmm0, 16(%rdi,%rax)
addq $32, %rax
cmpq $1024, %rax
jne .L2
Trunk at revision 165455 generates
.L2:
vmovaps -120(%rsp,%rax), %xmm1
vmovhlps %xmm1, %xmm0, %xmm0
vcvtps2pd %xmm1, %xmm2
vsqrtpd %xmm2, %xmm2
vcvttpd2dqx %xmm2, %xmm2
vcvtps2pd %xmm0, %xmm1
vsqrtpd %xmm1, %xmm1
vcvttpd2dqx %xmm1, %xmm1
vpunpcklqdq %xmm1, %xmm2, %xmm1
vmovdqu %xmm1, (%rdi,%rax)
addq $16, %rax
cmpq $1024, %rax
jne .L2