This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/22432] [4.0/4.1 Regression] Wrong code generation using MMX intrinsics on amd64
- From: "pluto at agmk dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Oct 2005 16:00:01 -0000
- Subject: [Bug target/22432] [4.0/4.1 Regression] Wrong code generation using MMX intrinsics on amd64
- References: <bug-22432-6237@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from pluto at agmk dot net 2005-10-27 16:00 -------
With my patched gcc-4.1.0-20051019 the testcase works.
Applied patches: PR7776, PR20297, PR22429, PR22533, PR23948,
PR19505, PR20606, PR24069, PR24419, PR24172, PR24295, PR20928
[builder2@estel BUILD]$ gcc -Wall -O2 pr22432.c -S -march=x86-64
[builder2@estel BUILD]$ cat pr22432.s
.file "pr22432.c"
.section .rodata.str1.1,"aMS",@progbits,1
.LC0: .string "pr22432.c"
.LC1: .string "a == 0xffffffff"
.section .rodata.cst8,"aM",@progbits,8
.align 8
.LC2: .long 269488144
.long 0
.align 8
.LC3: .long -1
.long 0
.text
.p2align 4,,15
.globl main
.type main, @function
main: pushl %ebp
movl %esp, %ebp
subl $56, %esp
leal -4(%ebp), %eax
andl $-16, %esp
subl $16, %esp
cmpl %ebp, %eax
jae .L9
movl $0, -24(%ebp)
movl $0, -20(%ebp)
movq -24(%ebp), %mm2
movq .LC2, %mm0
movq .LC3, %mm1
punpcklbw %mm2, %mm0
punpcklbw %mm2, %mm1
paddw %mm1, %mm0
packuswb %mm2, %mm0
movd %mm0, -28(%ebp)
emms
cmpl $-1, -28(%ebp)
jne .L10
leave
xorl %eax, %eax
ret
.L9: emms
leave
xorl %eax, %eax
ret
.L10: movl $__PRETTY_FUNCTION__.2544, 12(%esp)
movl $30, 8(%esp)
movl $.LC0, 4(%esp)
movl $.LC1, (%esp)
call __assert_fail
.size main, .-main
.section .rodata
.type __PRETTY_FUNCTION__.2544, @object
.size __PRETTY_FUNCTION__.2544, 5
__PRETTY_FUNCTION__.2544:
.string "main"
.ident "GCC: (GNU) 4.1.0 20051019 (experimental)"
.section .note.GNU-stack,"",@progbits
[builder2@estel BUILD]$ gcc -Wall -O2 pr22432.c -save-temps -march=x86-64
[builder2@estel BUILD]$ ./a.out ; echo $?
0
--
pluto at agmk dot net changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |pluto at agmk dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22432