[Bug target/50038] redundant zero extensions

tocarip.intel at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Sep 27 11:08:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50038

--- Comment #2 from tocarip.intel at gmail dot com 2011-09-27 10:15:15 UTC ---
Created attachment 25369
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25369
Possible solution

Here is an experimental patch which solves this problem. I modified
implicit-zee  pass to also eliminate useless zero-extensions from QImode to
SImode. With this patch  rgbyiqv test from EEMBC 2.0 benchmark showed 6%
improvement. However after this patch implicit-zee may became useful for
additional targets. For example it became beneficial to 32-bit x86 (+4% on
rgbyiqv).

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.



More information about the Gcc-bugs mailing list