This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/11825] Redundant move in some cases (dead code before return) for long long on 32bit targets
- From: "pinskia at physics dot uc dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 6 Aug 2003 12:37:33 -0000
- Subject: [Bug optimization/11825] Redundant move in some cases (dead code before return) for long long on 32bit targets
- References: <20030806090025.11825.alga@rgai.hu>
- 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=11825
pinskia at physics dot uc dot edu changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|minor |enhancement
Status|UNCONFIRMED |NEW
Component|target |optimization
Ever Confirmed| |1
GCC target triplet|arm-unknown-elf |arm-*-elf, powerpc-*-*
Keywords| |pessimizes-code
Last reconfirmed|0000-00-00 00:00:00 |2003-08-06 12:37:31
date| |
Summary|[ARM] Redundant move in some|Redundant move in some cases
|cases (dead code before |(dead code before return)
|return) |for long long on 32bit
| |targets
------- Additional Comments From pinskia at physics dot uc dot edu 2003-08-06 12:37 -------
A fix might to add to combine:
(set b (ashiftrt:DI a (const_int 32))
(set c (subreg:SI b 4))
To (set c (subreg:SI a 8))
(Aka b = a >> 32; c = (int)b; To c = (upper part of long long)b; where b and a are long
long's).
This also happens on powerpc-*-*. I can confirm this on the mainline (20030806).