[Bug target/41081] redundant ZERO_EXTENDs

amodra at bigpond dot net dot au gcc-bugzilla@gcc.gnu.org
Sun Aug 16 03:05:00 GMT 2009



------- Comment #3 from amodra at bigpond dot net dot au  2009-08-16 03:05 -------
Created an attachment (id=18374)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18374&action=view)
aims to teach gcc that rotate/shift insn input register's high bits are ignored

This patch is aimed at the "79 other redundant clrldi", removing 59 cases on
rotate/shift input.  I'm not particularly happy with it due to hack for
LOAD_EXTEND_OP zero_extends.  Before I discovered that particular problem,
fwprop seemed a natural place to teach gcc about insn inputs.  If we don't
leave those zero_extends alone, some rotate insns will take their input
directly from the load, while other insns still need the zero_extend.  This
prevents combine from removing the zero_extend on loads.


-- 


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



More information about the Gcc-bugs mailing list