This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/14559] New: casts between vector pointer types are very slow
- From: "michaelni at gmx dot at" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Mar 2004 17:38:00 -0000
- Subject: [Bug optimization/14559] New: casts between vector pointer types are very slow
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
see attached trivial code (return *(mmxdw*)&w;)
gcc testyy.c -O3 -mtune=pentium3 -march=pentium3 -fomit-frame-pointer
generates:
test:
subl $20, %esp
movl 24(%esp), %eax
movq %mm0, 8(%esp)
movl 8(%esp), %ecx
movl 12(%esp), %edx
movl %ecx, (%esp)
movl %edx, 4(%esp)
movq (%esp), %mm0
movq %mm0, (%eax)
addl $20, %esp
ret $4
human generator:
movl 4(%esp), %eax
movq %mm0, (%eax)
ret $4
additionally note, that reading after writing from the same address with a
different size may cause partial memory stalls
--
Summary: casts between vector pointer types are very slow
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: michaelni at gmx dot at
CC: gcc-bugs at gcc dot gnu dot org
GCC host triplet: pentium3-debian-linux
GCC target triplet: pentium3-debian-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14559