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.to...@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.
zee.patch
Description: Binary data