[Bug optimization/11825] Redundant move in some cases (dead code before return) for long long on 32bit targets
pinskia at physics dot uc dot edu
gcc-bugzilla@gcc.gnu.org
Wed Aug 6 12:37:00 GMT 2003
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).
More information about the Gcc-bugs
mailing list