This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/11662] [SPARC] -O1: wrong code for expr. with cast to long long and exclusive or
- From: "heinrich dot brand at fujitsu-siemens dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Jul 2003 16:21:33 -0000
- Subject: [Bug optimization/11662] [SPARC] -O1: wrong code for expr. with cast to long long and exclusive or
- References: <20030724145955.11662.heinrich.brand@fujitsu-siemens.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11662
------- Additional Comments From heinrich dot brand at fujitsu-siemens dot com 2003-07-24 16:21 -------
Subject: AW: [SPARC] -O1: wrong code for expr. wi
th cast to long long and exclusive or
No it fails with -01 -fno-delayed-branch too.
This is my assembler file for -O1 -S
(code for the expression ( (( (unsigned long long)a ^ (unsigned long long)b ) & c) ) is not in function Test. -fno-delayed-branch does not change function Test):
.file "x.c"
.section ".text"
.align 4
.global Test
.type Test, #function
.proc 020
Test:
!#PROLOGUE# 0
!#PROLOGUE# 1
mov 0, %o4
mov 0, %o5
sethi %hi(r), %g1
retl
std %o4, [%g1+%lo(r)]
.size Test, .-Test
.section ".rodata"
.align 8
.LLC1:
.asciz "FAILED"
.align 8
.LLC0:
.asciz "PASSED"
.section ".text"
.align 4
.global main
.type main, #function
.proc 04
main:
!#PROLOGUE# 0
save %sp, -112, %sp
!#PROLOGUE# 1
mov 1, %o0
mov 2, %o1
mov 0, %o2
call Test, 0
mov 3, %o3
sethi %hi(r), %g1
or %g1, %lo(r), %o5
ld [%g1+%lo(r)], %g1
cmp %g1, 0
bne .LL5
sethi %hi(.LLC1), %o0
ld [%o5+4], %g1
cmp %g1, 3
bne .LL5
nop
sethi %hi(.LLC0), %o0
call puts, 0
or %o0, %lo(.LLC0), %o0
b .LL2
mov 0, %i0
.LL5:
call puts, 0
or %o0, %lo(.LLC1), %o0
mov 1, %i0
.LL2:
nop
ret
restore
.size main, .-main
.local r
.common r,8,8
.ident "GCC: (GNU) 3.3"
-----Ursprüngliche Nachricht-----
Von: pinskia at physics dot uc dot edu [mailto:gcc-bugzilla@gcc.gnu.org]
Gesendet: Donnerstag, 24. Juli 2003 17:21
An: Brand, Heinrich
Betreff: [Bug optimization/11662] [SPARC] -O1: wrong code for expr. with
cast to long long and exclusive or
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11662
pinskia at physics dot uc dot edu changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Summary|[SPARC] -O1: wrong code for |[SPARC] -O1: wrong code for
|expr. with cast to long long|expr. with cast to long long
|and exclusive or |and exclusive or
------- Additional Comments From pinskia at physics dot uc dot edu 2003-07-24 15:20 -------
Does this work with -fno-delayed-branch?
I do not know the rules on sparc for delay slots of branch instructions so if it works with that then
that is the problem because looking to at the asm looks right except for the store after the return.
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.
-----Ursprüngliche Nachricht-----
Von: pinskia at physics dot uc dot edu [mailto:gcc-bugzilla@gcc.gnu.org]
Gesendet: Donnerstag, 24. Juli 2003 17:21
An: Brand, Heinrich
Betreff: [Bug optimization/11662] [SPARC] -O1: wrong code for expr. with
cast to long long and exclusive or
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11662
pinskia at physics dot uc dot edu changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
Summary|[SPARC] -O1: wrong code for |[SPARC] -O1: wrong code for
|expr. with cast to long long|expr. with cast to long long
|and exclusive or |and exclusive or
------- Additional Comments From pinskia at physics dot uc dot edu 2003-07-24 15:20 -------
Does this work with -fno-delayed-branch?
I do not know the rules on sparc for delay slots of branch instructions so if it works with that then
that is the problem because looking to at the asm looks right except for the store after the return.
------- You are receiving this mail because: -------
You reported the bug, or are watching the reporter.