This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/11628] movd support for _mm_cvtsi32_si64 and _mm_cvtsi64_si32
- From: "uros at kss-loka dot si" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Nov 2004 14:58:36 -0000
- Subject: [Bug target/11628] movd support for _mm_cvtsi32_si64 and _mm_cvtsi64_si32
- References: <20030722041707.11628.dean-gcc@arctic.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From uros at kss-loka dot si 2004-11-30 14:58 -------
'gcc -O -march=pentium4 -fomit-frame-pointer -S t32.c' now produces:
.file "t32.c"
.text
.globl old_64_to_32
.type old_64_to_32, @function
old_64_to_32:
subl $12, %esp
movq %mm0, (%esp)
movl (%esp), %eax
addl $12, %esp
ret
.size old_64_to_32, .-old_64_to_32
.globl new_64_to_32
.type new_64_to_32, @function
new_64_to_32:
subl $12, %esp
movq %mm0, (%esp)
movl (%esp), %eax
addl $12, %esp
ret
.size new_64_to_32, .-new_64_to_32
.globl old_32_to_64
.type old_32_to_64, @function
old_32_to_64:
movl 4(%esp), %eax
movd 8(%esp), %mm0
movq %mm0, (%eax)
ret $4
.size old_32_to_64, .-old_32_to_64
.globl new_32_to_64
.type new_32_to_64, @function
new_32_to_64:
movl 4(%esp), %eax
movd 8(%esp), %mm0
movq %mm0, (%eax)
ret $4
.size new_32_to_64, .-new_32_to_64
.ident "GCC: (GNU) 4.0.0 20041130 (experimental)"
.section .note.GNU-stack,"",@progbits
new_* and old_* functions produce the same code.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11628