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] |
This is another micro-optimisation in change_zero_ext. If an (and (lshiftrt ... (N)) (M)) generated by change_zero_ext is equivalent to just (lshiftrt ... (N)) (because the AND constant selects the N rightmost bits of the result), strip off the AND. _But_ I'm still not completely convinced whether this is a good idea. It may become necessary to add md patterns to deal with just the LSHIFTRT. On the other hand it saves the need for another special case in change_zero_ext, and a less obvious, very specific risbg pattern on s390 -- Bootstrapped and regression tested on s390x and s390. (Targets with risbg-like instructions (Power, others?) may need some tuning.) Ciao Dominik ^_^ ^_^ -- Dominik Vogt IBM Germany
Attachment:
0001-ChangeLog
Description: Text document
Attachment:
0001-combine-Omit-redundant-AND-in-change_zero_ext.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |