This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug optimization/14237] suboptimal comparison between long and long long


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]