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]

[patch RFC,PR50038]


Hi everyone,

This patch fixes PR 50038 (redundant zero extensions) by modifying
implicit-zee pass
to also remove unneeded zero extensions from QImode to SImode.
There is  6% improvement in rgbyiqv test from EEMBC 2.0 benchmark on x86-64.
I am not sure if this is correct approach ( tom modify  implicit-zee
pass), so comments are welcome.
Also if this aproach is correct we will need to enable  implicit-zee
pass on some new targets ( for example x86 32bit).

It passes bootstrap and make-check.

Here is a Changelog:

2011-09-27  Ilya Tocar  <ilya.tocar@intel.com>

    * implicit-zee.c: Added 2011 to copyright.
    (combine_set_zero_extend): Add QImode.
    (merge_def_and_ze): Likewise.
    (add_removable_zero_extend): Likewise.
    (not_qi_to_si): New.
    (make_defs_and_copies_lists): Add check for QImode.

Attachment: zee.patch
Description: Binary data


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