This is the mail archive of the gcc@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]

Re: RFA: Combine issue



Am I misinterpreting the logic? Am I missing something fundamental? I appreciate any feedback / pointers / clues / etc...

Nothing like hitting the send button to make the lightbulb go on.


I think I understand what was being attempted now. IIUC, the logic should have been (again, for the QI/SI instance):

If at least _26_ bits are set, and if c1 is < 64, ok to make the transformation.

In this case, I don't see an instance where "compare (subreg (a - c1), c2)" is not equivalent to "compare (a - c1, c2)". It appears to be a simple typo in the last line of the conditional:

(GET_MODE_BITSIZE (inner_mode) - mode_width - 1)

Should be:

(GET_MODE_BITSIZE (inner_mode) - (mode_width - 1))

or:

(GET_MODE_BITSIZE (inner_mode) - mode_width + 1)

I'll run this through a number of tests and submit an actual patch, unless I'm still missing something...

- Josh


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