This is the mail archive of the gcc-patches@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] |
Here is the updated patch with your comments taken into account. On Sunday, Dec 1, 2002, at 18:12 US/Pacific, David Edelsohn wrote:
This was my first real looking into the machine description file, that is why I generated only one psuedo.2002-12-01 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/rs6000.md: Document unspec ID for cntlz{d,w}2. (ffssi): Change to an expand. (ffsdi): Likewise. (cntlzw2): Add. (cntlzd2): Likewise. This concept is fine. If you are going to convert the two ffs patterns into expanders, why are you only generating one psuedo for the intermediate operations?
You should create a pseudo for each step and let the compiler collapse theI see a case where one intermediate computation is used but it should have reused the whole computation (temp),
pseudos during register allocation so that CSE can have opportunities to
re-use intermediate computations.
I was finding what the '%' or even '&' meant in the docs until you said anything.Why did you add a commutative modifier to the output constraint? (set (match_operand:SI 0 "gpc_reg_operand" "=%r") -^- With what is the output operand suppose to commute?
Attachment:
temp.diff
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |