[Bug target/60863] New: Incorrect codegen in ix86_expand_clear for -Os

hjl.tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Apr 16 15:44:00 GMT 2014


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

            Bug ID: 60863
           Summary: Incorrect codegen in ix86_expand_clear for -Os
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hjl.tools at gmail dot com
                CC: ubizjak at gmail dot com

ix86_expand_clear has

  /* This predicate should match that for movsi_xor and movdi_xor_rex64.  */
  if (!TARGET_USE_MOV0 || optimize_insn_for_speed_p ())
    {
      rtx clob = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (CCmode, FLAGS_REG));
      tmp = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, tmp, clob));
    }

But "xor reg,reg" has shorter encoding than "mov $0, reg".  If
"xor reg,reg" is generated for -O, shouldn't it also be generated
for -Os?



More information about the Gcc-bugs mailing list