This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/14237] suboptimal comparison between long and long long
- From: "kazu at cs dot umass dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 29 Feb 2004 04:10:45 -0000
- Subject: [Bug optimization/14237] suboptimal comparison between long and long long
- References: <20040221105326.14237.kazu@cs.umass.edu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From kazu at cs dot umass dot edu 2004-02-29 04:10 -------
Basically, in the testcase code, we have the following sequence before
the first CSE.
(parallel [(set (reg:DI 61)
(zero_extend:DI (reg:SI 59)))
(clobber (reg:CC 17 flags))])
:
:
(set (reg:CC 17 flags)
(compare:CC (subreg:SI (reg:DI 61) 4)
(subreg:SI (reg:DI 64) 4)))
Note that (subreg:SI (reg:DI 61) 4) is 0 because of zero_extend.
Then I found this patch, which is for PR 13335.
http://gcc.gnu.org/ml/gcc-patches/2003-11/msg01611.html
Unfortunately, the patch didn't solve the problem. I haven't analyzed
whether it has made this PR any easier to solve, but it at least shows
one way in which we can solve this PR.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14237